tags:

views:

85

answers:

2

We have two systems, one based on JMS and another based on MQ series. There is client A which send a message to a Topic configured in JMS. Another client B which receives this message through the Topic configured in MQ series.

How can I make this communication happen? What are the considerations while building this bridge? If bridge is the solution, how can I built it?

+1  A: 

I assume from your description that one of the clients is written in Java (JMS) and the other one is written in an other language and both have access to the same queue. MQ-Series is a queuing product, JMS is a Java API (like JDBC is to relational databases). MQ-Series supports the JMS API so there is no problem in communciating messages. JMS will probably be a subset of possible MQ-Series features.

Make sure that the content can be interpreted by both parties. The standard way is to use XML in the message. But you could use any other format that both clients can understand. You could also use CSV (comma separated values), JSON (JavaScript object notation) and there are even cross platform binary formats like Hessian.

But if you could be more specific about the participants and the kind of information you want to communicate, you probably would get more specific answers.

Bruno Ranschaert
These clients, listeners and receivers, can be on any platform and OS. e.g. Unix, Solaris, windows, etc... Messages are sent in byte format and as I understand every platform and OS can have its own way of encoding bytes. How can I make the communication independent of the platform ??
Gaurav Saini
A byte stream is a byte stream, it is up to you to define the protocol. The stream is the same for all platforms. The difference between the platforms is in the way the stream is interpreted to form eg. words or double words. If you specify how the data is encoded in the stream, the other platforms will have to adjust the implementations according to the spec. Hessian is an example of a higher level binary protocol, if you build your own content based on eg. Hessian (there are many other possibilities) you have less work to do.
Bruno Ranschaert
A: 

I found an RFC 3072 which talks about packing and unpacking architecture neutral binary data. Does java supports it in a native way or do I need to look for III party library?

Gaurav Saini
Indeed, SDXF is an alterntive to e.g. Hessian. You will have to look for third party libraries for all the platforms, it is not in the standard Java library.
Bruno Ranschaert