WS-Messenger
WS-Messenger is an implementation of latest WS-Notification and WS-Eventing. It is developed by Extreme Lab at Indiana University. It is based on the latest version of WS-Notification specification (3/5/2004) and WSRF specification (1/20/2004) and WS-Eventing specification (8/2004). The Web service interfaces are developed using XSUL toolkit developed at Indiana University.
WS-Messenger supports both WS-Notification and WS-Eventing. The message format can be automatically converted between the two specifications. The subscription request type (Ws-Notification or WS-Eventing) for a listener determines the message format that the notification consumer will receive. If WS-Notification subscription request is received by the broker, it will send WS-Notification messages to the listener. Similarly, if WS-Eventing subscription is received by the broker, the broker will produce WS-Eventing messages for that listener. The publisher can publish messages in any format. It makes no difference to the notification consumers.
The Web service interfaces have been tested in "WS-ResourceFramework and WS-Notification Interop Workshop" in April 2004 and the result shows that they can interop with other providers successfully.
NEWS: WS-Messenger is now part of OGCE (Open Grid Computing Environment). It is maintained by the OGCE open source community. This will ensure WS-Messenger to have more people involved and better quality.
The latest release version is available from the OGCE website here.
Available Features
WS-Messenger provides basic Publish/Subscribe functions specified by WS-Notification and WS-Eventing. More features are under development.
- Subscriber
The subscriber (may not be the same entity as Notification consumer) can subscribe a topic for Notification consumer. Currently, the only topic dialect supported is "SimpleTopic Expression" specified in WS-Topics specification. The subscriber can also view all subscriptions and delete subscriptions.
- NotificationConsumer Web Service Interface
This is a web service that waits for notifications. According to WS-BaseNotification, the notifications can have be delivered in two forms, useNotify and not useNotify. Both forms are supported by this implementation.
- Publisher
The publisher sends notification to the NotificationConsumer web service interface, it may be the interface of the end user or the interface of WS-Notification broker.
- NotificationProducer Web Service Interface
This is the interface that accepts the subscriptions from the subscribers. The subscribers can call subscribe() operation to subscribe a topic.
-
Notification Broker
Our implementation acts as NotificationBroker, which means it provides both NotificationConsumer interfaces and NotificationProducer interface. It can send the messages from publishers to the NotificationConsumers. - Underlying messaging system
Our implementation can support various underlying messaging systems. Currently, NaradaBrokering messaging system (version 0.98rc1), openJMS (version 0.7.6.1) and activeMQ are supported.
- XPath-based message filtering
XPath based filtering is not available in most traditional messaging systems. We added XPath-based filtering to support the special need for XML messages. It also supports filtering using both topics and XPath expressions.