/[volute]/trunk/projects/grid/vospace/doc/VOSpace2-1.html
ViewVC logotype

Diff of /trunk/projects/grid/vospace/doc/VOSpace2-1.html

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

revision 2652 by major.brian, Fri Jun 6 20:49:33 2014 UTC revision 2653 by major.brian, Tue Jun 10 18:46:58 2014 UTC
# Line 114  Line 114 
114  <hr/></div>  <hr/></div>
115    
116  <h2><a name="abstract" id="abstract">Abstract</a></h2>  <h2><a name="abstract" id="abstract">Abstract</a></h2>
117  <p>VOSpace is the IVOA interface to distributed storage. This specification presents the first RESTful version of the interface, which is functionally equivalent to the SOAP-based VOSpace 1.1 specification. Note that all prior VOSpace clients will not work with this new version of the interface.</p>  <p>VOSpace is the IVOA interface to distributed storage. This specification presents the second RESTful version of the interface.  Except for minor
118    additions to the 2.1 specification, it is functionally equivalent to the SOAP-based VOSpace 1.1 specification. Note that all 1.x VOSpace clients
119    will not work with this new version of the interface.  Clients and services written for VOSpace 2.1 will interoperate with 2.0 clients and services,
120    however 2.0 clients and services are incompatible with the 2.1 specification.</p>
121    
122  <div class="status">  <div class="status">
123  <h2><a name="status" id="status">Status of this Document</a></h2>  <h2><a name="status" id="status">Status of this Document</a></h2>
# Line 2365  Line 2368 
2368  .auto is the reserved URI to indicate an auto-generated URI for the destination, i.e. vos://service/path/.auto SHALL cause a new unique URI for the node within vos://service/path to be generated.  .auto is the reserved URI to indicate an auto-generated URI for the destination, i.e. vos://service/path/.auto SHALL cause a new unique URI for the node within vos://service/path to be generated.
2369  </p>  </p>
2370    
2371  <p>There are also three alternate, optional modes of forming the request to the /sync endpoint</p>  <p>There are also three alternate modes of forming the request to the /sync endpoint</p>
2372  <p>  <p>
2373  A transfer may also be initiated by a HTTP POST of a Job representation for the transfer to http://rest-endpoint/sync in three different ways:  A transfer may also be initiated by a HTTP POST of a Job representation for the transfer to http://rest-endpoint/sync in three different ways:
2374  <ul>  <ul>
2375    <li>By posting the job representation to /sync.  The service SHALL respond with a redirect to the job containing the transfer results.</li>    <li>By posting the job representation to /sync.  The service SHALL respond with a redirect to the job containing the transfer results.</li>
2376    <li>By doing a parameter-based post to /sync.  The service may respond with the transfer details directly. (example below)</li>    <li>By doing a parameter-based post to /sync.  The service may respond with the transfer details directly. (Optional. Example below)</li>
2377    <li>By doing a parameter-based post to /sync with additional parameter REQUEST=redirect.  The service may respond with a redirect to a preferred transfer endpoint. (example below)    <li>By doing a parameter-based post to /sync with additional parameter REQUEST=redirect.  The service may respond with a redirect to a preferred transfer endpoint. (Optional.
2378        (Note, however, that since the client wishes to PUT data, the redirect cannot simply be followed, but needs to be read explicitly.)</li>     (Note, however, because the client wishes to PUT data, the redirect cannot simply be followed, but needs to be read explicitly.)</li>
2379  </ul>  </ul>
2380  </p>  </p>
2381    
# Line 2571  Line 2574 
2574       "TARGET=vos://nvo.caltech!vospace/mydata1? \       "TARGET=vos://nvo.caltech!vospace/mydata1? \
2575       DIRECTION=pushToVoSpace& \       DIRECTION=pushToVoSpace& \
2576       PROTOCOL=ivo://ivoa.net/vospace/core#httpput" \       PROTOCOL=ivo://ivoa.net/vospace/core#httpput" \
2577       "http://localhost:8000/synctransfers"</b></pre>       "http://localhost:8000/sync"</b></pre>
2578    
2579  </div><div class="exampleInner" style="background-color: rgb(213, 222, 227);">  </div><div class="exampleInner" style="background-color: rgb(213, 222, 227);">
2580  <pre>* Connected to localhost (127.0.0.1) port 8000 (#0)  <pre>* Connected to localhost (127.0.0.1) port 8000 (#0)
# Line 2757  Line 2760 
2760  A transfer may also be initiated by a HTTP POST of a Job representation for the transfer to http://rest-endpoint/sync in three different ways:  A transfer may also be initiated by a HTTP POST of a Job representation for the transfer to http://rest-endpoint/sync in three different ways:
2761  <ul>  <ul>
2762    <li>By posting the job representation to /sync.  The service SHALL respond with a redirect to the job containing the transfer results.</li>    <li>By posting the job representation to /sync.  The service SHALL respond with a redirect to the job containing the transfer results.</li>
2763    <li>By doing a parameter-based post to /sync.  The service may respond with the transfer details directly.</li>    <li>By doing a parameter-based post to /sync. (Optional.)</li>
2764    <li>By doing a parameter-based post to /sync with additional parameter REQUEST=redirect.  The service may respond with a redirect to a preferred transfer endpoint. (example below)</li>    <li>By doing a parameter-based post to /sync with additional parameter REQUEST=redirect. (Optional.)</li>
2765  </ul>  </ul>
2766  </p>  </p>
2767    
# Line 2792  Line 2795 
2795  &lt; /uws:job>  &lt; /uws:job>
2796  </pre>  </pre>
2797  <p>  <p>
2798  If the transfer was initiated with a HTTP POST to  If the transfer was initiated with a HTTP POST to http://rest-endpoint/sync then the response is:
 http://rest-endpoint/sync then the response is:  
2799  <ul><li>A HTTP 303 status code with the Location  <ul><li>A HTTP 303 status code with the Location
2800    header keyword assigned to the endpoint: http://rest-endpoint/transfers/(jobid)/results/transferDetails.    header keyword assigned to the endpoint: http://rest-endpoint/transfers/(jobid)/results/transferDetails.
2801  </ul>  </ul>
2802  The HTTP 303 redirect points to a transfer representation with the  The HTTP 303 redirect points to a transfer representation with the
2803  required transfer details and endpoints.  required transfer details and endpoints.
2804  </p>  </p>
2805  <p>For the alternate convenience mode (HTTP GET to the node):</p>  <p>
2806  <ul><li>A direct byte stream for the node</ul>  If the transfer was initiated with a HTTP POST to http://rest-rendpoint/sync with transfer information TARGET,
2807  <p>or</p>  DIRECTION, and PROTOCOL supplied as query string parameters, the service may respond with the transfer details
2808  <ul>    directly.  If the parameter REQUEST=redirect is also provided in this POST, then the service
2809    <li>A HTTP 303 status code with the Location header keyword assigned  may respond with a redirect to a preferred endpoint (example below).
2810    to an endpoint where a direct byte stream can be obtained  </p>
2811    </ul>  
   <p>Although HTTP GET is the assumed transfer protocol in this mode,  
   the HTTP 303 redirect could point to a endpoint supported by an  
   alternate transfer protocol, i.e. a FTP endpoint. The client can  
   check for this on the scheme returned URI.</p>  
2812  <h5><a name="sec5_4_3_3">5.4.3.3 Faults</a></h5>  <h5><a name="sec5_4_3_3">5.4.3.3 Faults</a></h5>
2813  <p>For all faults using the UWS mode, the service shall set the PHASE to "ERROR" in the Job  <p>For all faults using the UWS mode, the service shall set the PHASE to "ERROR" in the Job
2814  representation. The &lt;errorSummary&gt; element in the Job representation  representation. The &lt;errorSummary&gt; element in the Job representation
# Line 2947  Line 2945 
2945  <div class="exampleHeader">Optimized example: pullFromVoSpace over /sync</div>  <div class="exampleHeader">Optimized example: pullFromVoSpace over /sync</div>
2946    <div class="exampleWrapper">    <div class="exampleWrapper">
2947  <pre>  <pre>
2948   <b>curl -v -X POST -d \   <b>curl -v -X POST -d
2949       "TARGET=vos://nvo.caltech!vospace/mydata1? \       "TARGET=vos://nvo.caltech!vospace/mydata1&
2950       DIRECTION=pullFromVoSpace& \       DIRECTION=pullFromVoSpace&
2951       PROTOCOL=ivo://ivoa.net/vospace/core#httpget& \       PROTOCOL=ivo://ivoa.net/vospace/core#httpget&
2952       REQUEST=redirect" \       REQUEST=redirect"
2953       "http://localhost:8000/synctransfers"</b></pre>       "http://localhost:8000/sync"</b></pre>
2954    
2955  </div><div class="exampleInner" style="background-color: rgb(213, 222, 227);">  </div><div class="exampleInner" style="background-color: rgb(213, 222, 227);">
2956  <pre>* Connected to localhost (127.0.0.1) port 8000 (#0)  <pre>* Connected to localhost (127.0.0.1) port 8000 (#0)
# Line 3557  Line 3555 
3555        &lt;/xsd:attribute name="authType" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded" nillable="true">        &lt;/xsd:attribute name="authType" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded" nillable="true">
3556          &lt;xsd:annotation>          &lt;xsd:annotation>
3557            &lt;xsd:documentation>            &lt;xsd:documentation>
3558              The authentication types.              The supported authentication type(s).
3559            &lt;/xsd:documentation>            &lt;/xsd:documentation>
3560          &lt;/xsd:annotation>          &lt;/xsd:annotation>
3561        &lt;/xsd:attribute>        &lt;/xsd:attribute>

Legend:
Removed from v.2652  
changed lines
  Added in v.2653

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