Conversation with Merlin [email protected] · Thu Nov 16 2023

what is Microsoft Message Queuing

Microsoft Message Queuing (MSMQ) is a messaging protocol that allows applications running on separate servers to communicate in a failsafe manner. It enables applications to send messages to each other via queues, ensuring that messages are not lost even if the sending or receiving application is temporarily offline. MSMQ supports both local and remote communication and provides features such as message persistence, security, and transactional support. It is commonly used in enterprise environments for reliable and asynchronous communication between different components of an application or across disparate systems.

Microsoft Message Queuing (MSMQ)

Microsoft Message Queuing (MSMQ) is a message queue implementation developed by Microsoft and deployed in its Windows Server operating systems. It's a technology for asynchronous communication that allows applications running on separate servers or processes to communicate in a failsafe manner.

This is achieved by placing messages in queues, where they can be retrieved reliably when conditions permit. This functionality allows for effective communication across networks and between computers that may not always be directly connected.

The reliable delivery of messages makes MSMQ a widely used tool in enterprise software. It ensures this delivery by storing messages that fail to reach their designated destination in a queue, from where they are re-sent once the destination is reachable again. MSMQ also provides support for security and priority-based messaging.

MSMQ supports both durable and non-durable messaging, allowing for a trade-off between performance and consistency, and it also supports transactions. This means multiple operations across multiple queues can either all be executed, or none at all, thus maintaining the consistency of operations.

Introduced in 1997, MSMQ has been a part of Microsoft platforms and is incorporated into Microsoft Windows components like the Windows Communication Foundation (WCF), offering secure, reliable transport with a unified programming model compatible with other communication standards.

MSMQ has undergone various updates and versions since its initial release, with each version introducing new features and improvements. It's used in various Windows platform-based applications requiring internal notifications and services.

From Wikipedia, the free encyclopedia Microsoft Message Queuing (MSMQ) is a message queue implementation developed by Microsoft and deployed in its Windows Server operating systems since Windows NT 4 and Windows 95. Windows Server 2016 and Windows 10 also includes this component. 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.[1] Overview[edit] MSMQ is a messaging protocol that allows applications running on separate servers/processes to communicate in a failsafe manner. A queue is a temporary storage location from which messages can be sent and received reliably, as and when conditions permit. This enables communication across networks and between computers, running Windows, 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 1997,[2] and has commonly been used in enterprise software built with Visual Studio, both in the native pre-.NET incarnation (version 5 and 6), and in Visual Studio .NET. Microsoft also has incorporated MSMQ in its messaging technology framework, Windows Communication Foundation (WCF). Under WCF, MSMQ can be used for providing 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 supports both durable and non-durable messaging to make a trade off between performance or consistency by writing messages to disk or only in RAM. Non-durable messaging can only be achieved by sending express messages via non-transactional queues. 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 to achieve transactional exact once processing. The following ports are used for Microsoft Message Queuing operations: TCP: 1801 RPC: 135, 2101*, 2103*, 2105* UDP: 3527, 1801 * These port numbers may be incremented by 11 if the initial choice of RPC port is being used when Message Queuing initializes. Port 135 is queried to discover the 2xxx ports.[3] Version references[edit] Version 1.0 (May 1997). Supports Windows 95, Windows NT 4.0 SP3, Windows 98 and Windows Me. Version 2.0, included with Windows 2000. New features include:[4] Support for registering 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 (Professional, not Home Edition) and Windows Server 2003. New features include:[5] 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. Version 4.0, part of Windows Vista and Windows Server 2008. New features include:[6] Subqueues,[7] 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. Version 5.0, part of Windows 7 and Win

en.wikipedia.org

Message Queuing (MSMQ) Article 10/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 Purpose 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. 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 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. Interoperability More information 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.

learn.microsoft.com

Microsoft Message Queuing Services (MSMQs) Microsoft Message Queuing Services (MSMQs) is a vital messaging infrastructure and a development tool for creating distributed, loosely-coupled, messaging applications for the Windows operating system. The Opera Electronic Distribution Suite (OEDS) sends messages to these queues, which act as temporary storage locations used to ensure that messages reach their destination. Message Queuing allows the OEDS software to communicate across heterogeneous networks and with computers that may be off-line, and provides guaranteed message delivery, efficient routing, security, transactional support, and priority-based messaging. Note: This topic is geared towards Microsoft Windows 2000. Installing Message Queuing Services Important Note: Message Queuing Services must be installed prior to installing OEDS. If you are performing a upgrade, see Clearing OEDS-Related Message Queues. To install Message Queuing services, follow these steps: Select Start>Settings>Control Panel>Add/Remove Programs. The Add/Remove Programs window appears.Select the Add/Remove Windows Components button.The Windows Components Wizard appears. Select the Message Queuing Services check box and select the Next > button.The Message Queueing Type screen appears. Select the Independent radio button and then select the Next > button.IMPORTANT: No other check boxes should be selected on this screen. The Message Queuing Server screen appears. Select Message Queueing will not access a directory service, and then select the Next > button.The Windows Components Wizard configures the appropriate components. Once complete, the Completing the Windows Component Wizard screen appears. Select the Finish button to complete the installation.OEDS-Related Message Queues By default, all OEDS-related message queues are created as Private Queues, and the Everyone User is assigned the Full Control permission. This occurs during the installation process. Clearing OEDS- Related Message Queues Important Note: OEDS-related message queues must be cleared prior to performing an upgrade installation. If you are performing a new installation, see Installing Message Queuing Services. To clear the OEDS-related message queues, follow these steps: Right-click on the My Computer icon and select Manage.In the Computer Management window, expand the Services and Applications, Message Queueing, and Private Queues directories.Note: By default, all OEDS-related message queues are created as private queues. Further expand all of the OEDS-related private queues, as shown below. In the expanded Private Queue directory, right-click on each queue and select All Tasks>Purge.The MSMQ Admin prompts, "Are you sure you want to delete all messages in the queue?". Select the Yes button.Repeat these steps until all OEDS-related queues are cleared.

docs.oracle.com