You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@tuscany.apache.org by Mario Grotschar <ma...@gmail.com> on 2010/07/06 14:33:05 UTC

Re: Qpid functionality in Tuscany

Tanks for your reply.

One question to the tuscany frame work.

In the project the tuscany_sca_native-1.0-incubator-M3 ist used. There I can
find in the src a directory

-- src
    `-- tuscany
        `-- sca
            |-- core
            |-- extension
            |-- model
            `-- util


|-- core
|   |-- Exceptions.cpp
|   |-- Exceptions.h
|   |-- Operation.cpp
|   |-- Operation.h
|   |-- SCARuntime.cpp
|   |-- SCARuntime.h
|   |-- ServiceProxy.cpp
|   |-- ServiceProxy.h
|   |-- ServiceWrapper.cpp
|   `-- ServiceWrapper.h

|-- extension
|   |-- ImplementationExtension.cpp
|   |-- ImplementationExtension.h
|   |-- InterfaceExtension.cpp
|   |-- InterfaceExtension.h
|   |-- ReferenceBindingExtension.cpp
|   |-- ReferenceBindingExtension.h
|   |-- ServiceBindingExtension.cpp
|   `-- ServiceBindingExtension.h

In the newer version in the svn trunk i can only see a directory

|-- kernel
|   |-- Makefile.am
|   |-- config.hpp
|   |-- dynlib-test.cpp
|   |-- dynlib.hpp
|   |-- element.hpp
|   |-- fstream.hpp
|   |-- function.hpp
|   |-- gc.hpp
|   |-- hash-test.cpp
|   |-- hash.hpp
|   |-- kernel-test.cpp
|   |-- lambda-test.cpp
|   |-- list.hpp
|   |-- mem-test.cpp
|   |-- monad.hpp
|   |-- parallel-test.cpp
|   |-- parallel.hpp
|   |-- perf.hpp
|   |-- sstream.hpp
|   |-- stream.hpp
|   |-- string-test.cpp
|   |-- string.hpp
|   |-- tree.hpp
|   |-- value.hpp
|   |-- xml-test.cpp
|   |-- xml.hpp
|   `-- xsd-test.cpp

I cannot find the corresponding files that incorporate the logic. Am i
missing something?

BR and thanks in advance,

Mario

2010/6/15 Jean-Sebastien Delfino <js...@apache.org>

