MQ, formerly known as message queue series, is an IBM standard for program-to-program messaging across multiple platforms. MQ is sometimes referred to as message-oriented middleware (MOM). IBM  MQ is a bullet-proof, industry-leading messaging solution that integrates applications and Web services on almost any platform, helping you leverage your existing and new IT investments, and deploy a full-function ESB as the connectivity layer for your SOA.

Queuing is the mechanism by which messages are held until an application is ready to process them. Queuing allows you to:

  • Communicate between programs (which might each be running in different environments) without having to write the communication code.
  • Select the order in which a program processes messages.
  • Balance loads on a system by arranging for more than one program to service a queue when the number of messages exceeds a threshold.
  • Increase the availability of your applications by arranging for an alternative system to service the queues if your primary system is unavailable.

Many organizations need to communicate and share data electronically with suppliers and customers’ who might have different systems. Message Queuing can receive from one type of system and send to another type.

Some of the benefits when implementing IBM MQ are:

Integrate virtually anything – with support for more than 80 platform configurations, including native z/OS support.

Assured delivery – MQ forms the backbone of many critical business infrastructures and is entrusted with delivering business-critical and high-value data. MQ ensures movement of data is not duplicated and completes as a single unit of work or transaction.

Clustering – MQ supports clustering for dynamically distributing messaging workload throughout available MQ resources. In v7.5, this capability has been extended through Split Cluster Transmit queues, enabling applications with different performance characteristics to be isolated from each other while simultaneously using the same MQ cluster.

Event-driven processing -Programs can be controlled according to the state of queues. For example, you can arrange for a program to start as soon as a message arrives on a queue, or you can specify that the program does not start until there are, for example, 10 messages above a certain priority on the queue, or 10 messages of any priority on the queue.

Security – MQ supports Secure Sockets Layer (SSL) and Transport Layer Security (TLS) for authentication, message integrity checking, and encryption for of data sent across the Internet network and the latest release adds support for the latest algorithms.

Data integrity – is a service that detects whether a message has been modified. While messages are stored on a local queue, the access control mechanisms provided by MQ might be considered sufficient to prevent deliberate modification of the contents of the messages.