/[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 2708 by harripa@gmail.com, Thu May 29 10:34:34 2014 UTC revision 2709 by harripa@gmail.com, Tue Sep 30 11:23:42 2014 UTC
# Line 7  Line 7 
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" xml:space="preserve">  <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" xml:space="preserve">
8  <head profile="http://www.w3.org/1999/xhtml/vocab"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  <head profile="http://www.w3.org/1999/xhtml/vocab"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
9    
10  <title>Universal Worker Service Pattern 1.1   - IVOA Working Draft  27 May 2014</title>  <title>Universal Worker Service Pattern 1.1    - IVOA Working Draft  30 September 2014</title>
11  <meta name="Title" content="IVOA WG Internal Draft" />  <meta name="Title" content="IVOA WG Internal Draft" />
12  <meta name="author" content="Paul Harrison, paul.harrison@manchester.ac.uk" />  <meta name="author" content="Paul Harrison, paul.harrison@manchester.ac.uk" />
13  <meta name="maintainedBy" content="Paul Harrison, paul.harrison@manchester.ac.uk" />  <meta name="maintainedBy" content="Paul Harrison, paul.harrison@manchester.ac.uk" />
# Line 29  Line 29 
29    </div>    </div>
30    <h1>Universal Worker Service Pattern<br clear="none" />    <h1>Universal Worker Service Pattern<br clear="none" />
31    Version <span class="docversion">1.1</span></h1>    Version <span class="docversion">1.1</span></h1>
32  <h2 class="subtitle">IVOA Working Draft  27 May 2014</h2>  <h2 class="subtitle">IVOA Working Draft  30 September 2014</h2>
33  <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>  <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>
34  <dt><b>This version:</b></dt><dd><a href="http://www.ivoa.net/Documents/UWS/20140527/WD-UWS-1.1-20140527.html" shape="rect">http://www.ivoa.net/Documents/UWS/201405127/WD-UWS-1.1-20140527.html</a></dd>  <dt><b>This version:</b></dt><dd><a href="http://www.ivoa.net/Documents/UWS/20140527/WD-UWS-1.1-20140527.html" shape="rect">http://www.ivoa.net/Documents/UWS/201405127/WD-UWS-1.1-20140527.html</a></dd>
35  <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>Latest version:</b></dt><dd><a href="http://www.ivoa.net/Documents/UWS/" shape="rect">http://www.ivoa.net/Documents/UWS/</a></dd>
36  <dt><b>Previous version(s):</b></dt><dd> Proposed Recommendation v1.0, 2009-09-09<br clear="none" />  <dt><b>Previous version(s):</b></dt><dd> Proposed Recommendation v1.0, 2009-09-09<br clear="none" />
37    <a href="http://www.ivoa.net/documents/UWS/20101010/">Recommendation v1.0 2010-10-10</a><br clear="none" />    <a href="http://www.ivoa.net/documents/UWS/20101010/" shape="rect">Recommendation v1.0 2010-10-10</a><br clear="none" />
38  </dd><dt> <br clear="none" />    <a href="http://www.ivoa.net/documents/UWS/20140527/" shape="rect">Working Draft v1.1 2014-05-27</a><br clear="none" />
39      </dd>
40    <dt>    
41    </dt>
42    <dt> <br clear="none" />
43    </dt><dd>&nbsp;</dd><dt><b>Author(s):</b></dt><dd>  P.    </dt><dd>&nbsp;</dd><dt><b>Author(s):</b></dt><dd>  P.
44      Harrison, G. Rixon</dd></dl>      Harrison, G. Rixon</dd></dl>
45    
# Line 58  Line 62 
62    statefulness are distilled from debates in the Global Grid Forum in    statefulness are distilled from debates in the Global Grid Forum in
63    respect of the Open Grid Services Infrastructure that was the    respect of the Open Grid Services Infrastructure that was the
64    fore-runner of Web Services Resource Framework. The REST binding came    fore-runner of Web Services Resource Framework. The REST binding came
65    initially from suggestions by Norman Gray. Enhancements introduced in version 1.1 were as a result of feedback from implementors, particularly Pat Dowler and Petr ┼ákoda.</p>    initially from suggestions by Norman Gray. Enhancements introduced in version 1.1 were as a result of feedback from implementors, particularly Pat Dowler, Dave Morris and Petr ┼ákoda.</p>
66  </div><h2>Contents</h2><div><!--The contents of this div are automatically generated from the following processing instruction when processed with ivoarestructure.xsl-->  </div><h2>Contents</h2><div><!--The contents of this div are automatically generated from the following processing instruction when processed with ivoarestructure.xsl-->
67      <?toc?><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><li><a href="#IVOARCH"><span class="secnum">1.4. </span>UWS in the IVOA Architecture</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><ul><li><a href="#blocking"><span class="secnum">2.2.1.1. </span>Blocking Endpoints</a></li></ul></li><li><a href="#d1e603"><span class="secnum">2.2.2. </span>Representations of resources</a><ul><li><a href="#jobList"><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="#resultList"><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="#jobCreation"><span class="secnum">2.2.3.1. </span>Creating a Job</a><ul><li><a href="#d2e1612"><span class="secnum">2.2.3.1.1. </span>Inline Parameters</a></li></ul></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 Time</a></li><li><a href="#d1e1420"><span class="secnum">2.2.3.4. </span>Changing the Execution 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>Parameterised 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">A. </span>Updates from previous versions</a><ul><li><a href="#d1e1112"><span class="secnum">A.1. </span>At Version 0.5</a></li><li><a href="#d1e1775"><span class="secnum">A.2. </span>At Version 1.0</a></li><li><a href="#ver11"><span class="secnum">A.3. </span>At Version 1.1</a></li></ul></li><li><a href="#UWSSchema"><span class="secnum">B. </span>UWS Schema</a></li></ul></div>      <?toc?><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><li><a href="#IVOARCH"><span class="secnum">1.4. </span>UWS in the IVOA Architecture</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><ul><li><a href="#blocking"><span class="secnum">2.2.1.1. </span>Blocking Behaviour</a></li></ul></li><li><a href="#d1e603"><span class="secnum">2.2.2. </span>Representations of resources</a><ul><li><a href="#jobList"><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="#resultList"><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="#jobCreation"><span class="secnum">2.2.3.1. </span>Creating a Job</a><ul><li><a href="#d2e1612"><span class="secnum">2.2.3.1.1. </span>Inline Parameters</a></li></ul></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 Time</a></li><li><a href="#d1e1420"><span class="secnum">2.2.3.4. </span>Changing the Execution 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>Parameterised 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">A. </span>Updates from previous versions</a><ul><li><a href="#d1e1112"><span class="secnum">A.1. </span>At Version 0.5</a></li><li><a href="#d1e1775"><span class="secnum">A.2. </span>At Version 1.0</a></li><li><a href="#ver11"><span class="secnum">A.3. </span>At Version 1.1</a></li></ul></li><li><a href="#UWSSchema"><span class="secnum">B. </span>UWS Schema</a></li></ul></div>
68      <!--end of autogenerated content--></div><div class="body">      <!--end of autogenerated content--></div><div class="body">
69  <div class="section"><h2><a id="Introduction" shape="rect"><span class="secnum">1. </span>Introduction (informative)</a></h2>  <div class="section"><h2><a id="Introduction" shape="rect"><span class="secnum">1. </span>Introduction (informative)</a></h2>
70    <p>The Universal Worker Service (UWS)    <p>The Universal Worker Service (UWS)
# Line 394  Line 398 
398         <td rowspan="1" colspan="1">/{jobs}</td>         <td rowspan="1" colspan="1">/{jobs}</td>
399         <td rowspan="1" colspan="1">the Job List</td>         <td rowspan="1" colspan="1">the Job List</td>
400         <td rowspan="1" colspan="1">the <span class="xmlelement">&lt;jobs&gt;</span>         <td rowspan="1" colspan="1">the <span class="xmlelement">&lt;jobs&gt;</span>
401          element in the UWS schema          element in the UWS schema       </td>
        </td>  
402        </tr>        </tr>
403        <tr>        <tr>
404         <td rowspan="1" colspan="1">/{jobs}/(job-id)</td>         <td rowspan="1" colspan="1">/{jobs}/(job-id)</td>
# Line 411  Line 414 
414         <td rowspan="1" colspan="1">One of the fixed strings</td>         <td rowspan="1" colspan="1">One of the fixed strings</td>
415        </tr>        </tr>
416        <tr>        <tr>
        <td colspan="1" rowspan="1">/{jobs}/(job-id)/blockingphase</td>  
        <td colspan="1" rowspan="1">the Phase of job (job-id) that  
         blocks (see <span class="xref"><a href="#blocking">2.2.1.1</a></span>)</td>  
        <td colspan="1" rowspan="1">One of the fixed strings for  
         phase</td>  
       </tr>  
       <tr>  
417         <td rowspan="1" colspan="1">/{jobs}/(job-id)/executionduration</td>         <td rowspan="1" colspan="1">/{jobs}/(job-id)/executionduration</td>
418         <td rowspan="1" colspan="1">the maximum execution duration         <td rowspan="1" colspan="1">the maximum execution duration
419          of (job-id)</td>          of (job-id)</td>
# Line 445  Line 441 
441         <td rowspan="1" colspan="1">/{jobs}/(job-id)/results</td>         <td rowspan="1" colspan="1">/{jobs}/(job-id)/results</td>
442         <td rowspan="1" colspan="1">any results of the job (job-id)</td>         <td rowspan="1" colspan="1">any results of the job (job-id)</td>
443         <td rowspan="1" colspan="1">the <span class="xmlelement">&lt;results&gt;</span>         <td rowspan="1" colspan="1">the <span class="xmlelement">&lt;results&gt;</span>
444          element in the UWS schema.          element in the UWS schema.       </td>
        </td>  
445        </tr>        </tr>
446        <tr>        <tr>
447         <td rowspan="1" colspan="1">/{jobs}/(job-id)/parameters</td>         <td rowspan="1" colspan="1">/{jobs}/(job-id)/parameters</td>
448         <td rowspan="1" colspan="1">any parameters for the job         <td rowspan="1" colspan="1">any parameters for the job
449          (job-id)</td>          (job-id)</td>
450         <td rowspan="1" colspan="1">the <span class="xmlelement">&lt;parameters&gt;</span>         <td rowspan="1" colspan="1">the <span class="xmlelement">&lt;parameters&gt;</span>
451          element in the UWS schema.          element in the UWS schema.       </td>
        </td>  
452        </tr>        </tr>
453        <tr>        <tr>
454         <td rowspan="1" colspan="1">/{jobs}/(job-id)/owner</td>         <td rowspan="1" colspan="1">/{jobs}/(job-id)/owner</td>
455         <td rowspan="1" colspan="1">the owner of the job (job-id)</td>         <td rowspan="1" colspan="1">the owner of the job (job-id)</td>
456         <td rowspan="1" colspan="1">an appropriate identifier as         <td rowspan="1" colspan="1">an appropriate identifier as
457          discussed in <span class="xref"><a href="#security">3</a></span>          discussed in <span class="xref"><a href="#security">3</a></span>       </td>
        </td>  
458        </tr>        </tr>
459       </table>       </table>
460       <p>The service implementer is free to       <p>The service implementer is free to
# Line 470  Line 463 
463          <p>The URI for the Job List, in its          <p>The URI for the Job List, in its
464            absolute form is the root URI for the whole UWS. This URI should be            absolute form is the root URI for the whole UWS. This URI should be
465            given as the access URL in the UWS registration.</p>            given as the access URL in the UWS registration.</p>
466          <div class="section"><h4><a id="blocking" shape="rect"><span class="secnum">2.2.1.1. </span>Blocking Endpoints</a></h4>          <div class="section"><h4><a id="blocking" shape="rect"><span class="secnum">2.2.1.1. </span>Blocking Behaviour</a></h4>
467            <p>UWS 1.1 introduces the /{jobs}/(job-id)/blockingphase endpoint, which should not to return (i.e. block) when requested            <p>UWS 1.1 introduces blocking behaviour where the server may not return the result of a request immediately (i.e. block) under certain circumstances. The purpose of this functionality is to allow  the client to be able to do a
468             until the Phase of the job has changed from "EXECUTING" to some other state. If requested when the Job is in any other               "slow poll" of the Job status whilst the job is running. The advantage for the client is that it can know almost immediately when a job has results without having to execute polling
469              phase then the value should be returned immediately. The purpose of this functionality is for the client to be able to do a               with a very short timescale - this also has advantages for the server in terms of reduced nework traffic. The blocking behaviour is restricted to the <code> /{jobs}/(job-id) </code>endpoint, and is invoked by adding a <code>?WAIT</code> query parameter to the GET request to that endpoint. When the server receives such a request it should not return a response (i.e. block)
470               "slow poll" of the Job Phase whilst the job is running. The client may make a request on the /{jobs}/(job-id)/blockingphase             until there is some significant change in the job status, which means that, at a minimum, it must return when the Job Phase changes. The server, however, may  block only when in one of the "active" phases (PENDING, QUEUED or EXECUTING), and otherwise  must return immediately and not block, even if a blocking request is made,  to avoid the possibility of a client waiting indefinitely. The <code>?WAIT</code> query parameter may be assigned an integer value e.g. <code>?WAIT=60</code> which is be interpreted as a maximum time to block in seconds - in this case the server must return after the given value of seconds whether there has been a significant change of Job status or not. A <code>?WAIT=0</code> should be interpreted as equivalent to <code>?WAIT</code> - i.e. a wait value of 0 seconds means block indefinitely until Job status change.</p>
471               endpoint which will potentially time-out before the job finishes executing, at which time the client can resubmit a request.            <p>A client that is UWS1.1 compliant should be aware that it will receive immediate responses if it attempts to
472               The advantage for the client is that it can know almost immediately when a job has results without having to execute polling              perform this operation on a UWS 1.0 server.</p>
              with a very short timescale - this also has advantages for the server in terms of reduced nework traffic.  
              A client that is UWS1.1 compliant should be aware that it will receive a 404 (not known) HTTP status code if it attempts to  
              perform this operation on a UWS 1.0 server.</p>  
473          </div>          </div>
474          <p>&nbsp;</p>          <p>&nbsp;</p>
475        </div>        </div>
# Line 509  Line 499 
499              The server may respond to a request from the client to filter the jobs shown by using URL query parameter on the PHASE for example</p>              The server may respond to a request from the client to filter the jobs shown by using URL query parameter on the PHASE for example</p>
500            <pre xml:space="preserve">/{jobs}?PHASE=EXECUTING            <pre xml:space="preserve">/{jobs}?PHASE=EXECUTING
501  </pre>  </pre>
502            <p>would list only the jobs in an EXECUTING state. If the PHASE filtering parameter is repeated, then the service should list all the jobs in the enumerated PHASEs.            <p>would list only the jobs in an EXECUTING state. If the PHASE filtering parameter is repeated, then the service should list all the jobs in the union of the enumerated PHASEs.
503            The only way to list any jobs in the "ARCHIVED" phase is to use this mechanism.</p>            The only way to list any jobs in the "ARCHIVED" phase is to use this mechanism.</p>
504          </div>          </div>
505          <div class="section"><h4><a id="d1e1040" shape="rect"><span class="secnum">2.2.2.2. </span>Job</a></h4>          <div class="section"><h4><a id="d1e1040" shape="rect"><span class="secnum">2.2.2.2. </span>Job</a></h4>
# Line 570  Line 560 
560            <p>This initial POST will in most cases            <p>This initial POST will in most cases
561              carry parameters for the protocol that is using the UWS pattern, as              carry parameters for the protocol that is using the UWS pattern, as
562              detailed in <span class="xref"><a href="#ApplicationsOfUWS">4</a></span>              detailed in <span class="xref"><a href="#ApplicationsOfUWS">4</a></span>
563              .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 query part to the job creation URL.</p>              .In addition for the initial post may contain job control parameters if allowed by the implementing protocol
564                (i.e. if UWS job control parameter names do not clash with the implementing protocol parameters). One use of this
565                facility might be to have the job placed into a potentially running state by adding ?PHASE=RUN query part to the job creation URL.</p>
566            <div class="section"><h4><a id="d2e1612" shape="rect"><span class="secnum">2.2.3.1.1. </span>Inline Parameters</a></h4>            <div class="section"><h4><a id="d2e1612" shape="rect"><span class="secnum">2.2.3.1.1. </span>Inline Parameters</a></h4>
567              <p>The JDL may allow parameter values to be uploaded in-line - in this case the UWS should accept the parameter content as multipart/form-data encoded in the POST with the formal value of the parameter being a "byReference" type using the special URI scheme "param" with the path part of the URI matching the name attribute of the multipart/form-data encoding content part. The content of such an in-line parameter should be made available as part of the job resource tree at /{jobs}/{job-id}/parameters/{parameter-name}, and then described as a "byReference" parameter in the <span class="xmlelement">&lt;job&gt;</span> XML description.</p>              <p>The JDL may allow parameter values to be uploaded in-line - in this case the UWS should accept the parameter content as multipart/form-data encoded in the POST with the formal value of the parameter being a "byReference" type using the special URI scheme "param" with the path part of the URI matching the name attribute of the multipart/form-data encoding content part. The content of such an in-line parameter should be made available as part of the job resource tree at /{jobs}/{job-id}/parameters/{parameter-name}, and then described as a "byReference" parameter in the <span class="xmlelement">&lt;job&gt;</span> XML description.</p>
568            </div>            </div>
# Line 876  Line 868 
868    The Enhancements that have been added are</p>    The Enhancements that have been added are</p>
869       <ul><li>Informative section on how to start a job in a       <ul><li>Informative section on how to start a job in a
870         running state <span class="xref"><a href="#jobCreation">2.2.3.1</a></span>         running state <span class="xref"><a href="#jobCreation">2.2.3.1</a></span>
871        </li><li>Added the ability to filter on the job list <span class="xref"><a href="#jobList">2.2.2.1</a></span></li><li>Added a new phase "ARCHIVED" <span class="xref"><a href="#ExecutionPhase">2.1.3</a></span> and <span class="xref"><a href="#jobList">2.2.2.1</a></span></li><li>Added a /{jobs}/{jobid}/blockingphase object to allow "slow poll"<span class="xref"><a href="#blocking">2.2.1.1</a></span>.</li></ul>        </li><li>Added the ability to filter on the job list <span class="xref"><a href="#jobList">2.2.2.1</a></span></li><li>Added a new phase "ARCHIVED" <span class="xref"><a href="#ExecutionPhase">2.1.3</a></span> and <span class="xref"><a href="#jobList">2.2.2.1</a></span></li>
872          <li>Added blocking behaviour to allow "slow poll" <span class="xref"><a href="#blocking">2.2.1.1</a></span>.</li>
873         </ul>
874      </div>      </div>
875  </div>  </div>
876    

Legend:
Removed from v.2708  
changed lines
  Added in v.2709

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