> Mario Grotschar wrote:
>
>> Thanks for this good explanation.
>>
>
> Hi, sorry for the delay responding, I'm on vacation, traveling with limited
> access to email.
>
>
>  In the course of an university project, I would like to write a queue
>> binding, most likely using qpid.
>>
>
> Great! I'll try to help you as much as possible.
>
>
> As I understand the advantage of a real
>
>> binding, is that its more transparent and you can use the interceptors for
>> formatting etc. Is there any other advantage?
>>
>
> It really depends on what you mean by transparent. A binding requires you
> to add a <binding.qpid> element to your service or reference. As shown in
> the .composite snippets below, a component allows you to push the Qpid
> configuration further away from your application component, in another
> component. So one could argue that a component is more 'transparent'.
>
> It would be interesting to hear opinions from other Tuscany developers and
> users on this.
>
> In terms of runtime complexity, a binding may allow you to save a hop
> through another component, at the expense of more runtime plumbing.
>
> For example, imagine you want to bind a particular service to SOAP /
> Axis2c, Apache Thrift and Qpidc. You'll probably have to create four
> processes (or threads):
> 1) HTTPD configured with Axis2C for SOAP
> 2) a Thrift server
> 3) a Qpidc listener
> 4) a process running your component implementation
> and some inter-process/thread communication between 1/2/3 and 4.
>
> Doesn't that look similar to four components? :)
>
>
>  For the java version there is some introduction on how to extend the
>> runtime. Is there something similar for the c++ version?
>>
>
> Yes, in this email :)
>
> Here are several ways to extend the runtime with a new binding:
>
> a) Read the .composite containing the binding configuration and translate
> it to an equivalent .composite containing a component configuration. I'd
> suggest that approach as a first step, as it'll allow you to experiment with
> the binding configuration (and refine the SCDL language extension for that
> binding) without requiring new runtime plumbing. You'll find code to read
> SCDL in modules/scdl [2].
>
> b) For a service binding, implement a server process that listens on the
> particular protocol you want to support in the binding (a Qpid listener
> here) and dispatches/relays messages to the application component providing
> the service (easy to do with the proxy functions in modules/http [3]).
>
> c) For a reference binding, make a small change to the mkrefProxy function
> in mod-eval.hpp [4] to create Qpid proxies in addition to HTTP proxies, or
> come up with a generic and extensible mkrefProxy function that looks at the
> binding configuration to create the proper proxy type.
>
>
>
>  2010/6/3 Jean-Sebastien Delfino <js...@apache.org>
>>
>>  Mario Grotschar wrote:
>>>
>>>  One more question :-). I have noticed that in the Java Framework of
>>>> Tuscany
>>>> there is a JMS binding. Does Tuscany Java come with an embedded
>>>> JMS-Provider?
>>>>
>>>>  The Tuscany 1.x Java distributions include Apache ActiveMQ.
>>>
>>> I couldn't find ActiveMQ in the Tuscany 2.x Java distributions, but
>>> that's
>>> what the 2.x test cases use as well.
>>>
>>>
>>> Is there a specific reason why qpid was implemented as a
>>>
>>>> component and not integrated as a binding in the Native Tuscany?
>>>>
>>>>  It was just simpler for me to write an application component than
>>> extend
>>> the runtime with plumbing code to define and support a specific binding.
>>>
>>> The syntax with a component is a little different. For example, say I
>>> have
>>> a component "Foo", with a reference "bar" used to send messages to Qpid
>>> with
>>> key "xyz".
>>>
>>> With a full blown Qpid binding I'd be able to write something like:
>>> <component name="Foo">
>>>  <t:implementation.python script="foo.py"/>
>>>  <reference name="bar">
>>>   <t:binding.qpid>
>>>       <key>xyz</key>
>>>   </t:binding.qpid>
>>>  </reference>
>>> </component>
>>>
>>> With a Qpid component, I have to write:
>>> <component name="Foo">
>>>  <t:implementation.python script="foo.py"/>
>>>  <reference name="bar" target="Bar"/>
>>> </component>
>>>
>>> <component name="Bar">
>>>  <implementation.cpp library="liqueue-sender"/>
>>>  <property name="key">xyz</property>
>>> </component>
>>>
>>> That approach has been working OK for me though. I even discovered some
>>> benefits after a while. For example Bar can be moved to another machine,
>>> or
>>> replaced with a completely different component implementation (say, using
>>> a
>>> database instead of a Qpid queue), without changing Foo's configuration
>>> at
>>> all.
>>>
>>> If anybody wants to go beyond the basic component approach and develop a
>>> real binding, please jump in and I will try to help you, in the very
>>> limited
>>> spare time I can spend on this.
>>>
>>>
>>>
>>>
>>  Is there also a high level overview of the Tuscany Native runtime such as
>>>> for the Java version?
>>>>
>>>>
>>>>  No, but there's not so much code to read :)
>>>
>>> In a nutshell, it's a thin C++ runtime that plugs into the Apache HTTPD
>>> server to dispatch HTTP requests and route them along SCA wires to SCA
>>> app
>>> components.
>>>
>>> Components can be written in C++, Python or a subset of Scheme (mostly
>>> used
>>> for self contained tests not requiring Python integration).
>>>
>>> There's experimental support for Java components, but it's too rough and
>>> limited to be really useful.
>>>
>>> A small subset of the SCA assembly model is supported, without policies
>>> or
>>> SCA contributions, but enough to run apps like the "Store" sample app
>>> available on the Tuscany Java runtime for example.
>>>
>>> SCA bindings are provided for the JSON-RPC and AtomPub protocols.
>>>
>>> In addition to the runtime, there's a few C++ components that can help
>>> integrate an SCA app with Qpid, Axis2, Vysper, Scribe logging servers
>>> etc.
>>> They bring dependencies on these various packages but they're optional,
>>> so
>>> don't build them if you don't need them.
>>>
>>> A little more info can be found in the README and INSTALL files in the
>>> sca-cpp trunk [1].
>>>
>>> That was three more questions :) Hope this helps.
>>>
>>>
>>> [1] http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/
>>> --
>>> Jean-Sebastien
>>>
>>>
>>
>>
>>
> [2] http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/modules/scdl
> [3] http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/modules/http
> [4]
> http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/modules/server/mod-eval.hpp
>
> Hope this helps
> --
> Jean-Sebastien
>



