A. Brief reminder of UWS

1. An asynchronous service

The Universal Worker Service (UWS) pattern defines how to manage asynchronous execution of jobs on a service.

In a synchronous service the client must wait a response for each sent request. Thus he can make only one request at a time and if he disconnects from the service the request is abandoned.

UWS is an asynchronous service. That means the client has not to wait the response of one request before making another one. So it is possible that a request is executing for hours or days even if the client disconnects from the service. Indeed UWS is also (as most of asynchronous services) a state-full service that is to say it stores the state of each received request and so for the client addresses.

2. A job-oriented service

UWS consists logically of a set of objects that may be read and written to in order to control jobs. The objects are represented by elements within XML schema [...].
UWS UML Diagram

A UWS is organized in one or more JobList objects. A JobList is a collection of Job. A job is described by:

3. Resources and URIs

In a REST binding of UWS, each of the objects defined above is available as a web resource with its own URI. These URIs must form a hierarchy [...]

Considering {jobs} as a name or an identifier of a JobList and (job-id) a JobID:

URI Description Value Writable
/{jobs} List of all jobs contained in the JobList {jobs} NO
/{jobs}/(job-id) Description/Summary of the Job (job-id) NO
/{jobs}/(job-id)/runid RunID of the Job (job-id) A String value YES
/{jobs}/(job-id)/phase Execution Phase of the Job (job-id) PENDING, QUEUED, EXECUTING, COMPLETED, ERROR, ABORTED, UNKNOWN, HELD or SUSPENDED YES
/{jobs}/(job-id)/owner Owner of the Job (job-id) ? (by default a String value) NO
/{jobs}/(job-id)/quote Quote of the Job (job-id) Integer number of seconds ≥ 0 ; a negative value means there is no quote information NO
/{jobs}/(job-id)/executionduration Execution Duration (in seconds) of the Job (job-id) Integer number of seconds ≥ 0 ; 0 means unlimited execution duration YES
/{jobs}/(job-id)/destruction Destruction Time of the Job (job-id) A date with the format "yyyy-MM-dd'T'HH:mm:ss.SSSZ" (ISO:8601) YES
/{jobs}/(job-id)/error Description/Summary of the error of the Job (job-id) NO
/{jobs}/(job-id)/results Results list of the Job (job-id) NO
/{jobs}/(job-id)/parameters List of the additional parameters of the Job (job-id) YES

All these web resources are formatted in XML according to the UWS Schema available in the Appendix B of the IVOA Recommendation. Now almost all browsers are able to transform on the client side a XML document into a HTML document by using a XSLT resource (Click here for a XSLT tutorial).