WebSphere MQ allows application programs to use message queuing to participate in message-driven processing. Application programs can communicate across different platforms by using the appropriate message queuing software products. For example, HP-UX and z/OS(R) applications can communicate through WebSphere MQ for HP-UX and WebSphere MQ for z/OS respectively. The applications are shielded from the mechanics of the underlying communications.
WebSphere MQ products implement a common application programming interface known as the message queue interface (or MQI) wherever the applications run. This makes it easier for you to port application programs from one platform to another.
WebSphere MQ also provides a high level message handling API that makes it easier for programmers to deploy an intelligent network for business process integration within and between enterprises. This is called the Application Messaging Interface (AMI). The AMI moves many message-handling functions normally performed by messaging applications into the middleware layer, where a set of policies defined by the enterprise is applied on the application's behalf.
The MQI and AMI are described in detail in the WebSphere MQ Application Programming Reference.
With message queuing, the exchange of messages between the sending and receiving programs is independent of time. This means that the sending and receiving application programs are decoupled; the sender can continue processing without having to wait for the receiver to acknowledge receipt of the message. The target application does not even have to be running when the message is sent. It can retrieve the message after it is has been started.
When messages arrive on a queue, they can automatically start an application using triggering. If necessary, the applications can be stopped when the message (or messages) have been processed.