-- 
Mit freundlichen Grüßen,

Mario Grotschar

mario.grotschar@gmail.com

Re: Qpid functionality in Tuscany

Posted by Jean-Sebastien Delfino <js...@apache.org>.
Mario Grotschar wrote:
> Ah ok. I see that in M4 everything is a module to httpd server. So in M4
> there is no way to run the runtime without httpd server? What was the reason
> for changing to this different approach?
> The problem for the project we would like to use SCA for is a very limited
> host system, offering only 25 MB of disk storage.
> 
> As far as i can see in M3 the native SCA binding uses ws and therefore the
> AXIS2 server, so unless i use REST I dont need the HTTPD server. The runtime
> will load the modules directly. Is M3 completly obsolete or is there any
> interest in pursuing this architure?
> 

Hi Mario,

I'll respond in a new thread with a new subject as your question is not 
about Qpid anymore.

-- 
Jean-Sebastien

Re: Tuscany-cpp packaging options for minimal disk space, was: Qpid functionality in Tuscany

Posted by Jean-Sebastien Delfino <js...@apache.org>.
Mario Grotschar wrote:
> One questing regarding special data types defiend in M3. Can the be reused
> in M4?

I'm not sure what you mean by 'special data types defined in M3'. Can 
you give me a little more background? Are you talking about XMLSchema 
types? SDO types? code that you've written on M3?

> 
> And one question about Apache Axis2  Licences. As far as i can see also only
> the Apache License, Version 2.0 (current) applies to that, is that correct?

The Axis2/C license is there [1]. You may also want to check its NOTICE 
file [2], and confirm on the Axis2/C mailing list [3].

[1] http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk/LICENSE
[2] http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk/NOTICE
[3] http://ws.apache.org/axis2/c/lists_issues.html
-- 
Jean-Sebastien

Re: Tuscany-cpp packaging options for minimal disk space, was: Qpid functionality in Tuscany

Posted by Mario Grotschar <ma...@gmail.com>.
One questing regarding special data types defiend in M3. Can the be reused
in M4?

And one question about Apache Axis2  Licences. As far as i can see also only
the Apache License, Version 2.0 (current) applies to that, is that correct?

2010/8/5 Luciano Resende <lu...@gmail.com>

> On Thu, Aug 5, 2010 at 2:52 AM, Mario Grotschar
> <ma...@gmail.com> wrote:
> > Thanks for the informaton. Could there be any license poblems with Apache
> > when using it for commerical purposes?
> >
>
> The Apache License is a very permissible license and very commercial
> friendly license. More details about the license is available at [1].
> I'd always recommend checking with your lawyer to make sure things are
> ok on your specific case.
>
> [1] http://www.apache.org/licenses/
>
> --
>  Luciano Resende
> http://people.apache.org/~lresende
> http://twitter.com/lresende1975
> http://lresende.blogspot.com/
>



-- 
Mit freundlichen Grüßen,

Mario Grotschar

mario.grotschar@gmail.com

Re: Tuscany-cpp packaging options for minimal disk space, was: Qpid functionality in Tuscany

