Wednesday, January 22, 2014

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?
share|improve this question
add comment

2 Answers

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.
share|improve this answer
add comment
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.
share|improve this answer
 
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 8 '13 at 20:27 
 
It'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 8:46 
add comment