15

We're working on an application that supports AMQP for queuing. Some of our clients are using Websphere MQ. I'm just wondering at a high level how interchangeable these two protocols are in terms of functionality. I'm using celery, which should allow me to abstract out the lower-level stuff as long as I can write a Websphere MQ backend. What I'm trying to figure out is how difficult a challenge this will be.

Does Websphere MQ provide a superset of AMQP's functionality? Does either one have any "features" that might make my life difficult?

2 Answers 2

10

UPDATE 23 June 2015
IBM has announced MQ Light which is their implementation of AMQP. their Statement of Direction says that they intend to deliver features to allow programs designed to run on MQ Light to run in MQ at some point in the future but have yet to announce when that will be. MQ Light is in open Beta as of this writing.


Getting payloads moved between these systems will be relatively straightforward with a simple bridging app that reads off one system and writes to the other. They both have queues and topics and explicit routing is possible.

The interesting parts include such fun concepts as...

  • Mapping reply-to destinations. Especially dynamic reply-to destinations.
  • Transactionality
  • Any kind of routing more complicated than "pick up off this queue/topic, put to this one. For example a gateway that routes to multiple destinations based on queue name.
  • Message-level security.
  • Mapping identities for connection-level security.
  • No possibility of end-to-end message encryption.

So if all you need is on the order of "get from AMQP:QUEUEA, put to WMQ:QUEUEB" and transactionality is not important you should have a an easy time of it. Beyond that it depends on exactly what you want to do.

2
  • Probably should post a question but what is IBM Web MQ's native transport? I thought it was MQTT but apparently that was a recent thing they added.
    – Adam Gent
    Commented Apr 9, 2013 at 15:24
  • 3
    It is a proprietary wire protocol. As a rule I like open standards but one advantage that WMQ has is that IBM can change the wire protocol as needed. So when they wanted to share several connections over a single socket and add read-ahead streaming as performance enhancements, they were easily able to do so, even though it meant changing the wire formats. Huge performance impact with these. Had they published the protocol, this would have been MUCH more difficult to do. However with more async on the open net, it may become necessary to support an open protocol or publish MQ's at some point.
    – T.Rob
    Commented Apr 9, 2013 at 18:39
1

IBM MQ now supports AMQP 1.0 clients (including the existing IBM MQ Light clients) via the introduction of the AMQP channel in MQ 8.0.0.4.

2
  • Can I use AMQP channel feature in 8.0.0.4 to integrate IBM MQ with other AMQP products like RabbitMQ?
    – sijo0703
    Commented May 25, 2016 at 18:35
  • 2
    I suspect probably not. RabbitMQ support AMQP 0.9 protocol whereas IBM MQ support AMQP 1.0. The two protocol versions are different enough to not be interchangeable. Even if they did both use the same protocol level, neither product has the capability to connect as a client to another vendor's server - that I'm aware of. I guess may be possible to write a your own client application that uses AMQP 0.9 to interact with a RabbitMQ server and AMQP 1.0 to interact with an IBM MQ queue manager, using said application to act as a bridge between the two. Commented Jul 14, 2016 at 16:52

Not the answer you're looking for? Browse other questions tagged or ask your own question.