Several applications would like to use event-notification to coordinate their actions, and would like to use Messaging to communicate those events.
How can messaging be used to transmit events from one application to another?
Use an Event Message for reliable, asynchronous event notification between applications.
When a subject has an event to announce, it will create an event object, wrap it in a message, and send it on a channel. The observer will receive the event message, get the event, and process it. Messaging does not change the event notification, just makes sure that the notification gets to the observer.
The difference between an Event Message and a Document Message is a matter of timing and content. An event’s contents is typically less important. Many events are empty; their mere occurrance tells the observer to react. An event’s timing is very important; the subject should issue an event as soon as a change occurs, and the observer should process it quickly while it’s still relevant. Guaranteed Delivery is usually not very helpful with events because they’re frequent and need to be delivered quickly. Message Expiration can be very helpful to make sure that an event is processed quickly or not at all....
Related patterns: Command Message, Document Message, Durable Subscriber, Remote Procedure Invocation, Guaranteed Delivery, Message, Message Expiration, Messaging, JMS Publish/Subscribe Example, Point-to-Point Channel, Publish-Subscribe Channel
Want to keep up-to-date? Follow My Blog.
Want to read more in depth? Check out My Articles.
Want to see me live? See where I am speaking next.
Find the full description of this pattern in:
From Enterprise Integration to Enterprise Transformation:
My new book describes how architects can play a critical role in IT transformation by applying their technical, communication, and organizational skills with 37 episodes from large-scale enterprise IT.
Parts of this page are made available under the Creative Commons Attribution license. You can reuse the pattern icon, the pattern name, the problem and solution statements (in bold), and the sketch under this license. Other portions of the text, such as text chapters or the full pattern text, are protected by copyright.
|© 2003, 2019 • Bobby Woolf • All rights reserved.|