Message Queuing (MSMQ)

Message Queuing (MSMQ)


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.

<No Change>

Where Applicable

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.

Developer Audience

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.

Run-Time Requirements

MSMQ 1.0 can be deployed on computers running Microsoft® Windows NT® 4.0, Windows® 95, and Windows 98.

MSMQ 2.0 can be deployed on computers running Microsoft Windows 2000.

MSMQ 3.0 can be deployed on computers running Microsoft Windows XP Professional and members of the Windows Server 2003 family.

MSMQ is also available with independent client functionality on computers running Windows CE 3.0.


With the MSMQ-MQSeries Bridge, a connector application available in Microsoft Host Integration Server 2000, Message Queuing can be used to communicate with IBM MQSeries systems. For more information about the support for interoperability with other messaging systems using the MSMQ-MQSeries Bridge, see Message Queuing Connector Services

More information

For information on the following:

© 2016 Microsoft