Posted by Luciano Resende <lu...@gmail.com>.
On Thu, Aug 5, 2010 at 2:52 AM, Mario Grotschar
<ma...@gmail.com> wrote:
> Thanks for the informaton. Could there be any license poblems with Apache
> when using it for commerical purposes?
>

The Apache License is a very permissible license and very commercial
friendly license. More details about the license is available at [1].
I'd always recommend checking with your lawyer to make sure things are
ok on your specific case.

[1] http://www.apache.org/licenses/

-- 
Luciano Resende
http://people.apache.org/~lresende
http://twitter.com/lresende1975
http://lresende.blogspot.com/

Re: Tuscany-cpp packaging options for minimal disk space, was: Qpid functionality in Tuscany

Posted by Mario Grotschar <ma...@gmail.com>.
Thanks for the informaton. Could there be any license poblems with Apache
when using it for commerical purposes?

2010/7/28 Jean-Sefbastien Delfino <js...@apache.org>

> Mario Grotschar wrote:
>
>> Ah ok. I see that in M4 everything is a module to httpd server. So in M4
>> there is no way to run the runtime without httpd server? What was the
>> reason
>> for changing to this different approach?
>>
>
> M3 supported HTTPD as well. Some of the limited SOAP-only samples used
> Axis2/C axis2_http_server, but the HTTPD integration was a more solid
> option.
>
> There were (and still are) issues with the axis2_http_server integration:
> - only worked for SOAP and no other bindings in the same app;
> - limited support for HTTP, no HTTPS or multipart requests for example;
> - caused memory leaks, and eventually crashes;
> - forced to run multithreaded (problematic with some libraries).
>
> See [1][2][3][4] for some of these issues. In [1][3] the Axis2/C folks
> themselves are recommending to use HTTPD instead in production.
>
> The latest code requires HTTPD, but with a little bit of work, it should be
> possible to not require a server at all in client-only apps. Let me know if
> you're interested in working on a few runtime changes to support that (but
> you'll see below that HTTPD is not that big...).
>
> The problem for the project we would like to use SCA for is a very limited
>> host system, offering only 25 MB of disk storage.
>>
>> As far as i can see in M3 the native SCA binding uses ws and therefore the
>> AXIS2 server, so unless i use REST I dont need the HTTPD server. The
>> runtime
>> will load the modules directly.
>>
>
> About the size of the binaries, here are a few numbers which I hope can
> help you (Ubuntu 9.10 build without debug symbols).
>
> Subset of Tuscany-cpp for C++ components, JSON-RPC and ATOM bindings:
> /tuscany-sca-cpp-bin$ du -c modules/server modules/http
> 24      modules/server/htdocs/js
> 28      modules/server/htdocs
> 708     modules/server
> 20      modules/http/conf
> 76      modules/http
> 784     total (0.8Mb)
>
> Subset of HTTPD needed by Tuscany-cpp (see the list of modules in [5]):
> /httpd-2.2.15-bin$ du -c bin lib modules
> 516     bin
> 748     lib
> 756     modules
> 2020    total (2Mb)
>
> With the latest code you can just use the JSON-RPC binding, which is
> lighter than the old SOAP binding. Let's add the library used for JSON:
> /tracemonkey-bin$ du -c lib/libmozjs.so
> 1704    lib/libmozjs.so
> 1704    total (1.7Mb)
>
> That gives us a total of 784 + 2020 + 1704 = 4508Kb (4.4Mb).
>
> That's all you need to run your SCA components, with robust support for
> HTTP, and JSON-RPC and ATOM/REST bindings.
>
>
> If you want SOAP, you need the Tuscany-cpp Web service component:
> /tuscany-sca-cpp-bin$ du -c components/webservice
> 656     components/webservice
> 656     total (0.6Mb)
>
> and Axis2/C:
> /axis2c-1.6.0-bin$ du -c axis2.xml bin lib modules
> 8       axis2.xml
> 268     bin
> 1864    lib
> 52      modules/addressing
> 24      modules/logging
> 80      modules
> 2220    total (2.2Mb)
>
> That's a total of: 784 + 2020 + 1704 + 2220 = 6728Kb (6.6Mb)
>
> Is M3 completly obsolete or is there any interest in pursuing this
>> architure?
>>
>
> M3 is more than 3 years old, that's getting old :)
>
> Here is an analysis of the M3 binaries.
>
> Subset of Tuscany-sca-cpp-M3 for C++ components, SOAP and REST bindings:
> /tuscany-sca-cpp-M3-bin $ du -c extensions lib
> 148     extensions/cpp
> 248     extensions/ws
> 108     extensions/sca
> 320     extensions/rest
> 828     extensions
> 532     lib
> 1360    total (1.3Mb)
>
> I'm including the SOAP binding here as I'm assuming that you need an
> RPC-type binding and won't do everything with REST, and there was no
> JSON-RPC binding in M3.
>
> You also needed Tuscany-sdo-M3:
> /tuscany-sdo-cpp-M3-bin $ du -c lib
> 1192    lib
> 1192    total (1.2Mb)
>
> So, including the recommended HTTPD and Axis2/C, M3 needed at minimum:
> 1360 + 1192 + 2020 + 2220 = 6792Kb (6.6Mb)
>
>
> We can discuss the various packaging options, but if you're really
> constrained by disk storage, I'd suggest the latest code with JSON-RPC
> instead of SOAP, 4.4Mb including HTTPD.
>
> Now, if you really want to use M3 or integrate the latest code with
> axis2_http_server again, that's OK too. I'll try to help as much as I can
> when I find some spare time.
>
> [1] http://wso2.org/forum/thread/8779
> [2] http://markmail.org/message/dfbbnnpnmlraxv2w
> [3] http://markmail.org/message/kz6gnorlrj3smjjs
> [4] https://issues.apache.org/jira/browse/AXIS2-4756
> [5]
> http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/modules/http/httpd-conf
>
> Hope this helps.
> --
> Jean-Sebastien
>



