UWS 0.4

Patrick Dowler patrick.dowler at nrc-cnrc.gc.ca
Fri Jun 13 11:38:45 PDT 2008


On 2008-6-6 02:22, Paul Harrison wrote:
> I have uploaded a new version (0.4) of the UWS document

I am in the process if implementing a REST UWS framework (pretty 
straightforward so far) and have the following comments about the 0.4 draft:

2.1.1

Second sentence says the job list can be read (GET), presumably by anyone. I 
don't think that is a good idea as I don't think it should be required that 
users can see what others are doing (provider policy issue).

2.1.6

The second sentence should be removed now that POST to phase is the way to do 
this.

2.2.1.3.1

The response when creating a job is a 303 (redirect) to the URI for the job. 
That works fine, but http also provides a 201 (CREATED) which also contains a 
Location header. Maybe cosmetic... maybe browsers don't handle 201 well.

2.2.1.3.2

The response is supposed to be a 303 (redirect) to the job list URI, but given 
the above (job list may not be readable) perhaps a better response to DELETE 
would be 204 (NO CONTENT), which means "yes I did that" and there is no 
response entity (and in the case of a user agent, it does not change document 
view).

2.2.1.3.3 and 2.2.1.3.4

Is that mimetype really supposed to have 4 w(s) instead of 3? 

2.2.1.3.5

The response to changing the phase is a 303 to the (changed) phase resource, 
but http also provides a 202 (ACCEPTED) for the purpose of async operations. 
The response entity should contain an indication of the current status, which 
could still be the Location of the (changed) phase since the phase nominally
expresses the status. As above, maybe cosmetic... maybe browsers don't handle 
202 well.

2.2.1.3.6

"aboted" in the first sentence should be "aborted"

For the above http codes I mentioned, I only looked at the text/meaning in

   http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

--
Finally, a suggestion for possible inclusion:

In thinking about using the UWS pattern, it occurs to me that most services 
will probably allow for the specifying of input data. Should there be a 
standard "input" resource (there is a result) with standard semantics? If a 
specific service does not support inputs (due to the specific spec not 
defining them or making them optional), it could just respond with a
403 (FORBIDDEN) or 405 (METHOD NOT ALLOWED).

"input" would be a resource list and could operate like the job list, where 
the caller can POST to the input resource to create a new resource, and gets 
a 303 to the new resource (to find out it's name). With POST, there could be 
a required URI param with the URI (http, vos, etc) to the content. Maybe
PUT should be used for inline content. Presumably the input list would be 
mutable until PHASE=RUN and after that they would not be. 




-- 

Patrick Dowler
Tel/Tél: (250) 363-6914                  | fax/télécopieur: (250) 363-0045
Canadian Astronomy Data Centre   | Centre canadien de donnees astronomiques
National Research Council Canada | Conseil national de recherches Canada
Government of Canada                  | Gouvernement du Canada
5071 West Saanich Road               | 5071, chemin West Saanich
Victoria, BC                                  | Victoria (C.-B.)



More information about the grid mailing list