2.5 Use Cases

This section breaks down the functionality of the Microsoft Message Queuing (MSMQ) protocols into small granular use cases that can then be combined to build and manage complex distributed applications.

The application is the direct actor for all use cases of the MSMQ protocols. The Directory Service is the supporting actor for all use cases of the MSMQ protocols. The Transaction Coordinator is the supporting actor for the use cases that require transacted work.

The main functionality of the MSMQ protocol set is divided into two broad categories: "Message Exchange" and "MSMQ Management". The following use case diagram shows how the actors and Message Queuing use cases fit together into a complete Message Queuing System.

Use cases for the Message Queuing System

Figure 16: Use cases for the Message Queuing System

The use cases in the following sections define the following common actors and stakeholders.

 Actors

Application: Applications use the various MSMQ application protocols to interact with a Message Queuing System. The role of an application is described in detail in sections 2.1.3.1 and 2.1.4.1 of this document. The application is the direct actor for all MSMQ use cases except Transfer Message (section 2.5.5).

Application Users: Application users are the primary actors of a Message Queuing System. Application users perform business operations by using the functionality of distributed applications, which invoke message queuing activities within the system.

System Administrators: System administrators are the primary actors for the MSMQ management and administrative operations and require MSMQ functionality to perform the following actions:

  • Understand the various operations and management aspects of a distributed application that uses message queuing functionality.

  • Perform various management and administrative operations on distributed applications that use message queuing functionality.

  • Enumerate the protocols and all the artifacts of these protocols (for example, message format, error codes, and retry logic) that they expect to see flowing over the networks in their enterprise.

Directory Service: A Message Queuing System optionally uses a directory by invoking the client directory service interfaces, as described in section 2.1.3.3.

Transaction Coordinator: To manage a queue as a transactional resource, the queue manager interacts as a resource manager with a Transaction Coordinator, as described in section 2.1.3.2.

 Stakeholders

Developers: Developers can use the MSMQ protocol set to provide asynchronous messaging functionality to user applications and to implement seamless interoperability between existing and newly implemented Message Queuing Systems.

Testers: Quality assurance teams require a Message Queuing System to test implementations created by developers and to verify the conformance of such implementations with the protocol specifications.

Application Users: Application users are the primary actors of a Message Queuing System. Application users perform business operations by using the functionality of distributed applications, which invoke message queuing activities within the system.