views:

461

answers:

3

I have a legacy C++ application that uses DDS for asynchronous communication/messaging. I need to integrate this application into a JavaEE environment that uses JMS for messaging. Other than building a standalone JMS/DDS bridge module, are there any other options that I might have?

A: 

Well, the first Google hit for "DDS to JMS bridge" brings up a paper that mentions a commercial product: RTI Message Service

Based on the paper and the product page, this appears to do what you want. There is a free evaluation (modulo a sales call, for sure.)

Ken Gentle
A: 

You could try create a DDS implementation which just delegates to the C++ API of a JMS provider such as using the Apache CMS API which works great with Apache ActiveMQ

James Strachan
+1  A: 

If you want to continue to use your existing DDS product, your best bet will almost certainly turn out to be a custom bridge. Current DDS implementations are generally not interoperable at the message level and not even close at the QoS level.

To use something like the RTI Message Service, you will have to use RTI DDS. If you happen to already be using that particular product, this may be an option for you. Otherwise, I would recommend writing a bridge that explicitly publishes and subscribes your topics of interest.

Keep in mind that JMS doesn't have the rich set of QoS that DDS has. In all but the simplest cases there will be a need to figure out what behavior you really expect from your topics and explicitly determine how to implement it using JMS.

John Grieggs