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?
Message queues provide a means for applications to push information to the queue. The message broker simply takes the information from the sender, translates it between different messaging protocols, if needed, and delivers the message to the correct receiver.
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.
Apache ActiveMQ is the most popular and powerful open source messaging and Integration Patterns server. IBM MQ is a middleware product used to send or exchange messages across multiple platforms, including applications, systems, files, and services via MQs (messaging queues).
Broker An MQ broker provides delivery services for an MQ messaging system. Message delivery relies upon a number of supporting components that handle connection services, message routing and delivery, persistence, security, and logging (see "Broker" for more information).
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.
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.
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