Brokered notification

The Web Services Brokered Notification specification defines how an intermediary - a NotificationBroker - is made responsible for disseminating messages produced by one or more Publishers to zero or more NotificationConsumers.

Section 4 of the WS-BrokeredNotification Version 1.3 OASIS Standard describes brokered notification as follows:

There are three distinct stages in the Notification process

Stages 1 and 2 happen largely outside of the scope of the WS-Notification architecture; this specification does not restrict the means by which these stages must occur. We refer to an entity that performs stages 1 and 2 as a Publisher.

However, the WS-Notification family of specifications does specify how dissemination of messages SHOULD occur. There are two dominant patterns by which NotificationMessages are disseminated in WS-Notification: direct and brokered.

In the direct case, the publishing Web service implements message exchanges associated with the NotificationProducer interface; it is responsible for accepting Subscribe messages and sending NotificationMessages to interested parties. The implementer of this Web service can choose to program this behavior or delegate to specialized implementations of the Subscribe and NotificationMessage delivery behavior. This case is addressed by the WS-BaseNotification Version 1.3 OASIS Standard.

In the brokered case, an intermediary - a NotificationBroker - is responsible for disseminating messages produced by one or more Publishers to zero or more NotificationConsumers.

There are three patterns associated with the relationship between the Publisher and the NotificationBroker: simple publishing, composable publishing and demand based publishing.

The following figure illustrates simple publishing:

There is a box labeled Publisher, and a box labeled NotificationBroker. A single flow labeled Notify flows from the Publisher to the NotificationBroker.

In the simple publishing use pattern, the Publisher entity is responsible only for the core Publisher functions - observing the Situation and formatting the NotificationMessage artifact that describes the Situation. The dissemination step occurs when the Publisher sends the Notify message to the NotificationBroker.

In the composable publishing pattern, the role of the Publisher is played by a Web service that implements NotificationProducer. The act of observing the Situation and formatting the NotificationMessage happens within the implementation logic of the NotificationProducer itself. The NotificationMessage is disseminated by the NotificationProducer sending the Notify message to a NotificationBroker. The NotificationMessage may also be disseminated by sending the Notify message to any NotificationConsumer that had been previously subscribed to the NotificationProducer.

Note: in either of the above two cases, the NotificationBroker MAY require the Publisher to register with it prior to sending the Notify message. For example, if the broker wishes to control who can publish to a given Topic, it can perform an access control check during this registration. However a NotificationBroker MAY choose to allow Publishers to publish without pre-registration if it so chooses.

The last pattern, the demand-based pattern, requires the Publisher to be a NotificationProducer, and thereby accept the Subscribe message. Demand-based publication is intended for use in cases where the act of observing the Situation or the act of formatting the NotificationMessage artifact might be expensive to perform, and therefore should be avoided if there are no interested parties for that NotificationMessage. To use this pattern, the Publisher must register with the NotificationBroker, using the registration to express the intent to provide demand based publishing only. Based upon this style of registration, the NotificationBroker sends the Subscribe message to the Publisher (recall: in this situation the Publisher must implement the message exchanges associated with the NotificationProducer interface).

There is a box labeled "notification producer" and a box labeled "notification broker". A sequence of three flows is shown between these boxes: First, a "register publisher" flow from the notification producer to the notification broker and back; then a "subscribe" flow from the notification producer to the notification broker and back; then a Notify flow from the notification producer to the notification broker.

Furthermore, the NotificationBroker is expected to pause its Subscription whenever it has no active Subscribers for the information provided by the Publisher. When the NotificationBroker does have active Subscribers, it is obliged to resume its Subscription to the Publisher.

Copyright © OASIS Open 2004. All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself does not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.




Related concepts
Base notification
WS-Topics
Learning about WS-Notification
WS-Notification - overview
Related tasks
WS-Notification - publish and subscribe messaging for Web services
Securing WS-Notification
Related reference
http://docs.oasis-open.org/wsn/wsn-ws_brokered_notification-1.3-spec-os.pdf
Example: Registering a WS-Notification publisher
WS-Notification troubleshooting tips
Concept topic    

Terms of Use | Feedback

Last updated: Feb 19, 2011 5:25:36 AM CST
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=v610web&product=was-nd-mp&topic=cjwsn_brokered
File name: cjwsn_brokered.html