Master SOA Design Pattern Catalog
|
|
|
|

Event-Driven Messaging

(Little, Rischbeck, Simon)

|

Home > Service Messaging Patterns > Event Driven Messaging
|
How can service consumers be automatically notified of
runtime service events?
|
|
|
|
|

Problem

Events that occur within the functional boundary encapsulated
by a service may be of relevance to service consumers, but
without resorting to inefficient polling-based interaction, the
consumer has no way of learning about these events.
|
|

Solution

The consumer establishes itself as a subscriber of the service.
The service, in turn, automatically issues notifications of relevant
events to this and any of its subscribers.
|
|

Application

A messaging framework is implemented capable of supporting
the publish-and-subscribe MEP and associated complex event
processing and tracking.
|
 |
 |
 |

Impacts

Event-driven message exchanges cannot easily be incorporated
as part of Atomic Service Transaction, and publisher/
subscriber availability issues can arise.
|
|
|
|
|
|
| |
|
|


|
|
Service A requests that it be set up as a subscriber to the event it is interested in by interacting with an event manager.
Once the event occurs, Service B forwards the details to the event manager which, in turn, notifies Service A
(and all other subscribers) via a one-way, asynchronous data transfer. Note that in this case, Service A also
receives the event information earlier because the event details can be transmitted as soon as they're available.
|
|
|
|
|

Related Patterns in This Catalog

Asynchronous Queuing (Little, Rischbeck, Simon),
Atomic Service Transaction (Erl),
File Gateway (Roy),
Intermediate Routing (Little, Rischbeck, Simon),
Reliable Messaging (Little, Rischbeck, Simon),
Service Agent (Erl),
Service Callback (Karmarkar),
Service Instance Routing (Karmarkar)
|

|
|
|

Related Patterns in Other Catalogs

Event Message (Hohpe, Woolfe), Publisher-Subscriber (Buschmann, Henney, Schmidt, Meunier, Rohnert, Sommerland, Stal), Publish-Subscribe Channel (Hohpe, Woolfe)
|

|
|
This page contains excerpts from:

SOA Design Patterns by Thomas Erl

Foreword by Grady Booch

With contributions from David Chappell, Jason Hogg, Anish Karmarkar, Mark Little, David Orchard, Satadru Roy, Thomas Rischbeck, Arnaud Simon, Clemens Utschig, Dennis Wisnosky, and others.

(ISBN: 0136135161, Hardcover, Full-Color, 400+ Illustrations, 865 pages)

For more information about this book, visit www.soabooks.com.
|
|