Message Queuing (MSMQ)
Updated: July 19, 2016
Applies To: Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Technical Preview, Windows Vista
Message Queuing (MSMQ) technology enables applications running at different times to communicate across heterogeneous networks and systems that may be temporarily offline. Applications send messages to queues and read messages from queues. The following illustration shows how a queue can hold messages that are generated by multiple sending applications and read by multiple receiving applications.
Message Queuing provides guaranteed message delivery, efficient routing, security, and priority-based messaging.
It can be used to implement solutions to both asynchronous and synchronous scenarios requiring high performance. The following list shows several places where Message Queuing can be used.
Mission-critical financial services: for example, electronic commerce.
Embedded and hand-held applications: for example, underlying communications to and from embedded devices that route baggage through airports by means of an automatic baggage system.
Outside sales: for example, sales automation applications for traveling sales representatives.
Workflow: Message Queuing makes it easy to create a workflow that updates each system. A typical design pattern is to implement an agent to interact with each system. Using a workflow-agent architecture also minimizes the impact of changes in one system on the other systems. With Message Queuing, the loose coupling between systems makes upgrading individual systems simpler.
Message Queuing applications can be developed using C++ APIs or COM objects. Applications can be built in any of the popular development environments: for example, Microsoft® Visual Basic®, Visual Basic® Scripting Edition, Visual C++®, Visual Studio® .NET, Borland Delphi, and Powersoft Powerbuilder. This allows applications to be developed for the Internet as well, including both server-side (Internet Information Server) and client-side (Internet Explorer) applications. The .NET Framework offers a set of managed Message Queuing objects.
MSMQ 3.0 can be deployed on computers running Microsoft Windows and members of the Windows Server family.
MSMQ is also available with independent client functionality on computers running Windows CE 3.0.
For information on the following:
New features for each version of Message Queuing. See What's New in Message Queuing.
Sources of information on installation and administration and books on Message Queuing. See More Information on Message Queuing.
Message Queuing concepts and services. See About Message Queuing.
Examples using API functions and COM components. See Using Message Queuing.
Message Queuing functions, properties, structures, and COM components. See Message Queuing Reference.
Technical terms used in the Message Queuing documentation. See Message Queuing Glossary.
Supplementary information not covered in the body of the Message Queuing documentation. See Message Queuing Appendix.