-- 
Mit freundlichen Grüßen,

Mario Grotschar

mario.grotschar@gmail.com

Tuscany-cpp packaging options for minimal disk space, was: Qpid functionality in Tuscany

Posted by Jean-Sebastien Delfino <js...@apache.org>.
Mario Grotschar wrote:
> Ah ok. I see that in M4 everything is a module to httpd server. So in M4
> there is no way to run the runtime without httpd server? What was the reason
> for changing to this different approach?

M3 supported HTTPD as well. Some of the limited SOAP-only samples used 
Axis2/C axis2_http_server, but the HTTPD integration was a more solid 
option.

There were (and still are) issues with the axis2_http_server integration:
- only worked for SOAP and no other bindings in the same app;
- limited support for HTTP, no HTTPS or multipart requests for example;
- caused memory leaks, and eventually crashes;
- forced to run multithreaded (problematic with some libraries).

See [1][2][3][4] for some of these issues. In [1][3] the Axis2/C folks 
themselves are recommending to use HTTPD instead in production.

The latest code requires HTTPD, but with a little bit of work, it should 
be possible to not require a server at all in client-only apps. Let me 
know if you're interested in working on a few runtime changes to support 
that (but you'll see below that HTTPD is not that big...).

> The problem for the project we would like to use SCA for is a very limited
> host system, offering only 25 MB of disk storage.
> 
> As far as i can see in M3 the native SCA binding uses ws and therefore the
> AXIS2 server, so unless i use REST I dont need the HTTPD server. The runtime
> will load the modules directly.

About the size of the binaries, here are a few numbers which I hope can 
help you (Ubuntu 9.10 build without debug symbols).

Subset of Tuscany-cpp for C++ components, JSON-RPC and ATOM bindings:
/tuscany-sca-cpp-bin$ du -c modules/server modules/http
24	modules/server/htdocs/js
28	modules/server/htdocs
708	modules/server
20	modules/http/conf
76	modules/http
784	total (0.8Mb)

Subset of HTTPD needed by Tuscany-cpp (see the list of modules in [5]):
/httpd-2.2.15-bin$ du -c bin lib modules
516	bin
748	lib
756	modules
2020	total (2Mb)

With the latest code you can just use the JSON-RPC binding, which is 
lighter than the old SOAP binding. Let's add the library used for JSON:
/tracemonkey-bin$ du -c lib/libmozjs.so
1704	lib/libmozjs.so
1704	total (1.7Mb)

That gives us a total of 784 + 2020 + 1704 = 4508Kb (4.4Mb).

That's all you need to run your SCA components, with robust support for 
HTTP, and JSON-RPC and ATOM/REST bindings.


If you want SOAP, you need the Tuscany-cpp Web service component:
/tuscany-sca-cpp-bin$ du -c components/webservice
656	components/webservice
656	total (0.6Mb)

and Axis2/C:
/axis2c-1.6.0-bin$ du -c axis2.xml bin lib modules
8	axis2.xml
268	bin
1864	lib
52	modules/addressing
24	modules/logging
80	modules
2220	total (2.2Mb)

That's a total of: 784 + 2020 + 1704 + 2220 = 6728Kb (6.6Mb)

> Is M3 completly obsolete or is there any interest in pursuing this architure?

M3 is more than 3 years old, that's getting old :)

Here is an analysis of the M3 binaries.

Subset of Tuscany-sca-cpp-M3 for C++ components, SOAP and REST bindings:
/tuscany-sca-cpp-M3-bin $ du -c extensions lib
148	extensions/cpp
248	extensions/ws
108	extensions/sca
320	extensions/rest
828	extensions
532	lib
1360	total (1.3Mb)

I'm including the SOAP binding here as I'm assuming that you need an 
RPC-type binding and won't do everything with REST, and there was no 
JSON-RPC binding in M3.

You also needed Tuscany-sdo-M3:
/tuscany-sdo-cpp-M3-bin $ du -c lib
1192	lib
1192	total (1.2Mb)

So, including the recommended HTTPD and Axis2/C, M3 needed at minimum:
1360 + 1192 + 2020 + 2220 = 6792Kb (6.6Mb)


We can discuss the various packaging options, but if you're really 
constrained by disk storage, I'd suggest the latest code with JSON-RPC 
instead of SOAP, 4.4Mb including HTTPD.

Now, if you really want to use M3 or integrate the latest code with 
axis2_http_server again, that's OK too. I'll try to help as much as I 
can when I find some spare time.

[1] http://wso2.org/forum/thread/8779
[2] http://markmail.org/message/dfbbnnpnmlraxv2w
[3] http://markmail.org/message/kz6gnorlrj3smjjs
[4] https://issues.apache.org/jira/browse/AXIS2-4756
[5] 
http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/modules/http/httpd-conf

Hope this helps.
-- 
Jean-Sebastien

Re: Qpid functionality in Tuscany

Posted by Mario Grotschar <ma...@gmail.com>.
Ah ok. I see that in M4 everything is a module to httpd server. So in M4
there is no way to run the runtime without httpd server? What was the reason
for changing to this different approach?
The problem for the project we would like to use SCA for is a very limited
host system, offering only 25 MB of disk storage.

As far as i can see in M3 the native SCA binding uses ws and therefore the
AXIS2 server, so unless i use REST I dont need the HTTPD server. The runtime
will load the modules directly. Is M3 completly obsolete or is there any
interest in pursuing this architure?



2010/7/8 Jean-Sebastien Delfino <js...@apache.org>

> Mario Grotschar wrote:
>
>> Tanks for your reply.
>>
>> One question to the tuscany frame work.
>>
>> In the project the tuscany_sca_native-1.0-incubator-M3 ist used. There I
>> can
>> find in the src a directory
>>
>> -- src
>>    `-- tuscany
>>        `-- sca
>>            |-- core
>>            |-- extension
>>            |-- model
>>            `-- util
>>
> ...
>
> Hi Mario,
>
> M3 is from May 2007. That code has changed quite a bit in 3 years, so I
> recommend to use the code in trunk instead.
>
>
>
>> In the newer version in the svn trunk i can only see a directory
>>
>> |-- kernel
>> |   |-- Makefile.am
>> |   |-- config.hpp
>> |   |-- dynlib-test.cpp
>> |   |-- dynlib.hpp
>> |   |-- element.hpp
>> |   |-- fstream.hpp
>> |   |-- function.hpp
>> |   |-- gc.hpp
>> |   |-- hash-test.cpp
>> |   |-- hash.hpp
>> |   |-- kernel-test.cpp
>> |   |-- lambda-test.cpp
>> |   |-- list.hpp
>> |   |-- mem-test.cpp
>> |   |-- monad.hpp
>> |   |-- parallel-test.cpp
>> |   |-- parallel.hpp
>> |   |-- perf.hpp
>> |   |-- sstream.hpp
>> |   |-- stream.hpp
>> |   |-- string-test.cpp
>> |   |-- string.hpp
>> |   |-- tree.hpp
>> |   |-- value.hpp
>> |   |-- xml-test.cpp
>> |   |-- xml.hpp
>> |   `-- xsd-test.cpp
>>
>> I cannot find the corresponding files that incorporate the logic. Am i
>> missing something?
>>
>
> Try cd .. [1] to see more :). The README [2] describes the trunk source
> tree layout. The Qpid support code is in components/queue [3].
>
>
> [1] http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/
> [2] http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/README
> [3]
> http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/components/queue/
>
>
> Hope this helps.
> --
> Jean-Sebastien
>



