Introduction to IBM MQ
What is IBM MQ ?
- IBM MQ is a message oriented middleware that can transport any type of data as messages.
- Enables businesses to build flexible, reusable architectures such as service oriented architecture (SOA) environments or microservice architecture environments.
- It provides a reliable “store-and-forward” transport for program-to-program communication.
IBM MQ is made up of one or more queue managers. Queue managers are where messaging resources, such as queues, are configured and what applications connect to, either running on the same system as the queue manager or over the network.
Message delivery over a network of connected queue managers is assured (because IBM MQ exchanges messages transactionally) and decoupled (because applications do not have to check that messages they sent are delivered safely) from the application.
Using MQ system, messages can be exchanged between applications running across dissimilar systems such as Windows, Linux, z/OS, IBM i, etc. Application programmers do not need to have communications programming knowledge in order to send and receive messages across the MQ system.
You can secure message delivery between queue managers with TLS. With Advanced Message Security (AMS), you can encrypt and sign messages between being put by one application and retrieved by another.
In summary, IBM MQ provides effective messaging which implies reliability, universal connectivity, flexibility and scalability.
Modes of Operation
IBM MQ can operate in the following modes :
Programs communicate by sending each other data in messages rather than by calling each other directly.
Messages are placed on queues, so that programs can run independently of each other, at different speeds and times, in different locations, and without having a direct connection between them.
Applications send messages to a queue and receive messages from a queue. Each message is consumed by a single instance of an application. The sender must know the name of the destination, but not where it is.
Applications subscribe to topics. When an application publishes a message on a topic, IBM MQ sends copies of the message to those subscribing applications. The publisher does not know the names of subscribers, or where they are coming from.
Files are transferred in messages. Managed File Transfer manages the transfer of files and the administration to set up automated transfers and log the results.
MQ Telemetry provides an IBM MQ Telemetry Transport (MQTT) server that extends your IBM MQ environment to the “Internet of Things” – that is, the numerous mobile, web and M2M devices and applications that sit at the edge of the network.
Components of MQ System
The MQ system mostly consists of the following components :
- Messages – which contain application data
- Queues – which hold messages
- Channels – which connect queue managers and client applications
- Queue manager – which manages messages, queues, channels, and other IBM MQ services and resources
An MQ server controls the computer that contains the MQ configuration. Computers that contain client applications that must connect to the MQ server must also have an MQ client installation. It is possible to have both an MQ server and an MQ client installation on the same computer.