Thanks very much for this detailed description! Do you by accidentally know
when the qpid  component was added ?

2010/5/17 Jean-Sebastien Delfino <jsdelf...@apache.org>

> Mario Grotschar wrote:
>
>> I have noticed that in the git trunk of tuscany the message queue Apache
>> Qpid 0.6 is already integrated as a component.
>>
>
> Yes, the Tuscany C++ runtime provides a Queue component implemented using
> Qpid/C 0.6. It's just one of several utility components provided in
> tuscany/sca-cpp/trunk/components [1] to help the construction of SCA
> composite apps.
>
> Here's the list of components currently available there:
>
> Cache: Key/value memory cache, using Memcached;
> Chat: XMPP chat, using Apache Vysper and Libstrophe;
> Queue: AMQP queuing, using Apache Qpid/C;
> Sqldb: SQL database, using PostgreSQL;
> Store: Key/value persistent store, using TinyCDB;
> Webservice: Web service gateway, using Apache Axis2/C;
> Log: distributed logger, using Facebook Scribe (not working yet).
>
> Most components present a simple ATOMPub REST interface. For example you
> can send a message to a queue, a chat connection, or add an entry to a cache
> or a database using a simple HTTP POST.
>
>
>
>> My questions are:
>>
>>
>> 1.)    Is it identical to the Qpid 0.6 from the apache qpid project?
>>
>
> Yes, details and build instructions can be found in the INSTALL doc [2].
>
>
>
>> 2.)    Is there any limitation to its functionality, when using it as a
>> component?
>>
>>
> Let me describe how that queue component currently works. There's actually
> two components.
>
> A) A queue-sender component, responsible for sending messages to Qpid
> queues.
>
> You can configure it like this:
> <component name="example-sender">
>    <implementation.cpp path=".libs" library="libqueue-sender"/>
>    <property name="key">example-amqp-key</property>
>    <service name="sender">
>        <t:binding.http uri="example/sender"/>
>    </service>
> </component>
>
> Then, to send an AMQP message with key "example-amqp-key", just send an
> HTTP POST with the contents of your message (in XML or JSON) to the
> component's URI http://yourhost/example/sender.
>
> B) A queue-listener component, responsible for listening to a Qpid queue
> and relaying received messages to an application component wired to it.
>
> Here's an example configuration:
> <component name="example-listener">
>    <implementation.cpp path=".libs" library="libqueue-listener"/>
>    <property name="key">example-amqp-key</property>
>    <property name="queue">example-amqp-queue</property>
>    <reference name="relay" target="my-app-component"/>
> </component>
>
> <component name="my-app-component">
> ...
> </component>
>
> Here all messages received on example-amqp-queue will be relayed to
> component my-app-component, using an HTTP POST as well.
>
> A complete example is available there [3].
>
> In summary, these two components allow you to flow messages through Qpid
> AMQP queues with simple HTTP POSTs. They don't do much -- to try to answer
> your question about limitations -- but I've used them for a while now and
> they've been working pretty well for me.
>
> Hope this helps.
>
> [1] http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/components/
> [2] http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/INSTALL
> [3]
> http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/components/queue/queue.composite
> --
> Jean-Sebastien
>



-- 
Mit freundlichen Grüßen,

Mario Grotschar

mario.grotsc...@gmail.com

Reply via email to