Highlights of the WS-Eventing Specification
by Jim Alateras
After reading Savas and Jim Webber's blog entry on the latest release of WS-Eventing I decided to have a read. Here are the highlights
Defines 3 actors, the Event Sink, which is the consumer of the event, the Event Source, which is the event generator and the Subscriber Manager, which is responsible for managing subscriptions
The Subscribe message is sent to the Event Source to create a subscription. The subscribe can specify a filter clause to constrain the type of events it receives. The subscriber also specifies the duration of the subscription.
The Renew message is sent by the Event Sink to the Subscriber Manager to renew an existing subscription.
The GetStatus message is send by the Event Sink to the Subscriber Manager to retrieve information about the specified subscription. This message will return the expiry time of the subscription.
The Unsubscribe message is sent by the Event Sink to the Subscriber Manager to delete the subscription.
The Subscription End is sent by the Event Source to the Event Sink to terminate a subscription.
Once a subscription is in place the Event Source will send notification messages to the Event Sink until the subscription expires or the Event Sink unsubscribes or the Event Source terminates the subscription. Notification messages are simply valid SOAP messages.
The specification defines the following faults DeliveryModeRequestUnavailable, InvalidExpirationTime, UnsupportedExpirationTime, FilteringNotSupported, FilteringRequestUnavailable, EventSourceUnableToProcess, UnableToRenew and InvalidMessage.
WS-Eventing has the capacity to support different delivery modes (i.e the mechanism used to transport notification from event source to event sink). The current specifications only supports 'push' delivery mode (i.e. event source pushing notifications to the event sink).