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?
The IBM® MQ Light API is based on the OASIS Standard AMQP 1.0 wire protocol. AMQP specifies how messages are sent between senders and receivers.
IBM MQ is a family of message-oriented middleware products that IBM launched in December 1993. It was originally called MQSeries, and was renamed WebSphere MQ in 2002 to join the suite of WebSphere products. In April 2014, it was renamed IBM MQ.
ActiveMQ is used in enterprise projects to store multiple instances and supports clustering environments based on the JMS messaging specification. RabbitMQ is a message broker which is executed in low-level AMQP protocol and acts as an intermediator between two application in the communication process.
The Advanced Message Queuing Protocol (AMQP) is an open standard for passing business messages between applications or organizations. It connects systems, feeds business processes with the information they need and reliably transmits onward the instructions that achieve their goals.
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...
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With