javajmsmqmdb2

JMS, MQ-Series, MQ-Queue, MDB


I started with learning EJB's and in sequence read: Session Beans, and MDB's. When i wanted to implement some programs for MDB's, I decided to google and download some open source software.

However in this, i got lot of terminologies, and now i am confused as to what they are:

1) MQ

2) MQ-Series

3) MQ-Queue

4) JMS

5) MDB (Message driven Beans).

I tried searching net, however i didn't get satisfactory answer,hence hoping someone to help me here.


Solution

  • 1) MQ In general - MQ is used to refer to "message queue" or software servers that provide message queue service - such as Apache ActiveMQ, IBM WebSphere MQ, Java sun JMS server, rabbitMQ etc. Software that provide messaging service are known as message-oriented middleware (MOM).

    Also - another name for IBM Websphere MQ a product that provides middleware software for integration(queues/topics/clustering/remote/local/temporary queues/APIs/GUI viewers/Command line tools etc)

    2) MQ-Series

    Old name of IBM WebSphere MQ and other middleware prouducts such as workflow software. Just do not worry about this.

    3) MQ-Queue

    A message queue created in IBM WebSphere MQ or a queue created any such software mentioned in (1). A message queue can be visualized as a pipe on which one application write information on one end and another application read from another end.

    4) JMS

    Is an API specification (JSR 914) for messaging standard that allows application components based on the Java Enterprise Edition (Java EE) to create, send, receive, and read messages. Java uses JMS libraries to abstract underlying messaging service implementations such as ActiveMQ, IBM WMQ etc. JMS spec is implemented by MOM vendors. For example, com.ibm.mq.allclient.jar contains the IBM MQ classes for JMS.

    5) MDB (Message driven Beans). An enterprise bean that lets Java EE applications to process messages asynchronously. Generally an MDB will be configured to listen to a destination( eg: message queue) and when a message appears in the queue, container delivers the message to MDB (Using JMS APIs/Interfaces)

    Relationship between JMS MDB and MQ can be summarized as MDB listens to an MQ queue hosted on an MQ server and communication between MDB and MQ server/queue is done using JMS implementation(most of the time)