Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between queue manager and message broker

Tags:

What is the difference between a Websphere Message Broker and a Queue Manager. I guess the queue manager puts messages in the queue, takes messages out of the queue, moves messages to backout queues etc. So what is the job of the broker?

Does it sit between the publisher and the Queue Manager or between the consumer and the Queue Manager?

like image 760
Victor Avatar asked Oct 26 '13 17:10

Victor


People also ask

What is the difference between message queue and message broker?

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.

What does a queue manager do?

A queue manager manages the resources associated with it, in particular the queues that it owns. It provides queuing services to applications for Message Queuing Interface (MQI) calls and commands to create, modify, display, and delete IBM® WebSphere® MQ objects.

What is the difference between MQ and IIB?

If an analogy helps, MQ is like an HTTP client and HTTP server, whereas MB/IIB is more of a gateway (proxy). Usually they emphasize disparate systems and transformations in the MB/IIB context.

What is the difference between WMB and IIB?

IBM Integration Bus v9 (IIB) is the new name for WebSphere Message Broker and except for naming changes of the components which are documented here the architecture is the same. So your installation and configuration process is still the same and the development process is also the same.


1 Answers

Websphere MQ is a software which uses the AMQ(Asynchronous messaging protocol). You can achieve asynchronous messaging between your applications via Websphere MQ, which will make your infrastructure loosely coupled(Applications can keep working even though other applications are down in the infrastructure).

But the applications in your infrastructure may not be able to understand each others' message formats, and hence just sending the message to the target application may not be enough. You may require transformation of the message.

You can do it by writing your own program using the Websphere MQ API. Your program should be able to do the below things:

  1. Pick message from a specific queue (using MQGET)
  2. Should be able to understand the message. That is say it's an XML message. Then your program must be able to parse the XML and read the data in it.
  3. After reading the input message you will make your output message based on the requirements.
  4. Then you will either publish the message or put the message in some specific queue(say TargetQ), so that the target application can get the message. Target application will then get the message either by issuing MQGET on the TargetQ or subscribing to the topic which was published from your application.

But writing your own program will take a lot of development time and effort and also may be a bit complex.

So, IBM provided its own software to do the job, which is "Websphere Message Broker".

WMB allows you to create programs very easily and a lot faster.

Appropriate nodes in WMB will do all above steps for you. In fact it provides lot many features than the above steps.

Websphere MQ still doesn't have an HTTP listener. But, a message broker does. It allows you to host web services and have HTTP based flows etc that too in a secure way(Supports SSL).

like image 187
nitgeek Avatar answered Sep 27 '22 18:09

nitgeek