Web Notification Service (WNS)
Overview
This page documents the progress of development concerning the WNS.
Release v2-00-00
The new OGC best practice paper 06-095 lead to some changes in the design of the WNS, as Ingo Simonis had announced.
One of the most obvious change is that the operation 'doCommunication' is no longer used. Instead the operation 'doNotification' is more generally and sends now up to three kinds of messages; the Notification, Communication and Reply message.
The Notification message should be used for one-way-communication and is build from two elements, the payload with the message and the
ServiceDescription?. The
ServiceDescription? contains more detailed information about the calling service, even the URL.
The Communication message should be used for two-way-communication. This type is more complex than the Notification message and consist of four elements, the already know
ServiceDescripition?, the as well known payload, the
CorrID? and the
CallbackURL?. The
CorrID? allows the calling service to map the response to an internally request. The
CallbackURL? says where to response.
The Reply message is the response of a Communication message. It consists of the
CorrID? and the payload.
Another change is that it is now supported to add other
MultiUser? to already registered
MultiUser?. In the previous version is was only allowed to add
SingleUser? to
MultiUser?. The WNS checks now for upcoming circular dependencies if a
MultiUser? should be added to
MultiUser?. It works like this:
1. Check every user of the
MultiUser? if it is an
MultiUser?, if so then save the ID into a list, even the own ID.
2. Check the users that should be added to the
MultiUser? if there is any
MultiUser?, if so check recursive the associated users if there are
MultiUser?. If there is a
MultiUser? compare the ID to those in the list containig the already added
MultiUser? IDs.
Another feature that was added is a WSDL description of the WNS.
WNS Testing
The feature of sending SMS, Fax and Phone messages will be disabled to prevent message spaming. If you want to test it, get the sources from sourceforge.org or send me an email.
Communication abilities
- The WNS is able to send messages via different protocols, these are HTTP POST, Email, SMS, FAX, PHONE and XMPP, an instant messaging protocoll.
- The Email capabilites contains the support for SSL connections to the SMTP server, the support for TLS and the ability to authenticate before sending.
Message structure
- The message must contain a short description of the fully message, because this short description wil be delivered, if the user has registered to a "lower power" channel, e.g. SMS or Phone.
- Notification type: The user will be informed, but the user must not react on this notification
- Communication type. The user will be informed and should react to this message
- In both, notification and communication type it is now possible to store the message. The user has now the ability to get the full XML message even if the user is just registered to a "lower power" channel, e.g. SMS or Phone.
- To see more details of the message schema use the test site
User administration
- Register SingelUser?(a user with an name and messaging channels) or MultiUser?(Group of SingleUsers?)
- UpdateSingleUserRegistration? (edit the name, add or remove channels)
- UpdateMultiUserRegistration? (add or remove user)
- Unregister user (delete the user)
WNS Status
- The Web Notification Service was released by 52North at 10. April 2007.
Download
- Download the 52N WNS 2.0.0 here.
CVS Structure
- If you download the WNS from the 52N SVN (https://52north.org/svn/swe) you want to check it out from SVN an use the project wizard to handle the WNS as an 'Dynamic Web Project' from the WebToolsPlattform? that comes with Eclipse 3.2 from www.eclipse.org. Leave the folder structure as it is, this means that the source code is in the 'src' folder and the Webcontent is in 'WebContent'.
To run the WNS from within the Eclipse IDE you have to create a 'Server' and assign the server the WNS serlvet. You have to configure the file web.xml that you will find in the folder 'WebContent/WEB-INF' and you have to configure the config.xml. The file developers.txt gives you more information about the configuration and you will find it in the same folder as you have found the web.xml file
Troubleshooting
Some users experienced trouble when installing the WNS. Here is a list of problems that occurred and how to fix them.
WNSConfig cannot be not found
In cases when the servlet cannot find the config.xml file of the WNS (usually contained in WEB-INF/conf folder of the WNS webapp folder) then change the value of the WNS_CONFIG_FILE_LOCATION parameter in the WNS' web.xml to contain the absolute path to the config.xml.