A. Getting started
Introduction
This library is a convenient implementation of a UWS which already implements all behaviors and functionalities described by the IVOA Recommendation. It is designed to be as quick and easy to use as possible so that a developer of a UWS has not to worry with the UWS management.
Furthermore the representation of a UWS by the IVOA Recommendation remains the same in this library (even if the name of the objects are slightly different): a UWS is a set of jobs lists which are sets of jobs.
![General description of a UWS.](images/generalSchema.png)
In practice all that change between two UWServices is the execution task of their Jobs. The service management - included all possible requests it may receive - never changes. That's why this library already manages all the behaviors of the IVOA Recommendation and why a job is represented by an abstract class (AbstractJob).
So basically to make your own UWS with this library you will have to define the task of a job by extending the class AbstractJob. Once done, you will write a Java servlet in which you will create a UWS (instance of an AbstractUWS sub-class: one of the default or your own) and forward all HTTP requests to the built UWS. And that's all !
Let's take an example ! In this part of the tutorial, we will build, step by step, a very simple UWS which has to manage only one jobs list of timers. A timer is an object which executes an action when the given time is elapsed. In our example, a timer will write a file with a basic message: "X seconds elapsed" (where X is the given time). (To have a better idea of the desired UWS you can have a look at its implementation.)
More concretely, to make the described UWS we will follow the next three steps: