WS-Messenger (WSMG)
IU WS-Notification & WS-Eventing Implmentation
WS-Messenger is an implemeatation 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 message format that the notification consumer will receive depends on the type of the subscription request for that listener. 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 recieved 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.
Since this is the first release of our implementation, it is a limited version. It porvides basic Publish/Subscribe functions specified by WS-Notification and WS-Eventing. More features are under development and will be released soon.
The implementaion is open source. It can be downloaded at here. (version 1.03)
Documentaion about setup and usage is availabe at here.
WS-Messenger also provides some GUI tools to help you monitoring the broker, debugging and manage the subsccription.
WS-Eventing Listener GUI is useful for monitoring the event traffic and debugging in the distributed systems. This GUI can listen to the events sent by the broker.
You can download the excutable jar file from here. Then double click it to run it. You can also run it using this command:
java -jar WseViewer.jar
The notification listener GUI is a notification consumer. It waits for notifications to arrive at the port specified by the "port" you set in the GUI. When you click the "Start" button, it subscribes to the broker and starts the listener. When you click the "Stop" button, it will stop the listener and unsubscribe. You can click "Clear Messages" button to clear the messages in the textarea.
Brief Messages View
Whole message view
You can manage your subscription through the Administration web page (http://rainier.extreme.indiana.edu:16666/nmi/wsnt/subscriptionmanager). You can view all subscriptions and delete subscriptions. You just need to enter your broker URL and click "Check Subscription" button.
Here is the list of works that needs to be done:
1.Refactor broker services into individual classes and clean codes.
2.Test getCurrentMessage(), RegisterPublisher(), pauseSubscription() and ResumeSubscription() operations.
3.Test functions in WS-ResourceProperties related to subscription and publisherRegistration, NotificationProducer and NotificationBroker.
4.Test functions in WS-ResourceLifeTime related to subscription and publisherRegistration.
5.Enable durable/Persistent subscription by using database to save subscription, publisherRegistration and currentMessage.
6.Enable topic listing of NotificationProducer.
7.Enable two additional topic expressions: ConcretePath Expression and FullTopicPath Expression.
8.Add security support
9.Provide portal user interface to subscribe, notify, check properties, etc.
10.Support binary document.
Please contact Yi Huang (yihuan@cs.indiana.edu) for any problems or questions.
Created: 5/4/2004
Updated: 10/12/04
Updated: 1/14/2005