-- 
Mit freundlichen Grüßen,

Mario Grotschar

mario.grotschar@gmail.com

Re: Qpid functionality in Tuscany

Posted by Jean-Sebastien Delfino <js...@apache.org>.
Mario Grotschar wrote:
> Tanks for your reply.
> 
> One question to the tuscany frame work.
> 
> In the project the tuscany_sca_native-1.0-incubator-M3 ist used. There I can
> find in the src a directory
> 
> -- src
>     `-- tuscany
>         `-- sca
>             |-- core
>             |-- extension
>             |-- model
>             `-- util
...

Hi Mario,

M3 is from May 2007. That code has changed quite a bit in 3 years, so I 
recommend to use the code in trunk instead.

> 
> In the newer version in the svn trunk i can only see a directory
> 
> |-- kernel
> |   |-- Makefile.am
> |   |-- config.hpp
> |   |-- dynlib-test.cpp
> |   |-- dynlib.hpp
> |   |-- element.hpp
> |   |-- fstream.hpp
> |   |-- function.hpp
> |   |-- gc.hpp
> |   |-- hash-test.cpp
> |   |-- hash.hpp
> |   |-- kernel-test.cpp
> |   |-- lambda-test.cpp
> |   |-- list.hpp
> |   |-- mem-test.cpp
> |   |-- monad.hpp
> |   |-- parallel-test.cpp
> |   |-- parallel.hpp
> |   |-- perf.hpp
> |   |-- sstream.hpp
> |   |-- stream.hpp
> |   |-- string-test.cpp
> |   |-- string.hpp
> |   |-- tree.hpp
> |   |-- value.hpp
> |   |-- xml-test.cpp
> |   |-- xml.hpp
> |   `-- xsd-test.cpp
> 
> I cannot find the corresponding files that incorporate the logic. Am i
> missing something?

Try cd .. [1] to see more :). The README [2] describes the trunk source 
tree layout. The Qpid support code is in components/queue [3].

[1] http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/
[2] http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/README
[3] http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/components/queue/

Hope this helps.
-- 
Jean-Sebastien