What is the difference between Websphere Message Broker and Websphere MQ? Is there any equivalent terminology for the same in a weblogic environment? Also, strictly speaking, which one of the two (WMB vs WMQ) is an implementation for JMS API?
2 Answers
WebSphere MQ is a messaging engine that provides assured delivery of some message/payload. MQ provides a Queue Manager: a server application that hosts Queues (to hold messahes) and Channels & Listeners (to allow Queue Managers to communicate with each other). MQ provides an API interface that implements JMS. It also has a number of APIs native to MQ. As of WebSphere MQ version 7.0.1 it also provides a publish-subscribe engine. WebSphere MQ basically lets you put a message in one place and get that message somewhere else with the smallest chance of the message being lost.
WebSphere Message Broker is a program that attempts to provide an any-transport-to-any-transport interface, and an any-language transformation engine. In terms of transports, it provides MQ, JMS (most providers), MQ-FTE, local files, SMTP, FTP/SFTP, HTTP/HTTPS, TCP/TCPSSL, JDBC and probably some other entry hooks I have forgotten. Once the message is in MEssage Broker, you can manipulate that message using ESQL (SQL-like language native to Message Broker), Java, PHP, XSTL. It also contains functionality for message routing, collecting, aggregation, sequencing etc. Message Broker basically allows you to move data from a number of formats (both physical and logical) and manipulate that data before putting it somewhere else, possibly in a different format.

- 301
- 2
- 5
-
Thanks. I asked the question because i got the impression that WMB is a term that is used with ESB only. But it seems even MQ comes with a WMB that sits in front of the queue? – Victor Aug 08 '13 at 20:27
-
1It's probably best to say that WMB is an implementation of an ESB. Note that WMB has now been replaced by IBM as IBM Integration Broker (IIB). WMB is shipped with WMQ. Every broker needs a queue manager, as it uses WMQ for it's own internal operations. WMQ is purely a messaging engine. It can exist in it's own right, so a queue manager does not necessarily have a broker. – monkeysplayingpingpong Sep 20 '13 at 08:46
-
@monkeysplayingpingpong and what's the place ActiveMQ? is it a messaging engine like WMQ or a message broker? that's really confusing – Chao Apr 18 '15 at 16:58
-
@Richard: ActiveMQ is a free MoM (Message-oriented-middleware) from Apache, so it is an equivalent of IBM WepshereMQ. Other MoMs you can encounter for example are: RabbitMQ (uses AMQP protocol for messaging), Apache Kafka, ZeroMQ, ActiveMQ, etc. – Michał Kowalczyk Jan 22 '16 at 12:13
AFAIK message broker transforms messages from one format to another (e.g. JMS to MQ) or routes a message to another place/broker/queue depending on content or topic; where as MQ is the queue the message ends up on where it's held until it's consumed by some other app. You used to (WMB6) have to have WMB in front of MQ if you wanted your messages trasnformed/processed before being put on a queue, I don't think this is so much the case now as MQ itself can do some of the WMB functionality now.

- 1,977
- 16
- 33