/[volute]/trunk/projects/grid/uws/doc/UWS.html
ViewVC logotype

Diff of /trunk/projects/grid/uws/doc/UWS.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1248 by harripa, Tue Feb 9 20:05:36 2010 UTC revision 1249 by harripa, Wed Feb 10 14:08:00 2010 UTC
# Line 3  Line 3 
3  Note that this file should be xhtml with div to mark sections so that it can be updated with xslt.  Note that this file should be xhtml with div to mark sections so that it can be updated with xslt.
4  Paul Harrison -->  Paul Harrison -->
5  <!DOCTYPE html  <!DOCTYPE html
6    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/2002/08/xhtml/xhtml1-strict.dtd">    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
7  <html xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="en" lang="en" xsi:schemalocation="http://www.w3.org/1999/xhtml                           http://www.w3.org/2002/08/xhtml/xhtml1-transitional.xsd"><head xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" profile="http://www.w3.org/1999/xhtml/vocab"><title>Universal Worker Service Specification</title><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/><meta name="Title" content="IVOA WG Internal Draft"/><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/><meta name="author" content="Paul Harrison, paul.harrison@manchester.ac.uk"/><meta name="maintainedBy" content="Paul Harrison, paul.harrison@manchester.ac.uk"/><link href="http://www.ivoa.net/misc/ivoa_a.css" rel="stylesheet" type="text/css"/><link rel="stylesheet" href="http://www.ivoa.net/misc/ivoa_pr.css" type="text/css"/><link href="./ivoadoc/XMLPrint.css" rel="stylesheet" type="text/css"/><link href="./ivoadoc/ivoa-extras.css" rel="stylesheet" type="text/css"/></head><body bgcolor="#FFFFFF"><div class="head">  <html xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="en" lang="en" xsi:schemalocation="http://www.w3.org/1999/xhtml                           http://www.w3.org/2002/08/xhtml/xhtml1-transitional.xsd"><head xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" profile="http://www.w3.org/1999/xhtml/vocab"><title>Universal Worker Service Specification</title><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/><meta name="Title" content="IVOA WG Internal Draft"/><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/><meta name="author" content="Paul Harrison, paul.harrison@manchester.ac.uk"/><meta name="maintainedBy" content="Paul Harrison, paul.harrison@manchester.ac.uk"/><link href="http://www.ivoa.net/misc/ivoa_a.css" rel="stylesheet" type="text/css"/><link rel="stylesheet" href="http://www.ivoa.net/misc/ivoa_pr.css" type="text/css"/><link href="./ivoadoc/XMLPrint.css" rel="stylesheet" type="text/css"/><link href="./ivoadoc/ivoa-extras.css" rel="stylesheet" type="text/css"/></head><body><div class="head">
8  <table border="0" cellpadding="0" cellspacing="0" width="563"><tbody><tr><td style="padding: 0cm;" rowspan="1" colspan="1" width="300">  <table border="0" cellpadding="0" cellspacing="0" width="563"><tbody><tr><td style="padding: 0cm;" rowspan="1" colspan="1">
9  <img src="http://www.ivoa.net/pub/images/IVOA_wb_300.jpg" height="169" width="300"/></td><td style="padding: 0cm;" rowspan="1" colspan="1">  <img src="http://www.ivoa.net/pub/images/IVOA_wb_300.jpg" height="169" width="300"/></td><td style="padding: 0cm;" rowspan="1" colspan="1">
10   <p><b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);"> I</span></i></b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">nternational</span></i></p>   <p><b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);"> I</span></i></b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">nternational</span></i></p>
11   <p><b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">    V</span></i></b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">irtual</span></i></p>   <p><b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">    V</span></i></b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">irtual</span></i></p>
12   <p><b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">    O</span></i></b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">bservatory</span></i></p>   <p><b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">    O</span></i></b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">bservatory</span></i></p>
13   <p><b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">A</span></i></b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">lliance</span><span style="color: black;">   <p><b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">A</span></i></b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">lliance</span><span style="color: black;">
14  </span></i></p></td></tr></tbody></table>  </span></i></p></td></tr></tbody></table>
15  <h1>Universal Worker Service Pattern<br clear="none"/>  <h1>Universal Worker Service Pattern<br/>
16    Version 1.0</h1>    Version 1.0</h1>
17  <h2>IVOA Proposed Recommendation 2010-02-10</h2>  <h2>IVOA Proposed Recommendation 2010-02-10</h2>
18  <dl><dt>Working Group:</dt><dd><a href="http://www.ivoa.net/twiki/bin/view/IVOA/IvoaGridAndWebServices" shape="rect">http://www.ivoa.net/twiki/bin/view/IVOA/IvoaGridAndWebServices</a></dd><dt><b>This version:</b></dt><dd><a href="http://www.ivoa.net/Documents/PR/GWS/PR-UWS-1.0-20100210.html" shape="rect">http://www.ivoa.net/Documents/PR/GWS/PR-UWS-1.0-20100210.html</a></dd><dt><b>Latest version:</b></dt><dd><a href="http://www.ivoa.net/Documents/latest/UWS.html" shape="rect">http://www.ivoa.net/Documents/latest/UWS.html</a></dd><dt><b>Previous version(s):</b></dt><dd> Internal Working Draft  <dl><dt>Working Group:</dt><dd><a href="http://www.ivoa.net/twiki/bin/view/IVOA/IvoaGridAndWebServices" shape="rect">http://www.ivoa.net/twiki/bin/view/IVOA/IvoaGridAndWebServices</a></dd><dt><b>This version:</b></dt><dd><a href="http://www.ivoa.net/Documents/PR/GWS/PR-UWS-1.0-20100210.html" shape="rect">http://www.ivoa.net/Documents/PR/GWS/PR-UWS-1.0-20100210.html</a></dd><dt><b>Latest version:</b></dt><dd><a href="http://www.ivoa.net/Documents/UWS/" shape="rect">http://www.ivoa.net/Documents/UWS/</a></dd><dt><b>Previous version(s):</b></dt><dd> Internal Working Draft
19        v0.1, 2005-01-24        v0.1, 2005-01-24
20        <br clear="none"/>        <br/>
21        Internal Working Draft        Internal Working Draft
22        v0.2, 2006-05-11 <br clear="none"/>        v0.2, 2006-05-11 <br/>
23        Internal        Internal
24        Working Draft v0.3, 2007-04-26<br clear="none"/>          Working Draft v0.3, 2007-04-26<br/>  
25        Internal        Internal
26        Working Draft v0.4,  2008-05-10<br clear="none"/>        Working Draft v0.4,  2008-05-10<br/>
27        Internal Working Draft v0.5, 2008-10-08<br clear="none"/>        Internal Working Draft v0.5, 2008-10-08<br/>
28        Internal Working Draft v0.9, 2009-10-08<br clear="none"/>        Internal Working Draft v0.9, 2009-10-08<br/>
29        Public Working Draft v1.0, 2009-08-27<br clear="none"/>        Public Working Draft v1.0, 2009-08-27<br/>
30        Proposed Recommendation v1.0, 2009-09-09</dd><dt> <br clear="none"/>        Proposed Recommendation v1.0, 2009-09-09</dd><dt> <br/>
31    </dt><dt> </dt><dt><b>Author(s):</b></dt><dd>  P.    </dt><dt> </dt><dt><b>Author(s):</b></dt><dd>  P.
32      Harrison, G. Rixon</dd></dl>      Harrison, G. Rixon</dd></dl>
33    
# Line 55  Line 55 
55    respect of the Open Grid Services Infrastructure that was the    respect of the Open Grid Services Infrastructure that was the
56    fore-runner of Web Services Resource Framework. The REST binding came    fore-runner of Web Services Resource Framework. The REST binding came
57    initially from suggestions by Norman Gray.</p>    initially from suggestions by Norman Gray.</p>
58  </div><h2>Contents</h2><div>  </div><h2>Contents</h2><div><?toc?><div xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" id="toc" class="toc"><ul><li><a href="#Introduction"><span class="secnum">1. </span>Introduction (informative)</a><ul><li><a href="#SynchronousStateless"><span class="secnum">1.1. </span> Synchronous, stateless services</a></li><li><a href="#AsynchronousServices"><span class="secnum">1.2. </span> Asynchronous and stateful services</a></li><li><a href="#JDL"><span class="secnum">1.3. </span> Job description language, service contracts and universality</a></li></ul></li><li><a href="#UWSpattern"><span class="secnum">2. </span> Universal Worker Service Pattern (normative)</a><ul><li><a href="#UWSObjects"><span class="secnum">2.1. </span> Objects within a UWS</a><ul><li><a href="#Joblist"><span class="secnum">2.1.1. </span>
59  <!-- to regenerate the contents put a <?toc?> here -->          Job list </a></li><li><a href="#Job"><span class="secnum">2.1.2. </span>Job</a></li><li><a href="#ExecutionPhase"><span class="secnum">2.1.3. </span> Execution Phase</a></li><li><a href="#ExecutionDuration"><span class="secnum">2.1.4. </span> Execution Duration</a></li><li><a href="#DestructionTime"><span class="secnum">2.1.5. </span> Destruction Time</a></li><li><a href="#Quote"><span class="secnum">2.1.6. </span>Quote</a></li><li><a href="#Error"><span class="secnum">2.1.7. </span>Error</a></li><li><a href="#Error2"><span class="secnum">2.1.8. </span>Owner</a></li><li><a href="#Error3"><span class="secnum">2.1.9. </span>RunId</a></li><li><a href="#ResultsList"><span class="secnum">2.1.10. </span>Results List</a></li><li><a href="#ResultsList2"><span class="secnum">2.1.11. </span>Parameter List</a></li></ul></li><li><a href="#RESTbinding"><span class="secnum">2.2. </span>The REST Binding</a><ul><li><a href="#d1e834"><span class="secnum">2.2.1. </span>Resources and URIs</a></li><li><a href="#d1e603"><span class="secnum">2.2.2. </span>Representations of resources</a><ul><li><a href="#d1e1030"><span class="secnum">2.2.2.1. </span>Job List</a></li><li><a href="#d1e1040"><span class="secnum">2.2.2.2. </span>Job</a></li><li><a href="#d1e1344"><span class="secnum">2.2.2.3. </span>Results List</a></li><li><a href="#d1e1353"><span class="secnum">2.2.2.4. </span>Parameters List</a></li><li><a href="#d1e1556"><span class="secnum">2.2.2.5. </span> Error</a></li></ul></li><li><a href="#jobcontrol"><span class="secnum">2.2.3. </span>State changing requests</a><ul><li><a href="#d1e1375"><span class="secnum">2.2.3.1. </span>Creating a Job</a></li><li><a href="#d1e1390"><span class="secnum">2.2.3.2. </span>Deleting a Job</a></li><li><a href="#d1e1402"><span class="secnum">2.2.3.3. </span>Changing the Destruction
 <copy xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"><div id="toc" class="toc"><ul><li><a href="#Introduction"><span class="secnum">1. </span>Introduction (informative)</a><ul><li><a href="#SynchronousStateless"><span class="secnum">1.1. </span> Synchronous, stateless services</a></li><li><a href="#AsynchronousServices"><span class="secnum">1.2. </span> Asynchronous and stateful services</a></li><li><a href="#JDL"><span class="secnum">1.3. </span> Job description language, service contracts and universality</a></li></ul></li><li><a href="#UWSpattern"><span class="secnum">2. </span> Universal Worker Service Pattern (normative)</a><ul><li><a href="#UWSObjects"><span class="secnum">2.1. </span> Objects within a UWS</a><ul><li><a href="#Joblist"><span class="secnum">2.1.1. </span>  
         Job list </a></li><li><a href="#Job"><span class="secnum">2.1.2. </span>Job</a></li><li><a href="#ExecutionPhase"><span class="secnum">2.1.3. </span> Execution Phase</a></li><li><a href="#ExecutionDuration"><span class="secnum">2.1.4. </span> Execution Duration</a></li><li><a href="#DestructionTime"><span class="secnum">2.1.5. </span> Destruction Time</a></li><li><a href="#Quote"><span class="secnum">2.1.6. </span>Quote</a></li><li><a href="#Error"><span class="secnum">2.1.7. </span>Error</a></li><li><a href="#Error2"><span class="secnum">2.1.8. </span>Owner</a></li><li><a href="#Error3"><span class="secnum">2.1.9. </span>RunId</a></li><li><a href="#ResultsList"><span class="secnum">2.1.10. </span>Results List</a></li><li><a href="#ResultsList2"><span class="secnum">2.1.11. </span>Parameter List</a></li></ul></li><li><a href="#RESTbinding"><span class="secnum">2.2. </span>The REST Binding</a><ul><li><a href="#d1e834"><span class="secnum">2.2.1. </span>Resources and URIs</a></li><li><a href="#d1e603"><span class="secnum">2.2.2. </span>Representations of resources</a><ul><li><a href="#d1e1030"><span class="secnum">2.2.2.1. </span>Job List</a></li><li><a href="#d1e1040"><span class="secnum">2.2.2.2. </span>Job</a></li><li><a href="#d1e1344"><span class="secnum">2.2.2.3. </span>Results List</a></li><li><a href="#d1e1353"><span class="secnum">2.2.2.4. </span>Parameters List</a></li><li><a href="#d1e1556"><span class="secnum">2.2.2.5. </span> Error</a></li></ul></li><li><a href="#d1e634"><span class="secnum">2.2.3. </span>State changing requests</a><ul><li><a href="#d1e1375"><span class="secnum">2.2.3.1. </span>Creating a Job</a></li><li><a href="#d1e1390"><span class="secnum">2.2.3.2. </span>Deleting a Job</a></li><li><a href="#d1e1402"><span class="secnum">2.2.3.3. </span>Changing the Destruction  
