Developer’s corner


UWS Library 3.0

A UWS (Universal Worker Service) is defined by the IVOA (see as a web-service which lets execute one or several jobs in an asynchronous manner. To sum up, a UWS is a set of jobs lists. By sending requests, a user can create, start, stop or delete a job. It can also ask a summary of a job, get its result(s) or get the content of a jobs lists.

This library is a convenient implementation of a UWS which already implements all behaviors and functionalities described by the IVOA recommendation 10th February 2010 (v1.0). It is designed to be as quick and easy to use as possible so that the developer of a UWS has not to worry with the UWS management. Basically, a developer has firstly to define jobs to use, and then, to create a HTTP servlet in which he creates its UWS and forwards it all requests.

Here are the main functionnalities of this library:

  • HTTP request interpretation (whatever is the HTTP method: GET, POST, PUT or DELETE)
  • Possibility to identify a user
  • Possible management of an execution queue
  • Automatic destruction and automatic execution abortion
  • Possibility to set a default and a maximum value for the executionDuration and the destructionTime fields of all managed jobs
  • Possibility to add/remove/customize UWS actions
  • Serialization of UWS resources in XML and JSON by default
  • Possibility to add more UWS serializers

Since the 8th March 2010, the last version (v3.0) of this library is available at uwstuto. You will also find the complete documentation and a tutorial with two UWS examples.

This library is free: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License.

uwslib.txt · Last modified: 2013/11/20 09:10 by Gilles Landais

Thanks for acknowledging the CDS developer’s resources (libraries, source code, etc.)