RPC Message Queuing
The Microsoft® Message Queue Server (MSMQ) lets users communicate across networks and systems regardless of the current state of the communicating applications and systems. Applications send and receive messages through message queues that MSMQ maintains even when the application or the server isn't running. Message queuing provides:
-
Asynchronous messaging. With MSMQ asynchronous messaging, a client application can send a message to a server and return immediately, even if the target machine or application is not responding.
-
Guaranteed message delivery. When an application sends a message through MSMQ, the message will reach its destination even if the destination application is not running at the same time or the networks and systems are off line.
-
Routing and dynamic configuration. MSMQ provides flexible routing over heterogeneous networks. The configuration of such networks can be changed dynamically without any major changes to systems and networks themselves.
-
Connectionless Messaging. Applications using MSMQ do not need to set up direct sessions with target applications.
-
Security. MSMQ provides secure communication based on Windows NT® security and the Crypto API for encryption and digital signatures.
-
Prioritized Messaging. MSMQ transfers messages across networks based on priority, allowing faster communication for critical applications.
Microsoft RPC extends the OSF-DCE model for remote procedure calls by allowing distributed applications to use MSMQ as a transport and to control many of the features available from MSMQ. This functionality is available both to conventional RPC applications and, through the IRPCOptions interface, to DCOM applications.
The following topics provide a brief overview of message queuing and offer guidelines for developing, installing, and configuring RPC message-queuing applications. For more information on MSMQ see the documentation for Microsoft Message Queue Server and the MSMQ SDK.