WS-Notification enables Web services to use the "publish and subscribe" messaging pattern.
You use publish and subscribe messaging to publish one message to many subscribers. In this pattern a producing application inserts (publishes) a message (event notification) into the messaging system having marked it with a topic that indicates the subject area of the message. Consuming applications that have subscribed to the topic in question, and have appropriate authority, all receive an independent copy of the message that was published by the producing application.
The WS-Notification implementation in WebSphere® Application Server supports the WS-Notification specifications, complies with the WS-I Basic Profile 1.0 requirements, and composes with other related standards such as WS-Addressing for High Availability and Workload Management. At an application level, this enables a standardized approach for Web service applications to participate in the publish and subscribe messaging pattern, whether this be listening for notification of a particular event occurrence, or inserting event notifications into the system for consumption by other applications or system management tooling. The open-standards nature of this Web services specification mean that applications can communicate with each other irrespective of the underlying hardware platforms, software languages or vendor environments.
WebSphere Application Server implements the WS-Notification (WSN) Version 1.3 open-standards family of specifications that are developed under the supervision of the Organization for the Advancement of Structured Information Standards (OASIS). These specifications define Web service message exchanges to enable Web service applications to utilize the publish and subscribe messaging pattern.
Other application environments or standards can build upon the WS-Notification specifications to provide a standardized approach for fulfilling basic publish and subscribe style application patterns. For example WS-Distributed Management (WS-DM) defines specialized applications that are WS-Notification NotificationProducers, and a topic namespace document that describes the topics on which these applications should emit event notifications in order to provide management of a resource (such as a printer) by a Web services client.
See also WS-Notification terminology.
The WS-Notification implementation provided in WebSphere Application Server builds upon the existing service integration technologies artefacts to provide the basic publish and subscribe infrastructure and Web services functionality required by WS-Notification.
The core component of this implementation is the notification broker. This is a point of separation between producing applications that wish to insert event notifications into the system and consuming applications that wish to receive the event notifications. WebSphere Application Server provides this broker ready for use, so that applications are free to concentrate on the business level functional requirements of sending and receiving events without needing to implement the more complex infrastructure style areas of the WS-Notification specifications, such as maintaining lists of active subscribers, parsing and matching of topics and wildcards, distribution of event notifications to subscribers and handling of subscription lifecycle. The separation between producing and consuming business application means that the producer and consumer applications do not need to be available at exactly the same time in order for them to communicate. The broker retains a publication until the consumer becomes available.
The basic pattern of invocation for the notification broker is as follows:
The following figure shows an application server that contains a notification broker and a messaging engine. Within the messaging engine there is a durable subscription and a bus topic space, between the application server and the outside world there is an endpoint listener. In the outside world there is a publisher, a subscriber and a notification consumer. The publisher sends a notification message on a given topic, and the subscriber sends a subscribe request on behalf of the notification consumer, to subscribe to the same topic. Both these messages are received by the endpoint listener, then routed into the associated broker and on to the topic space. Details of the subscription are filed as a durable subscription. The received notification message is forwarded by the broker to the notification consumer that has subscribed to the topic.
For more information about developing applications that use the notification broker, see WS-Notification - how client applications interact at runtime and Developing applications that use WS-Notification.