IBM Message Queue Interface

IBM WebSphere MQ (Message Queue) is a network communication technology developed by IBM in March 1992. It was previously known as MQSeries. MQSeries was a trademark which they rebranded in 2002. This suite of products is IBM's Message Oriented Middleware offering. It allows independent and possibly non-concurrent applications on a distributed system to communicate with each other. MQ is available on a large number of platforms (IBM and non-IBM), including mainframe, Unix and Windows.
There are two parts to message queueing:
- Messages are strings of binary data that have a meaning to the participating programs. As in other communications protocols, storage, routing, and delivery information is added to the message before transmission and stripped from the message after reception.
- Message queues are objects that store messages in an application.
A Queue Manager is a system service that provides an Application Programming Interface for the message queue and transfers messages to another queue manager through one-way message channels.
There are several advantages to this technology:
- Messages do not depend on packet-based transmissions, such as TCP/IP.
- Parts of a message can be sent over several channels at the same time, speeding the transmission of larger files.
- Messages get delivered once and once only, which assists with reliability.
APIs
There are many ways to access WebSphere MQ's facilities. Some of the APIs supported by IBM are:
- IBM Message Queue Interface for C, COBOL and Java
- JMS for Java
There are many other unsupported APIs of which the most notable is the Perl interface, available from CPAN [1]
Awards
In 2004 WebSphere MQ won the Royal Academy of Engineering's [2] MacRobert prize [3] for technological and engineering innovation [4].