Microsoft Message Queuing
From Wikipedia, the free encyclopedia
Microsoft Message Queuing or MSMQ is a technology developed by Microsoft and deployed in its Windows Server operating systems since Windows NT 4 and Windows 95. In addition to its mainstream server platform support, MSMQ has been incorporated into Microsoft Embedded platforms since 1999 and the release of Windows CE 3.0.
MSMQ is essentially a messaging protocol that allows applications running on disparate servers to communicate in a failsafe manner. A queue is a temporary storage location from which messages can be sent when conditions permit. This enables communication across heterogeneous networks and between computers which may not always be connected. By contrast sockets and other network protocols assume that direct connections always exist.
MSMQ has been available to developers on Microsoft platforms since its first version, and has commonly been used in enterprise software built with Visual Studio, both in the unmanaged pre-.NET incarnation (version 5 and 6), and in Visual Studio .NET. Microsoft will be incorporating MSMQ in its future messaging and RPC technology framework, Windows Communication Foundation, which is scheduled to ship in the Windows Vista timeframe. Under WCF, MSMQ can be used to provide secure, reliable transport with a unified programming model compatible with other communications standards.
MSMQ is responsible for reliably delivering messages between applications inside and outside the enterprise. MSMQ ensures reliable delivery by placing messages that fail to reach their intended destination in a queue and then resending them once the destination is reachable. It also supports security and priority based messaging. Dead letter queues can be created for looking at messages which timed out or failed for other reasons.
MSMQ also supports transactions. It permits multiple operations on multiple queues, with all of the operations wrapped in a single transaction, thus ensuring that either all or none of the operations will take effect. Microsoft Distributed Transaction Coordinator (MSDTC) supports transactional access to MSMQ and other resources.
Contents |
[edit] Version history
- Version 1.0. Supports Windows 95, Windows NT 4.0, Windows 98 and Windows Me.
- Version 2.0, included with Windows 2000.
- New features include:[1] Support for storing public message queues in Active Directory, 128-bit encryption and digital certificate support, full COM support for message properties (achieving functional parity with the Win32 API function calls, full DNS path name support, improved performance in multi-threaded applications.
- Version 3.0, included with Windows XP and Windows Server 2003.
- New features include:[2] Internet Messaging (referencing queues via HTTP, SOAP-formatted messages, MSMQ support for Internet Information Services), queue aliases, multicasting of messages, and additional support for programmatic maintenance and administration of queues and MSMQ itself.
Future versions:
- Version 4.0, planned for inclusion with Windows Vista.
- New features include:[3] Subqueues, improved support for "poison messages" (messages which continually fail to be processed correctly by the receiver), and support for transactional receives of messages from a remote queue.
[edit] See also
[edit] References
- ^ New Features for Windows 2000. Message Queuing (MSMQ). Microsoft Developer Network. Retrieved on 2006-08-05.
- ^ New Features for Windows XP and the Windows 2003 Family. Message Queuing (MSMQ). Microsoft Developer Network. Retrieved on 2006-08-05.
- ^ What's New in Message Queuing 4.0. Message Queuing (MSMQ). Microsoft Developer Network. Retrieved on 2006-08-05.