60              Time</a></li><li><a href="#d1e1420"><span class="secnum">2.2.3.4. </span>Changing the Execution              Time</a></li><li><a href="#d1e1420"><span class="secnum">2.2.3.4. </span>Changing the Execution
61              Duration</a></li><li><a href="#d1e1439"><span class="secnum">2.2.3.5. </span>        Starting a Job</a></li><li><a href="#d1e1448"><span class="secnum">2.2.3.6. </span>Aborting a Job</a></li></ul></li><li><a href="#d1e708"><span class="secnum">2.2.4. </span>Message pattern</a></li></ul></li></ul></li><li><a href="#security"><span class="secnum">3. </span>Security Considerations (normative)</a></li><li><a href="#ApplicationsOfUWS"><span class="secnum">4. </span> Applications of UWS (informative)</a><ul><li><a href="#Imageservice"><span class="secnum">4.1. </span> Image service with data staging</a></li><li><a href="#ADQLservice"><span class="secnum">4.2. </span> ADQL service with cursor</a></li><li><a href="#ParameterizedApplications"><span class="secnum">4.3. </span> Parameterized applications</a></li></ul></li><li><a href="#SynchronousService"><span class="secnum">5. </span> Implementing a Synchronous Service on top of UWS (informative)</a></li><li><a href="#Updates"><span class="secnum">Appendix A. </span> Updates from previous versions</a><ul><li><a href="#d1e1112"><span class="secnum">Appendix A.1. </span>At Version 0.5</a></li><li><a href="#d1e1775"><span class="secnum">Appendix A.2. </span>At Version 1.0</a></li></ul></li><li><a href="#UWSSchema"><span class="secnum">Appendix B. </span> UWS Schema</a></li></ul></div></copy></div><div class="body">              Duration</a></li><li><a href="#d1e1439"><span class="secnum">2.2.3.5. </span>        Starting a Job</a></li><li><a href="#d1e1448"><span class="secnum">2.2.3.6. </span>Aborting a Job</a></li></ul></li><li><a href="#d1e708"><span class="secnum">2.2.4. </span>Message pattern</a></li></ul></li></ul></li><li><a href="#security"><span class="secnum">3. </span>Security Considerations (normative)</a></li><li><a href="#ApplicationsOfUWS"><span class="secnum">4. </span> Applications of UWS (informative)</a><ul><li><a href="#Imageservice"><span class="secnum">4.1. </span> Image service with data staging</a></li><li><a href="#ADQLservice"><span class="secnum">4.2. </span> ADQL service with cursor</a></li><li><a href="#ParameterizedApplications"><span class="secnum">4.3. </span> Parameterized applications</a></li></ul></li><li><a href="#SynchronousService"><span class="secnum">5. </span> Implementing a Synchronous Service on top of UWS (informative)</a></li><li><a href="#Updates"><span class="secnum">Appendix A. </span> Updates from previous versions</a><ul><li><a href="#d1e1112"><span class="secnum">Appendix A.1. </span>At Version 0.5</a></li><li><a href="#d1e1775"><span class="secnum">Appendix A.2. </span>At Version 1.0</a></li></ul></li><li><a href="#UWSSchema"><span class="secnum">Appendix B. </span> UWS Schema</a></li></ul></div></div><div class="body">
62  <div class="section"><h2><a name="Introduction" id="Introduction" shape="rect"/><span class="secnum">1. </span>Introduction (informative)</h2>  <div class="section"><h2><a name="Introduction" id="Introduction" shape="rect"/><span class="secnum">1. </span>Introduction (informative)</h2>
63    <p>The Universal Worker Service (UWS)    <p>The Universal Worker Service (UWS)
64      pattern defines how to build <i>asynchronous</i>, <i>stateful</i>, <i>job-oriented</i> services<i> </i>(the italicized terms are defined      pattern defines how to build <i>asynchronous</i>, <i>stateful</i>, <i>job-oriented</i> services<i> </i>(the italicized terms are defined
65      in sub-sections of this introduction). It does so in a way that      in sub-sections of this introduction). It does so in a way that
66      allows for wide-scale reuse of software and support from software      allows for wide-scale reuse of software and support from software
67      toolkits.</p>      toolkits.</p>
68    <p>Section <h:span xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="xref"><a href="#UWSpattern">2. </a></h:span>    <p>Section <span xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="xref"><a href="#UWSpattern">2. </a></span>
69    of this document describes    of this document describes
70      the pattern and lists the aspects that are common to all its      the pattern and lists the aspects that are common to all its
71      applications. Any such application would involve a service contract      applications. Any such application would involve a service contract
72      that embodies the pattern and fixes the issues left undefined in the      that embodies the pattern and fixes the issues left undefined in the
73      pattern itself (see section <a href="#JDL" shape="rect">1.4</a>). The contract might include the XML schemata  which form a "job description language" or JDL for the application, or simply a description of the input parameters for the service which are conveyed via typical HTML form encodings. It is intended that each such contract      pattern itself (see section <span xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="xref"><a href="#JDL">1.3. </a></span>). The contract might include the XML schemata  which form a "job description language" or JDL for the application, or simply a description of the input parameters for the service which are conveyed via typical HTML form encodings. It is intended that each such contract
74      cover a family of related applications, such that the implementations      cover a family of related applications, such that the implementations
75      may be widely reused.</p>      may be widely reused.</p>
76    <p>Section <a href="#security" shape="rect">3</a> outlines several possible    <p>Section <a href="#security" shape="rect">3</a> outlines several possible
# Line 218  Line 216 
216          objects that may be read and written to in order to control jobs. The objects are  represented by elements within the XML schema detailed in <a class="xref" href="#UWSSchema" shape="rect">Appendix B</a>. In a REST binding, these objects are addressed as distinct web-resources each with its own URI. </p>          objects that may be read and written to in order to control jobs. The objects are  represented by elements within the XML schema detailed in <a class="xref" href="#UWSSchema" shape="rect">Appendix B</a>. In a REST binding, these objects are addressed as distinct web-resources each with its own URI. </p>
217        <p> The following sub-sections explain the semantics of the objects. The        <p> The following sub-sections explain the semantics of the objects. The
218          UML diagram below shows the relationships more succinctly.</p>          UML diagram below shows the relationships more succinctly.</p>
219        <p><img src="Class_Diagram__UWS__UWSObjects.png" alt="UWS Objects Class Diagram" width="460" height="390" border="0" align="top" id="graphics2"/></p>        <p><img src="Class_Diagram__UWS__UWSObjects.png" alt="UWS Objects Class Diagram" width="460" height="390" id="graphics2"/></p>
220        <div class="section"><h4><a name="Joblist" id="Joblist" shape="rect"/><span class="secnum">2.1.1. </span>        <div class="section"><h4><a name="Joblist" id="Joblist" shape="rect"/><span class="secnum">2.1.1. </span>
221          Job list </h4>          Job list </h4>
222          <p>The Job List is the outermost object:          <p>The Job List is the outermost object:
# Line 353  Line 351 
351        </div>        </div>
352        <div class="section"><h4><a name="Error" id="Error2" shape="rect"/><span class="secnum">2.1.8. </span>Owner</h4>        <div class="section"><h4><a name="Error" id="Error2" shape="rect"/><span class="secnum">2.1.8. </span>Owner</h4>
353          <p>The owner object represents the identifier for the creator of the job. This object will not exist for all invocations of a UWS conformant protocol, but only in cases where the access to the service is authenticated as discussed more thoroughly in section          <p>The owner object represents the identifier for the creator of the job. This object will not exist for all invocations of a UWS conformant protocol, but only in cases where the access to the service is authenticated as discussed more thoroughly in section
354            <h:span xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="xref"><a href="#security">3. </a></h:span>. </p>            <span xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="xref"><a href="#security">3. </a></span>. </p>
355        </div>        </div>
356        <div class="section"><h4><a name="Error" id="Error3" shape="rect"/><span class="secnum">2.1.9. </span>RunId</h4>        <div class="section"><h4><a name="Error" id="Error3" shape="rect"/><span class="secnum">2.1.9. </span>RunId</h4>
357          <p>The RunId object represents an identifier that the job creator uses to identify the job. Note that this is distinct from the Job Identifier that the UWS system itself assigns to each job. The UWS system should do no parsing or processing of the RunId, but merely pass back the value (if it exists) as it was passed to the UWS at job creation time. In particular it may be the case that multiple jobs have the same RunId, as this is a mechanism by which the calling process can identify jobs that belong to a particular group. The exact mechanism of setting the RunId is not specified here, but will be part of the specification of the protocol using the UWS pattern.</p>          <p>The RunId object represents an identifier that the job creator uses to identify the job. Note that this is distinct from the Job Identifier that the UWS system itself assigns to each job. The UWS system should do no parsing or processing of the RunId, but merely pass back the value (if it exists) as it was passed to the UWS at job creation time. In particular it may be the case that multiple jobs have the same RunId, as this is a mechanism by which the calling process can identify jobs that belong to a particular group. The exact mechanism of setting the RunId is not specified here, but will be part of the specification of the protocol using the UWS pattern.</p>
# Line 370  Line 368 
368            to the Results List.</p>            to the Results List.</p>
369        </div>        </div>
370        <div class="section"><h4><a name="ResultsList" id="ResultsList2" shape="rect"/><span class="secnum">2.1.11. </span>Parameter List</h4>        <div class="section"><h4><a name="ResultsList" id="ResultsList2" shape="rect"/><span class="secnum">2.1.11. </span>Parameter List</h4>
371          <p>the  Parameter List is an          <p>The  Parameter List is an
372            enumeration of the Job parameters. The form that the parameters take will depend on the JDL of the implementing service - for instance if the JDL is expressed as a single XML document, then there would be a single "parameter" that was that XML document. For services where the JDL consists of a list of name/value pairs (typical of the standard IVOA "simple" access protocols), then these would naturally be expressed in the parameter list. Each parameter value may be expressed either directly as the content of the parameter element, or the value expressed "by reference", where there returned parameter value is a URL that points to the location where the actual parameter value is stored.</p>            enumeration of the Job parameters. The form that the parameters take will depend on the JDL of the implementing service - for instance if the JDL is expressed as a single XML document, then there would be a single "parameter" that was that XML document. For services where the JDL consists of a list of name/value pairs (typical of the standard IVOA "simple" access protocols), then these would naturally be expressed in the parameter list. Each parameter value may be expressed either directly as the content of the parameter element, or the value expressed "by reference", where there returned parameter value is a URL that points to the location where the actual parameter value is stored.</p>
373          <p>A particular implementation of UWS may choose to allow the parameters to be updated after the initial job creation step, before the Phase is set to the executing state. It is up to the individual implementation to specify exactly how these parameters may be updated, but good practice (in the REST binding) would be to choose one of the following options.</p>          <p>A particular implementation of UWS may choose to allow the parameters to be updated after the initial job creation step, before the Phase is set to the executing state. It is up to the individual implementation to specify exactly how these parameters may be updated, but good practice (in the REST binding) would be to choose one of the following options.</p>
374          <ol><li>HTTP POST an <i>application/x-www-form-urlencoded</i><b> </b>parameter name, value pair to either          <ol><li>HTTP POST an <i>application/x-www-form-urlencoded</i><b> </b>parameter name, value pair to either
375              <ol><li>/{jobs}/{job-id)</li><li>/{jobs}/{job-id)/parameters</li></ol>              <ol><li>/{jobs}/{job-id)</li><li>/{jobs}/{job-id)/parameters</li></ol>
376            </li><li>HTTP PUT the parameter value to /{jobs}/{job-id)/parameters/(parameter-name)</li></ol>            </li><li>HTTP PUT the parameter value to /{jobs}/{job-id)/parameters/(parameter-name)</li></ol>
377            <p>Additionally a particular implementation of UWS may allow the "job control" parameters (see section <span xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="xref"><a href="#jobcontrol">2.2.3. </a></span>) to be specified as part of the JDL. If doing this then the implementation must document the possibility and must use the standard parameter names (which may cause a conflict with parameters in the JDL, which is one of the reasons for the two stage job creation pattern of UWS).</p>
378        </div>        </div>
379      </div>      </div>
380      <div class="section"><h3><a name="RESTbinding" id="RESTbinding" shape="rect"/><span class="secnum">2.2. </span>The REST Binding</h3>      <div class="section"><h3><a name="RESTbinding" id="RESTbinding" shape="rect"/><span class="secnum">2.2. </span>The REST Binding</h3>
# Line 393  Line 392 
392            Transfer) binding of UWS, each of the objects defined above is            Transfer) binding of UWS, each of the objects defined above is
393            available as a web resource with its own URI. These URIs must form a            available as a web resource with its own URI. These URIs must form a
394            hierarchy as shown in the table below:</p>            hierarchy as shown in the table below:</p>
395          <table border="1" cellpadding="2" cellspacing="0"><tr><th scope="col" rowspan="1" colspan="1">URI</th><th scope="col" rowspan="1" colspan="1">Description</th><th scope="col" rowspan="1" colspan="1">Representation</th></tr><tr><td rowspan="1" colspan="1">/{jobs}</td><td rowspan="1" colspan="1">the Job List</td><td rowspan="1" colspan="1"> the <span class="xmlelement">&lt;jobs&gt;</span> element in the UWS schema</td></tr><tr><td rowspan="1" colspan="1">/{jobs}/(job-id)</td><td rowspan="1" colspan="1">a Job</td><td rowspan="1" colspan="1"><p>the <span class="xmlelement">&lt;job&gt;</span> element in the UWS schema<br clear="none"/>          <table border="1" cellpadding="2" cellspacing="0"><tr><th scope="col" rowspan="1" colspan="1">URI</th><th scope="col" rowspan="1" colspan="1">Description</th><th scope="col" rowspan="1" colspan="1">Representation</th></tr><tr><td rowspan="1" colspan="1">/{jobs}</td><td rowspan="1" colspan="1">the Job List</td><td rowspan="1" colspan="1"> the <span class="xmlelement">&lt;jobs&gt;</span> element in the UWS schema</td></tr><tr><td rowspan="1" colspan="1">/{jobs}/(job-id)</td><td rowspan="1" colspan="1">a Job</td><td rowspan="1" colspan="1"><p>the <span class="xmlelement">&lt;job&gt;</span> element in the UWS schema<br/>
396              </p></td></tr><tr><td rowspan="1" colspan="1">/{jobs}/(job-id)/phase</td><td rowspan="1" colspan="1"> the Phase of job              </p></td></tr><tr><td rowspan="1" colspan="1">/{jobs}/(job-id)/phase</td><td rowspan="1" colspan="1"> the Phase of job
397            (job-id)</td><td rowspan="1" colspan="1">one of the fixed strings</td></tr><tr><td rowspan="1" colspan="1">/{jobs}/(job-id)/executionduration</td><td rowspan="1" colspan="1">the            (job-id)</td><td rowspan="1" colspan="1">one of the fixed strings</td></tr><tr><td rowspan="1" colspan="1">/{jobs}/(job-id)/executionduration</td><td rowspan="1" colspan="1">the
398            maximum execution duration of (job-id)</td><td rowspan="1" colspan="1">Integer number of seconds</td></tr><tr><td rowspan="1" colspan="1">/{jobs}/(job-id)/destruction</td><td rowspan="1" colspan="1"> the            maximum execution duration of (job-id)</td><td rowspan="1" colspan="1">Integer number of seconds</td></tr><tr><td rowspan="1" colspan="1">/{jobs}/(job-id)/destruction</td><td rowspan="1" colspan="1"> the
# Line 404  Line 403 
403            (job-id)</td><td rowspan="1" colspan="1">Integer number of seconds</td></tr><tr><td rowspan="1" colspan="1">/{jobs}/(job-id)/results</td><td rowspan="1" colspan="1">any parameters for the job            (job-id)</td><td rowspan="1" colspan="1">Integer number of seconds</td></tr><tr><td rowspan="1" colspan="1">/{jobs}/(job-id)/results</td><td rowspan="1" colspan="1">any parameters for the job
404            (job-id)</td><td rowspan="1" colspan="1">the <span class="xmlelement">&lt;results&gt;</span> element in the UWS schema</td></tr><tr><td rowspan="1" colspan="1">/{jobs}/(job-id)/parameters</td><td rowspan="1" colspan="1">any parameters for the job            (job-id)</td><td rowspan="1" colspan="1">the <span class="xmlelement">&lt;results&gt;</span> element in the UWS schema</td></tr><tr><td rowspan="1" colspan="1">/{jobs}/(job-id)/parameters</td><td rowspan="1" colspan="1">any parameters for the job
405            (job-id)</td><td rowspan="1" colspan="1">the <span class="xmlelement">&lt;parameters&gt;</span> element in the UWS schema</td></tr><tr><td rowspan="1" colspan="1">/{jobs}/(job-id)/owner</td><td rowspan="1" colspan="1">the owner of the job (job-id)</td><td rowspan="1" colspan="1">an appropriate identifier as discussed in            (job-id)</td><td rowspan="1" colspan="1">the <span class="xmlelement">&lt;parameters&gt;</span> element in the UWS schema</td></tr><tr><td rowspan="1" colspan="1">/{jobs}/(job-id)/owner</td><td rowspan="1" colspan="1">the owner of the job (job-id)</td><td rowspan="1" colspan="1">an appropriate identifier as discussed in
406                <h:span xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="xref"><a href="#security">3. </a></h:span></td></tr></table>                <span xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="xref"><a href="#security">3. </a></span></td></tr></table>
407          <p>The service implementer is free to          <p>The service implementer is free to
408            choose the names given in parentheses above, i.e. the root of the URI tree, and the form that the job identifier takes (though note that it should be a legal URI path element) - the other names are part            choose the names given in parentheses above, i.e. the root of the URI tree, and the form that the job identifier takes (though note that it should be a legal URI path element) - the other names are part
409            of the UWS standard.</p>            of the UWS standard.</p>
# Line 416  Line 415 
415          <p>Each of the UWS objects is mapped to a resource URI as detailed in the table above, and for each URI, a HTTP GET          <p>Each of the UWS objects is mapped to a resource URI as detailed in the table above, and for each URI, a HTTP GET
416            fetches a representation of that resource. In general where an object is a container for other objects (Job List, Job, Result List, Parameter List) then an XML representation of the object should be returned, otherwise for simple atomic types (Quote, Execution Duration etc.) a textual (mime type "text/plain") representation should be returned. The XML schema for the various objects described above is            fetches a representation of that resource. In general where an object is a container for other objects (Job List, Job, Result List, Parameter List) then an XML representation of the object should be returned, otherwise for simple atomic types (Quote, Execution Duration etc.) a textual (mime type "text/plain") representation should be returned. The XML schema for the various objects described above is
417            detailed in            detailed in
418            <h:span xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="xref"><a href="#UWSSchema">Appendix B. </a></h:span>            <span xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="xref"><a href="#UWSSchema">Appendix B. </a></span>
419            of this specification. This schema is the definitive description of the exact form of the XML returned by a UWS and must not vary between implementations.</p>            of this specification. This schema is the definitive description of the exact form of the XML returned by a UWS and must not vary between implementations.</p>
420          <p>HTTP allows multiple representations          <p>HTTP allows multiple representations
421            of a resource distinguished by their MIME types and selected by the            of a resource distinguished by their MIME types and selected by the
# Line 437  Line 436 
436              idle.</p>              idle.</p>
437          </div>          </div>
438          <div class="section"><h4><a name="d1e1040" id="d1e1040" shape="rect"/><span class="secnum">2.2.2.2. </span>Job</h4>          <div class="section"><h4><a name="d1e1040" id="d1e1040" shape="rect"/><span class="secnum">2.2.2.2. </span>Job</h4>
439            <p>The representation of a Job is as specified by the <span class="xmlelement">&lt;job&gt;</span> element in the UWS schema as detailed in <h:span xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="xref"><a href="#UWSSchema">Appendix B. </a></h:span>            <p>The representation of a Job is as specified by the <span class="xmlelement">&lt;job&gt;</span> element in the UWS schema as detailed in <span xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="xref"><a href="#UWSSchema">Appendix B. </a></span>
440            an example or such a job instance is shown below</p>            an example or such a job instance is shown below</p>
441            <div><?incxml href="../UWSJobInstance.xml" ?><div xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="viewxml"><div class="element"><span class="markup">&lt;</span><span class="start-tag">uws:job</span> <span class="attribute-name">xsi:schemaLocation</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS/v1.0rc3 UWS.xsd "</span> <span class="attribute-name">xmlns:xml</span><span class="markup">=</span><span class="attribute-value">"http://www.w3.org/XML/1998/namespace"</span> <span class="attribute-name">xmlns:uws</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS/v1.0rc3"</span> <span class="attribute-name">xmlns:xlink</span><span class="markup">=</span><span class="attribute-value">"http://www.w3.org/1999/xlink"</span> <span class="attribute-name">xmlns:xsi</span><span class="markup">=</span><span class="attribute-value">"http://www.w3.org/2001/XMLSchema-instance"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:jobId</span><span class="markup">&gt;</span><span class="text">cea-agdevel.jb.man.ac.uk-130.88.24.18-1242749568029-508182314</span><span class="markup">&lt;/</span><span class="end-tag">uws:jobId</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:ownerId</span> <span class="attribute-name">xsi:nil</span><span class="markup">=</span><span class="attribute-value">"true"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:phase</span><span class="markup">&gt;</span><span class="text">COMPLETED</span><span class="markup">&lt;/</span><span class="end-tag">uws:phase</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:startTime</span><span class="markup">&gt;</span><span class="text">2009-05-19T17:12:48.038+01:00</span><span class="markup">&lt;/</span><span class="end-tag">uws:startTime</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:endTime</span><span class="markup">&gt;</span><span class="text">2009-05-19T17:12:48.041+01:00</span><span class="markup">&lt;/</span><span class="end-tag">uws:endTime</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:executionDuration</span><span class="markup">&gt;</span><span class="text">86400</span><span class="markup">&lt;/</span><span class="end-tag">uws:executionDuration</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:destruction</span><span class="markup">&gt;</span><span class="text">2009-05-29T17:12:48.035+01:00</span><span class="markup">&lt;/</span><span class="end-tag">uws:destruction</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">uws:parameters</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:parameter</span> <span class="attribute-name">id</span><span class="markup">=</span><span class="attribute-value">"scaleFactor"</span><span class="markup">&gt;</span><span class="text">1.8</span><span class="markup">&lt;/</span><span class="end-tag">uws:parameter</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:parameter</span> <span class="attribute-name">id</span><span class="markup">=</span><span class="attribute-value">"image"</span> <span class="attribute-name">byReference</span><span class="markup">=</span><span class="attribute-value">"true"</span><span class="markup">&gt;</span><span class="text">            <div><?incxml href="../UWSJobInstance.xml" ?><div xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="viewxml"><div class="element"><span class="markup">&lt;</span><span class="start-tag">uws:job</span> <span class="attribute-name">xsi:schemaLocation</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS/v1.0 UWS.xsd "</span> <span class="attribute-name">xmlns:xml</span><span class="markup">=</span><span class="attribute-value">"http://www.w3.org/XML/1998/namespace"</span> <span class="attribute-name">xmlns:uws</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS/v1.0"</span> <span class="attribute-name">xmlns:xlink</span><span class="markup">=</span><span class="attribute-value">"http://www.w3.org/1999/xlink"</span> <span class="attribute-name">xmlns:xsi</span><span class="markup">=</span><span class="attribute-value">"http://www.w3.org/2001/XMLSchema-instance"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:jobId</span><span class="markup">&gt;</span><span class="text">cea-agdevel.jb.man.ac.uk-130.88.24.18-1242749568029-508182314</span><span class="markup">&lt;/</span><span class="end-tag">uws:jobId</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:ownerId</span> <span class="attribute-name">xsi:nil</span><span class="markup">=</span><span class="attribute-value">"true"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:phase</span><span class="markup">&gt;</span><span class="text">COMPLETED</span><span class="markup">&lt;/</span><span class="end-tag">uws:phase</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:startTime</span><span class="markup">&gt;</span><span class="text">2009-05-19T17:12:48.038+01:00</span><span class="markup">&lt;/</span><span class="end-tag">uws:startTime</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:endTime</span><span class="markup">&gt;</span><span class="text">2009-05-19T17:12:48.041+01:00</span><span class="markup">&lt;/</span><span class="end-tag">uws:endTime</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:executionDuration</span><span class="markup">&gt;</span><span class="text">86400</span><span class="markup">&lt;/</span><span class="end-tag">uws:executionDuration</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:destruction</span><span class="markup">&gt;</span><span class="text">2009-05-29T17:12:48.035+01:00</span><span class="markup">&lt;/</span><span class="end-tag">uws:destruction</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">uws:parameters</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:parameter</span> <span class="attribute-name">id</span><span class="markup">=</span><span class="attribute-value">"scaleFactor"</span><span class="markup">&gt;</span><span class="text">1.8</span><span class="markup">&lt;/</span><span class="end-tag">uws:parameter</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:parameter</span> <span class="attribute-name">id</span><span class="markup">=</span><span class="attribute-value">"image"</span> <span class="attribute-name">byReference</span><span class="markup">=</span><span class="attribute-value">"true"</span><span class="markup">&gt;</span><span class="text">
442           http://myserver.org/uws/jobs/jobid123/param/image</span><span class="markup">&lt;/</span><span class="end-tag">uws:parameter</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">uws:parameters</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">uws:results</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:result</span> <span class="attribute-name">id</span><span class="markup">=</span><span class="attribute-value">"correctedImage"</span> <span class="attribute-name">xlink:href</span><span class="markup">=</span><span class="attribute-value">"http://myserver.org/uws/jobs/jobid123/result/image"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">uws:results</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">uws:errorSummary</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"transient"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:message</span><span class="markup">&gt;</span><span class="text">we have problem</span><span class="markup">&lt;/</span><span class="end-tag">uws:message</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:detail</span> <span class="attribute-name">xlink:href</span><span class="markup">=</span><span class="attribute-value">"http://myserver.org/uws/jobs/jobid123/error"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">uws:errorSummary</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">uws:jobInfo</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">any</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xml</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">thatyouwant</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xml</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">any</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">uws:jobInfo</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">uws:job</span><span class="markup">&gt;</span></div></div></div>           http://myserver.org/uws/jobs/jobid123/param/image</span><span class="markup">&lt;/</span><span class="end-tag">uws:parameter</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">uws:parameters</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">uws:results</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:result</span> <span class="attribute-name">id</span><span class="markup">=</span><span class="attribute-value">"correctedImage"</span> <span class="attribute-name">xlink:href</span><span class="markup">=</span><span class="attribute-value">"http://myserver.org/uws/jobs/jobid123/result/image"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">uws:results</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">uws:errorSummary</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"transient"</span> <span class="attribute-name">hasDetail</span><span class="markup">=</span><span class="attribute-value">"true"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">uws:message</span><span class="markup">&gt;</span><span class="text">we have problem</span><span class="markup">&lt;/</span><span class="end-tag">uws:message</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">uws:errorSummary</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">uws:jobInfo</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">any</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xml</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">thatyouwant</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xml</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">any</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">uws:jobInfo</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">uws:job</span><span class="markup">&gt;</span></div></div></div>
443            <p>The <span class="xmlelement">&lt;job&gt;</span> element has placeholders of all of the standard UWS objects, and in addition there is a <span class="xmlelement">&lt;uws:jobinfo&gt;</span> element which can be used by implementations to include any extra information within the job description.</p>            <p>The <span class="xmlelement">&lt;job&gt;</span> element has placeholders of all of the standard UWS objects, and in addition there is a <span class="xmlelement">&lt;uws:jobinfo&gt;</span> element which can be used by implementations to include any extra information within the job description.</p>
444          </div>          </div>
445          <div class="section"><h4><a name="d1e1344" id="d1e1344" shape="rect"/><span class="secnum">2.2.2.3. </span>Results List</h4>          <div class="section"><h4><a name="d1e1344" id="d1e1344" shape="rect"/><span class="secnum">2.2.2.3. </span>Results List</h4>
# Line 461  Line 460 
460            <p>When an error occurs in a job the UWS must signal this at a minimum by setting the PHASE to error. In addition the <span class="xmlelement">&lt;errorSummary&gt;</span> element, giving a brief summary of the error, should be included within the <span class="xmlelement">&lt;job&gt;</span> element. The UWS may include a more detailed error message for example an execution log or stack trace by providing such a resource at the /(jobs}/(jobid)/error URI. It is the responsibility of the implementing service to specify the form that such an error message may take.</p>            <p>When an error occurs in a job the UWS must signal this at a minimum by setting the PHASE to error. In addition the <span class="xmlelement">&lt;errorSummary&gt;</span> element, giving a brief summary of the error, should be included within the <span class="xmlelement">&lt;job&gt;</span> element. The UWS may include a more detailed error message for example an execution log or stack trace by providing such a resource at the /(jobs}/(jobid)/error URI. It is the responsibility of the implementing service to specify the form that such an error message may take.</p>
461            </div>            </div>
462        </div>        </div>
463        <div class="section"><h4><a name="d1e634" id="d1e634" shape="rect"/><span class="secnum">2.2.3. </span>State changing requests</h4>        <div class="section"><h4><a name="jobcontrol" id="jobcontrol" shape="rect"/><span class="secnum">2.2.3. </span>State changing requests</h4>
464          <p>Certain of the UWS' resources accept          <p>Certain of the UWS' resources accept
465            HTTP POST and DELETE messages to change the state of the service &#8211;            HTTP POST and DELETE messages to change the state of the service &#8211;
466            This is the fundamental way that a client controls the execution of a            This is the fundamental way that a client controls the execution of a
# Line 483  Line 482 
482              job.</p>              job.</p>
483            <p>This initial POST will in most cases            <p>This initial POST will in most cases
484              carry parameters for the protocol that is using the UWS pattern, as              carry parameters for the protocol that is using the UWS pattern, as
485              detailed in <h:span xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="xref"><a href="#ApplicationsOfUWS">4. </a></h:span>              detailed in <span xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="xref"><a href="#ApplicationsOfUWS">4. </a></span>
486              .In addition for the initial post may contain job control parameters if allowed by the implementing protocol (i.e. if UWS job control parameter names do not clash with the implementing protocol parameters). One use of this facility might be to have the job placed into a potentially running state by adding PHASE=RUN to the job creation step.</p>              .In addition for the initial post may contain job control parameters if allowed by the implementing protocol (i.e. if UWS job control parameter names do not clash with the implementing protocol parameters). One use of this facility might be to have the job placed into a potentially running state by adding PHASE=RUN to the job creation step.</p>
487          </div>          </div>
488          <div class="section"><h4><a name="d1e1390" id="d1e1390" shape="rect"/><span class="secnum">2.2.3.2. </span>Deleting a Job</h4>          <div class="section"><h4><a name="d1e1390" id="d1e1390" shape="rect"/><span class="secnum">2.2.3.2. </span>Deleting a Job</h4>
# Line 552  Line 551 
551            message pattern shown in figure 2.</p>            message pattern shown in figure 2.</p>
552          <p><i>Illustration 2:          <p><i>Illustration 2:
553          Typical calling sequence for the REST binding of UWS</i></p>          Typical calling sequence for the REST binding of UWS</i></p>
554          <p><img src="Sequence_Diagram__UWS__Rest_Message_Pattern__Rest_Message_Pattern__Rest_Message_Pattern.png" width="500" height="260" border="0" align="left" id="graphics3" alt="rest message pattern"/>          </p>          <p><img src="Sequence_Diagram__UWS__Rest_Message_Pattern__Rest_Message_Pattern__Rest_Message_Pattern.png" width="100%" id="graphics3" alt="rest message pattern"/></p>
555          <br style="clear: both;" clear="none"/>          <br style="clear: both;"/>
556        </div>        </div>
557      </div>      </div>
558      </div>      </div>
559    <div class="section"><h2><a name="security" id="security" shape="rect"/><span class="secnum">3. </span>Security Considerations (normative)</h2>    <div class="section"><h2><a name="security" id="security" shape="rect"/><span class="secnum">3. </span>Security Considerations (normative)</h2>
560      <p>A UWS should follow IVOA standards for security <cite>      <p>A UWS should follow IVOA standards for security <cite>
561      [<a xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" href="#std:ssoauth">std:ssoauth</a>]      [<a xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" href="#std:ssoauth">std:ssoauth</a>]
562      </cite> if it is desired that a non-public UWS be created. It is possible to imagine many different authorization policies that might be employed in an authenticated UWS, where particular groups of users have different permissions to create and view different types of jobs. A full discussion of such authorization policies is beyond the scope of this document, but a UWS should behave as described in section <h:span xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="xref"><a href="#RESTbinding">2.2. </a></h:span>      </cite> if it is desired that a non-public UWS be created. It is possible to imagine many different authorization policies that might be employed in an authenticated UWS, where particular groups of users have different permissions to create and view different types of jobs. A full discussion of such authorization policies is beyond the scope of this document, but a UWS should behave as described in section <span xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="xref"><a href="#RESTbinding">2.2. </a></span>
563      for any individual authenticated user, although it is clear that a user without sufficient privileges might only obtain a restricted list of jobs within the joblist at /{jobs}. Any attempt to retrieve a job for which the user does not have sufficient privilege should result in a 403 Forbidden HTTP status being returned.</p>      for any individual authenticated user, although it is clear that a user without sufficient privileges might only obtain a restricted list of jobs within the joblist at /{jobs}. Any attempt to retrieve a job for which the user does not have sufficient privilege should result in a 403 Forbidden HTTP status being returned.</p>
564      <p>When an authentication mechanism is used in the UWS then the implementation should set the owner object to the identity obtained by the authentication. </p>      <p>When an authentication mechanism is used in the UWS then the implementation should set the owner object to the identity obtained by the authentication. </p>
565    </div>    </div>
# Line 796  Line 795 
795  </div>  </div>
796    
797  <div class="section"><h2><a name="UWSSchema" id="UWSSchema" shape="rect"/><span class="secnum">Appendix B. </span> UWS Schema</h2>  <div class="section"><h2><a name="UWSSchema" id="UWSSchema" shape="rect"/><span class="secnum">Appendix B. </span> UWS Schema</h2>
798    <p>Note that this schema can be found on-line at <a href="http://www.ivoa.net/xml/UWS/1.0" shape="rect">http://www.ivoa.net/xml/UWS/v1.0</a> (i.e. the target namespace    <p>Note that this schema can be found on-line at <a href="http://www.ivoa.net/xml/UWS/v1.0" shape="rect">http://www.ivoa.net/xml/UWS/v1.0</a> (i.e. the target namespace
799  can also be used as a URL for the schema.) This location should  can also be used as a URL for the schema.) This location should
800  represent the definitive source, the schema is reproduced below only for  represent the definitive source, the schema is reproduced below only for
801  completeness of this document.</p>  completeness of this document.</p>
802    <div><?incxml href="../UWS.xsd"?><div xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="viewxml"><div class="comment">&lt;!-- $Id$ --&gt;</div><div class="comment">&lt;!-- UWS schema - Paul Harrison May 2008 --&gt;</div><div class="comment">&lt;!--    <div><?incxml href="../UWS.xsd"?><div xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="viewxml"><div class="comment">&lt;!-- $Revision$ $Date$  $HeadURL$ --&gt;</div><div class="comment">&lt;!-- UWS schema - Paul Harrison May 2008 --&gt;</div><div class="comment">&lt;!--
803        $Log: UWS.xsd,v $        $Log: UWS.xsd,v $
804        Revision 1.1  2009/06/15 15:30:32  pah        Revision 1.1  2009/06/15 15:30:32  pah
805        made some of the global element defintions for job subobjects just local again        made some of the global element defintions for job subobjects just local again
# Line 815  Line 814 
814        schemaLocation="../../../stc/STC/v1.30/XLINK.xsd" /&gt;        schemaLocation="../../../stc/STC/v1.30/XLINK.xsd" /&gt;
815  --&gt;</div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:import</span> <span class="attribute-name">namespace</span><span class="markup">=</span><span class="attribute-value">"http://www.w3.org/1999/xlink"</span> <span class="attribute-name">schemaLocation</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/Xlink/xlink.xsd"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:complexType</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"ShortJobDescription"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:sequence</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"phase"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uws:ExecutionPhase"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text"> the execution phase - returned at  --&gt;</div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:import</span> <span class="attribute-name">namespace</span><span class="markup">=</span><span class="attribute-value">"http://www.w3.org/1999/xlink"</span> <span class="attribute-name">schemaLocation</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/Xlink/xlink.xsd"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:complexType</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"ShortJobDescription"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:sequence</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"phase"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uws:ExecutionPhase"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text"> the execution phase - returned at
816                    /(jobs)/(jobid)/phase</span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:element</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:sequence</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:attribute</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"id"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uws:JobIdentifier"</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"required"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:attributeGroup</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:reference"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:complexType</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:attributeGroup</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"reference"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">standard xlink references                    /(jobs)/(jobid)/phase</span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:element</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:sequence</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:attribute</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"id"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uws:JobIdentifier"</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"required"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:attributeGroup</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:reference"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:complexType</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:attributeGroup</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"reference"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">standard xlink references
817           </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:attribute</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"xlink:type"</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"optional"</span> <span class="attribute-name">default</span><span class="markup">=</span><span class="attribute-value">"simple"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:attribute</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"xlink:href"</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"optional"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:attributeGroup</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:simpleType</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"ExecutionPhase"</span><span class="markup">&gt;</span><div class="comment">&lt;!--           </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:attribute</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"xlink:type"</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"optional"</span> <span class="attribute-name">default</span><span class="markup">=</span><span class="attribute-value">"simple"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:attribute</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"xlink:href"</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"optional"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:attributeGroup</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:simpleType</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"ExecutionPhase"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text"> Enumeration of possible phases of job
          need to think a little here about the implication of allowing a  
          "re-entrant" application that is capable of running  
          mini-jobs...probably this is indicated with a different state  
          varible entirely  
       --&gt;</div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text"> Enumeration of possible phases of job  
