MS Message Queue Server Overview

Archived content. No warranty is made as to technical accuracy. Content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Microsoft® Message Queue Server (MSMQ) is a fast store-and-forward service for Microsoft® Windows NT® Server, Enterprise Edition (Windows NT Server/E), that enables applications running at different times to communicate across heterogeneous networks and systems that may be temporarily offline. Applications send messages to MSMQ, and MSMQ uses queues of messages to ensure that the messages eventually reach their destination. MSMQ provides guaranteed message delivery, efficient routing, security, and priority-based messaging.

With MSMQ, end users communicate across networks and systems that are occasionally offline, independent of the current state of the communicating applications and systems. With MSMQ, developers can focus on business programming and not on networking issues because MSMQ provides guaranteed network communication. System administrators can use MSMQ to efficiently manage large, complex networks of message queues using the MSMQ Explorer. Through MSMQ, MIS decision makers get more reliable communication in auditable, network-aware, distributed applications; more efficient use of network resources; reduced software-development and maintenance time; and increased productivity from end users, developers, and system administrators.

Software products with these features are often categorized as store-and-forward software, message queue software, or message-oriented middleware (MOM).

Introducing MSMQ

MSMQ version 1.0 supports the following features:

  • Connectionless messaging. With store-and-forward message queuing, applications are not affected by network fluctuations and do not have to establish sessions. Because MSMQ uses a sessionless model at the application level, the sender and receiver do not need to support the same protocol. MSMQ supports Internet Protocol (IP) and Internet Packet eXchange (IPX). 

  • Network traffic prioritization. Message prioritization allows urgent or important traffic to preempt less important traffic so you can guarantee adequate response time for critical applications at the expense of less important applications.

  • Guaranteed delivery. Messages can be logged to a disk-based queue to provide guaranteed delivery.

  • Transactions. Using MSMQ transaction capabilities, you can couple several MSMQ-related actions in a single transaction, ensure messages are delivered in order, ensure messages are delivered no more than once, and confirm that messages reached or were successfully retrieved from the destination queue. 

  • Dynamic queues. Queue information resides in a dynamic/replicated database so administrators can change queue properties without affecting messaging applications. Using MSMQ Explorer, administrators can make these changes from any computer running MSMQ Explorer.

  • Routing. MSMQ supports smart routing, based on the physical topology of the network, session concentration, and transport connectivity. Session concentration allows efficient usage of slow links. 

  • Security. MSMQ supports privacy and security through access control, auditing, encryption, and authentication. Access control is implemented using Windows NT security and digital signatures. Auditing is implemented through the Windows NT event-logging service. Encryption and authentication (using digital signatures) are supported using public and private keys. 

  • Disparate system integration. MSMQ-based applications can be implemented across a wide variety of hardware platforms using MSMQ connectivity products provided by Level 8 Systems. For more information, see the following section, "Supported Platforms." 

Dynamic queues, integrated security, manageable scalability, and smart routing differentiate MSMQ from other middleware implementations available today.

For more information on writing MSMQ-based applications that take advantage of these features, see the Microsoft Message Queue Server Software Development Kit (MSMQ SDK) documentation.

Supported Platforms

MSMQ supports the Windows NT and Windows® 95 platforms. Level 8 Systems provides a product that supports the MSMQ API on many platforms including IBM MVS and CICS; Sun Solaris, HP-UNIX, and AIX UNIX; OS/2; VMS; and AS/400 platforms. The Level 8 Systems product also supports the mapping of native IBM MQSeries API (MQI) calls and CICS Transient Data API calls to the MSMQ API calls.

Using the MSMQ Software Development Kit (SDK) you can build your own server applications to integrate MSMQ with other message-queuing applications.

These features make MSMQ ideal for the implementation of semi-independent client/server systems (such as order/entry, accounting, and inventory applications), batch processing, queue-based client-server systems (first come, first served resource access), and migration from legacy systems.

For more information on Level 8 Systems products and product availability, contact Level 8 Systems, or see the Level 8 Systems World Wide Web site:

MSMQ Programming Environment

You can use the MSMQ application programming interface (API) to develop MSMQ-based applications in C or C++. MSMQ also includes ActiveX controls, which you can use to quickly and easily write MSMQ-based applications using Microsoft Visual Java (VJ), Visual Basic (VB), or any other ActiveX container application (such as Microsoft Access or Borland Delphi).

With Microsoft Active Server and Microsoft Internet Information Server (IIS), you can integrate your MSMQ-based application with Web pages and forms. With the Messaging API (MAPI) transport provider and the Exchange connector, you can integrate your MSMQ-based application with Exchange forms and MAPI clients. With the MSMQ RPC transport, you can use MSMQ as a reliable transport for your RPC-based applications.

For information on developing MSMQ-based applications that use these MSMQ features, see the MSMQ SDK documentation.

Finding Information About MSMQ

This manual, the Microsoft Message Queue Server Administrator's Guide (MSMQ Administrator's Guide), covers the concepts required to install and administer an MSMQ enterprise. Additional information is available online, in the MSMQ SDK, and on the Microsoft MSMQ World Wide Web site:

Online Documentation

The following information is available online:

  • MSMQ Readme.doc 

  • MSMQ Explorer Help 

  • MSMQ Glossary 

  • MSMQ Administrator's Guide Online 

  • MSMQTest.txt 

MSMQ Readme.doc

The Readme.doc file located in the MSMQ folder on your Windows NT Server/E Components CD contains general information about MSMQ, including software-specific information, a description of product features, and limitations that were added or identified after the documentation was created.

MSMQ Explorer Online Help

MSMQ Explorer online Help is the primary source for assistance with MSMQ Explorer. The online Help includes procedures to guide you through administrative tasks. Context-sensitive Help is available on all MSMQ Explorer dialog boxes.

MSMQ Glossary

A complete MSMQ glossary is available online in both the MSMQ Explorer and the online version of the MSMQ Administrator's Guide.

MSMQ Administrator's Guide Online

This book is also available online on all MSMQ servers. The online version of the MSMQ Administrator's Guide can be accessed by clicking Start, pointing to Programs, pointing to Microsoft Message Queue, and then clicking Administrator's Guide.


MSMQTest, a command-line application that demonstrates basic MSMQ functionality, is installed on all MSMQ clients and servers. MSMQTest usage is documented in the MSMQTest.txt file, installed along with MSMQTest.

MSMQ SDK Documentation

The MSMQ SDK documentation is installed with the MSMQ SDK on MSMQ independent clients and servers. The MSMQ SDK includes background information on developing MSMQ-based applications and a reference section that describes the functions, properties, structures, and ActiveX components supplied and used by MSMQ. For more information on sample code and program files, see the MSMQ SDK.

The Microsoft World Wide Web Site

For information on upgrades and other news pertaining to MSMQ, see the MSMQ World Wide Web site: