Continuing my series of posts on new functionality in WebSphere Application Version 6.1, today I’m looking Web Services Notification (WS-Notification). For those with a messaging background, WS-Notification basically provides publish/subscribe capabilities for Web services i.e. a one-to-many relationship between client and service.
There are three parts to the specification:
- WS-BaseNotification describes interfaces required for a NotificationProducer and NotificationConsumer to communicate. It also introduces a SubscriptionManager (to administer active subscriptions) and a PullPoint (to enable a client to poll for notifications)
- WS-Topics defines three dialects for classifying notification events:
- Simple – a simple URI e.g. tns:football
- Concrete – which adds topic hierarchies e.g. tns:sport/football
- Full – which also adds wildcarding e.g. tns:sport/*
- WS-BrokeredNotification introduces the concept of a NotificationBroker which intermediates between producers and consumers.
The implementation of WS-Notification for WebSphere Application Server builds on the publish/subscribe support in the service integration bus. This provides interesting possibilities (such as having a Web service subscriber to a JMS producer or vice-versa) as well as inheriting the scalability and high availability properties of the bus. A WS-Notification service is defined on a bus and then service points added to bus member. It is also possible to create static mappings between WS-Notification topic space URIs and service integration bus topic spaces, and administratively define subscriptions which are created on server start up.
Matt Roberts, the Hursley-based architect and team lead for the WebSphere Application Server implementation of WS-Notification, gave a very informative presentation to the UK WebSphere User Group. You can read more about other Web service enhancements in Version 6.1 in the developerWorks article by my ISSW colleague Saravana Chandran.