818              execution</span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:restriction</span> <span class="attribute-name">base</span><span class="markup">=</span><span class="attribute-value">"xs:string"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:enumeration</span> <span class="attribute-name">value</span><span class="markup">=</span><span class="attribute-value">"PENDING"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text"> The first phase a job is entered into              execution</span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:restriction</span> <span class="attribute-name">base</span><span class="markup">=</span><span class="attribute-value">"xs:string"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:enumeration</span> <span class="attribute-name">value</span><span class="markup">=</span><span class="attribute-value">"PENDING"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text"> The first phase a job is entered into
819                    - this is where a job is being set up but no request                    - this is where a job is being set up but no request
820                    to run has occurred.</span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:enumeration</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:enumeration</span> <span class="attribute-name">value</span><span class="markup">=</span><span class="attribute-value">"QUEUED"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text"> An job has been accepted for execution                    to run has occurred.</span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:enumeration</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:enumeration</span> <span class="attribute-name">value</span><span class="markup">=</span><span class="attribute-value">"QUEUED"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text"> An job has been accepted for execution
# Line 876  Line 870 
870                 the parameter must allow the whole job element to be                 the parameter must allow the whole job element to be
871                 valid XML. If this cannot be achieved then the parameter                 valid XML. If this cannot be achieved then the parameter
872                 value must be returned by reference.</span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:attribute</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:attribute</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"id"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xs:string"</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"required"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text"> the identifier for the parameter                 value must be returned by reference.</span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:attribute</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:attribute</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"id"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xs:string"</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"required"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text"> the identifier for the parameter
873              </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:attribute</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:attribute</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"isPost"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xs:boolean"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:complexType</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameter"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uws:Parameter"</span> <span class="attribute-name">maxOccurs</span><span class="markup">=</span><span class="attribute-value">"unbounded"</span> <span class="attribute-name">minOccurs</span><span class="markup">=</span><span class="attribute-value">"0"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:element</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:schema</span><span class="markup">&gt;</span></div><div class="comment">&lt;!--              </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:attribute</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:attribute</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"isPost"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xs:boolean"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:complexType</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameter"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uws:Parameter"</span> <span class="attribute-name">maxOccurs</span><span class="markup">=</span><span class="attribute-value">"unbounded"</span> <span class="attribute-name">minOccurs</span><span class="markup">=</span><span class="attribute-value">"0"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:element</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:schema</span><span class="markup">&gt;</span></div><div class="comment">&lt;!-- --&gt;</div></div></div>
   
  --&gt;</div></div></div>  
874  </div>  </div>
875  </div>  </div>
876  <div class="section-nonum'"><h2><a name="References" id="References" shape="rect"/>References</h2>  <div class="section-nonum'"><h2><a name="References" id="References" shape="rect"/>References</h2>

Legend:
Removed from v.1248  
changed lines
  Added in v.1249

msdemlei@ari.uni-heidelberg.de
ViewVC Help
Powered by ViewVC 1.1.26