UWS as a REST protocol
Matthew Graham
mjg at cacr.caltech.edu
Mon Feb 26 17:09:12 PST 2007
Hi,
You're right about the HTTP Accept header but this is difficult to set
from a browser.
Under the current SOAP-based interface for VOSpace, representations of
the resource have HTTP-based URIs (the endpoints for actual data
transfers) already but the actual resource itself is identified with the
vos-based URI and there is no problem with this. An example of what the
REST interface could look like is:
1. POST a XML resource description to a VOSpace endpoint to create a
node in the VOSpace;
2. POST a XML transfer description to a VOSpace endpoint to create a
data transfer to a particular node - identified in the XML transfer
description with vos URI - which returns a XML transfer description
containing the negotiated details of the transfer
3. PUT data bytes to a HTTP endpoint to insert/update a representation
of the resource
Cheers,
Matthew
John Taylor wrote:
>
> (getting in here before Norman Gray does)....I understand that it
> would be more RESTful to use the http Accept header, rather than an
> explicit FORMAT parameter. If we were really hardcore we'd also use
> URIs that are dereferencable using standard protocols....so VOSpace
> resources would be name http://something rather than vos://something.
> Is that possible Matthew, or wouldn't that be compatible with the
> VOSpace spec?
>
> John
>
> On 26 Feb 2007, at 22:11, Matthew Graham wrote:
>
>> Hi,
>>> As a counter example, if we have an access reference such as
>>>
>>> http://webtest.aoc.nrao.edu/ivoa-dal/JhuProxySsap?
>>> REQUEST=getData&FORMAT=votable&PubDID=ivo%3A%2F%2Fjhu%2Fsdss...
>>>
>>> Then I suggest this is probably about as RESTful as most URLs which
>>> reference static files (so long as the dataset identifier is
>>> persistent).
>>>
>>> The main point of REST appears to be simplicity, elegance, and reuse of
>>> standard protocols and infrastructure.
>>>
>> The main point of REST is having resources which can be accessed
>> through a standard CRUD interface that maps onto the HTTP methods:
>>
>> CREATE = POST
>> RETRIEVE = GET
>> UPDATE = PUT
>> DELETE = DELETE
>>
>> Something like:
>> http://somewhere.com/SomeProxy?REQUEST=delete&filename=mytable
>> is not RESTful since you're using an HTTP GET method to delete a
>> resource. REST is by nature resource-oriented (hence the need for
>> everything to be addressable by a URI) and not service-oriented like
>> most CGI (HTTP GET) scripts and SOAP.
>>
>> Cheers,
>>
>> Matthew
>>
>
More information about the grid
mailing list