[rabbitmq-discuss] C++ client options

Daniel Pocock daniel at pocock.com.au
Thu Aug 8 20:14:47 BST 2013



On 08/08/13 20:05, Alan Antonuk wrote:

> 
>>
>> Another thing that comes to mind is the question of adding an abstraction
>> layer, just like JMS in the Java world.  The only one I've come across so
>> far is OpenMAMA:
>> http://www.openmama.org - do you believe RabbitMQ users could benefit
>> from coding to the OpenMAMA API and using some low-level driver for AMQP or
>> RabbitMQ specifically?  This would be more like the JMS programming
>> paradigm.
>>
> 
> I believe something like this would be something layered on top of the
> protocol library, and not necessarily baked into the library itself. As to
> whether you should go this direction, I would imagine it depends on the
> requirements for whatever you're doing.

I agree - the Avis MQ solution appears to work like that:

- C++ Application code
- OpenMAMA C++ API
- OpenMAMA itself
- Avis "bridge" code (part of OpenMAMA repository)
- Avis C client layer

So to phrase my comments another way: instead of re-inventing or
extending the C++ API that exists now, maybe the work involved in making
such a bridge module delivers more benefit for the C++ user and/or is
easier to achieve

Here are some demos that show how a C++ user codes to the OpenMAMA API:

http://git.openmama.org/?p=OpenMAMA.git;a=blob;f=mama/c_cpp/src/examples/cpp/mamapublishercpp.cpp;hb=HEAD

http://git.openmama.org/?p=OpenMAMA.git;a=blob;f=mama/c_cpp/src/examples/cpp/mamasubscribercpp.cpp;hb=HEAD


and here are the bridges for Qpid and Avis:

http://git.openmama.org/?p=openmama-qpid.git;a=tree;f=mama/c_cpp/src/c/bridge;h=f4747d48a008bae21891b78d5cfeb5fd8f47713c;hb=HEAD


>>
>>
>> I'd like to understand your feelings about the future of the API before
>> committing to that - do you see something based on libuv happening in the
>> near future, e.g. within 6 months?
>>
>>
>> I don't plan on making any drastic API changes to SimpleAmqpClient, its
> purpose in my eyes is to give an easy interface to using rabbitmq-c from
> C++, so it will continue to develop SimpleAmqpClient to support the various
> bits of functionality that rabbitmq-c supports.  A libuv-based library will
> likely be developed under a different library name, whether or not the
> functionality gets rolled back into an existing library is TBD.  Will this
> happen in 6 months? I have no idea - it depends on how much free time I
> have to work on these kinds of projects.
> 

Ok, that's fine - I didn't want to put any urgency on it, just to get a
feeling for the future direction of each component




More information about the rabbitmq-discuss mailing list