Message Queuing (MSMQ) technology enables applications running at different times to communicate across heterogeneous networks and systems that may be temporarily offline.
2. Overview
• Message Queuing is a message infrastructure and a
development platform for creating distributed, loosely-
coupled messaging applications for the Microsoft®
Windows® operating system.
• Message Queuing applications can use the Message
Queuing infrastructure to communicate across
heterogeneous networks and with computers that may be
offline.
• Message Queuing provides guaranteed message
delivery, efficient routing, security, transaction support, and
priority-based messaging.
3. Aplications
• Message Queuing applications can be divided into two
categories:
– Sending applications, which send messages to queues.
– Receiving applications, which read messages in queues
and can remove messages from queues.
4. Queues
• Queues are logical containers that Message
Queuing uses to store and later forward
messages, providing the bases for the loosely
coupled aspects of Message Queuing.
• Applications can create queues, locate existing
queues, open queues, send messages to
queues, read messages in queues, set and
retrieve queue properties, and set and retrieve
the security descriptors of queues.
5. Messages
• Messages are units of information that are
sent to and retrieved from destination queues
distributed on various computers.
• Logically speaking, a message can be
considered an object that has a set of
properties and content.
6. Messages Cosiderations
Maximum Message Size
– Messages can have no more than 4 MB of data.
This restriction is due to the memory mapped files
used by Message Queuing to store the message
data.
Message Identifier
– Message Queuing provides a message identifier
for every message that is sent, including both
messages sent by the sending application.
7. Sending Messages
In addition to the basic asynchronous operation, you can add
functionality to your send operation by using the following:
– Message timers to control how long your messages stay in the system
– Computer journals to store a copy of each message that you send
– Administration queues for Message Queuing-generated
acknowledgment messages
– Response queues for application-defined response messages
– Report queues for storing messages that trace the progress of a
message
8. Reading Messages
The receiving application can read the messages in a
queue either synchronously or asynchronously. Messages
can be removed from the queue when they are read, or
they can be left in the queue. Additionally, a receiving
application can read all its messages from within a
transaction.
Note:
Messages cannot be read from a queue on a computer that
does not have a direct connection. Opening a queue
with receive or peek accessrequires a direct connection to the
computer where the queue is resides.
9. Computer Properties
The properties of a Message Queuing computer contain the
settings that define the messaging behavior of the computer.
Computer properties consist of two groups of properties:
queue manager and private computer properties.
• Retrieving Computer Properties
– Unlike queue and message properties, computer properties
cannot be set programmatically.
• Computer Property Structures
– Message Queuing uses an MQQMPROPS structure to define
queue manager properties and a MQPRIVATEPROPS structure to
define private computer properties
10. Triggers
Message Queuing triggers allow you to associate the arrival of
incoming messages at a destination queue with the
functionality of one or more COM components or stand-alone
executable programs.
11. Transactions
When more than one message is sent within a
transaction, Message Queuing uses an internal exactly-once-
delivery (EOD) protocol to guarantee that the messages will
be delivered exactly once and in order.
12. Application Models
Message Queuing applications can run in many
different network scenarios.
– Applications operating in a workgroup environment
– Applications operating offline
– pplications that must send and receive messages
between enterprises
13. COM Support
• Message Queuing provides a set of COM
objects for developing Message Queuing
applications using COM development tools.
• The Message Queuing COM objects provide
the most common Message Queuing API
functionalities needed for developing
Message Queuing applications.