1.3 Overview
Microsoft Message Queuing (MSMQ) is a communications service that provides asynchronous and reliable message passing between client applications running on different hosts. In MSMQ, clients send application messages to a queue and/or consume application messages from a queue. The queue provides persistence of the messages, enabling them to survive across application restarts and allowing the sending and receiving client applications to send and receive messages asynchronously from each other.
Queues are typically hosted by a communications service called a queue manager. By hosting the queue manager in a separate service from the client applications, applications can communicate even if they never execute at the same time by exchanging messages via a queue hosted by the queue manager.
The queue manager can execute on a different node than the client applications. When this scenario occurs, a protocol is required to insert messages into the queue, and another protocol is needed to consume messages from the queue. The Message Queuing (MSMQ): Queue Manager Remote Read Protocol provides a protocol for consuming messages from a remote queue.