March 17, 2011, 10:16 p.m.
posted by apollo
Notification provides a mechanism to publish messages about events so that subscribers can retrieve them independently of any relationship between provider and requester. Notification is a feature of many current distributed computing systems, including message-oriented middleware (MOM) and CORBA.
For example, a failure in a telephone-switching element generates an event that is passed to the notification system to post a message to a topic to which a network management console subscribes. When the message is received, the network management console knows to take corrective action. A connection is not required between the telephone-switching element and the management console in order to send the message notifying the management console of the failure.
The separation between requester and provider allows a provider to send a message based on a defined trigger and the requester to monitor a topic for messages relevant to it, while other requesters monitor other topics they're concerned with.
Notification systems often include the use of an intermediary (such as an event broker or temporary storage channels) to which the message can be sent for later (i.e., asynchronous) retrieval by the consumer. Notification systems do not always require an intermediary, however, because the message providers can also support the temporary storage requirements necessary for an implementation.
For Web services, two notification specifications are proposed:
WS-Eventing is much smaller than WS-Notification (which is actually three specifications) and includes only very basic publish/subscribe technology. WSNotification is part of a larger effort by IBM and others to provide messaging and resource management technologies for grid computing based on Web services.
Both specifications rely upon WS-Addressing for the format of the endpoint references.
<wsa:Action> http://schemas.xmlsoap.org/ws/2004/01/eventing/Subscribe </wsa:Action> <wsa:ReplyTo> <wsa:Address> http://www.iona.com/Newcomer/StockOptions </wsa:Address> </wsa:ReplyTo>
This simple example illustrates the WS-Eventing namespace wsa and the action to subscribe to an event (not shown) that, when it occurs, is published to Newcomer's event sink for stock option notices.
More than these simple headers are involved in notifications. The notification actions are modeled as an exchange of SOAP messages to set up and confirm the subscription, and then a second set of SOAP MEPs (either broadcast or publish/subscribe, depending on how the notification actions are defined) executes the subscription fulfillment when an event occurs that causes an event to be published to the topic.
WS-Notification is the name for a family of three specifications that are being developed within the Web Services Resource Framework (WSRF) set of specifications. WSRF is centered on the concept of providing references to data and related resources such as persistent storage mechanisms. The WS-Notification specifications define simple to complex mechanisms for tying events to messages. The specifications include:
Altogether, WS-Notification defines a complete notification system, supporting various MEPs such as point-to-point and publish/subscribe, along with interface definitions for a topics mechanism and a broker.