Fwd: TAP Implementation issues (cont'd): UWS

Guy Rixon gtr at ast.cam.ac.uk
Fri Oct 30 07:16:34 PDT 2009



Begin forwarded message:

> From: Tom McGlynn <Thomas.A.McGlynn at nasa.gov>
> Date: 30 October 2009 13:45:47 GMT
> To: "dal at ivoa.net" <dal at ivoa.net>, gws at ivoa.net
> Subject: TAP Implementation issues (cont'd): UWS
>
> I've had a few questions with the implementation of the asynchronous  
> access for TAP.  Most of these are relevant to UWS document  
> generally rather than just TAP so I've copied the GWS group in this  
> mail.
>
> 	Tom McGlynn
>
> -- UWS general questions --
>
> - As defined a user needs to always do two web actions to start the  
> service.  Is there some reason that the user cannot simply request  
> the service to start running immediately?  I suspect that that is  
> what the user wants to do in 99% of the cases.  It would be much  
> easier for clients too.  The example given in the UWS document of  
> starting a job omits the error checking that the a user presumably  
> should do after starting the job.  Why not allow
>     {root}/tap/async?request=doQuery&query=...&phase=RUN
> to both create and start a query?  [Describe it as a POST if you  
> prefer.]
>
> - I'm continue to be confused by the benefits conferred by various  
> practices.  Why do we require POSTs specifically in a number of  
> intances?  E.g., what would be wrong with using
>    ../jobid/phase?phase=RUN
> as an HTTP GET rather than an HTTP POST.  Since my code cannot tell  
> the difference between these I certainly will be supporting both,  
> but, other than bowing to the mantra REST, I'm not sure why it's  
> supposed to matter.
>
> - Similarly I don't think that there should be a strict limitation  
> of the coding used in sending requests.  There may be a requirement  
> that a given encoding be supported but there should not be a  
> requirement that it be used.  As with POST/GET this level of HTTP  
> detail is handled below the UWS logic in our implementation, so for  
> services that the HEASARC supports we'll be allowing multipart/form  
> encoding as well unless someone can tell us why we should reject  
> such requests.
>
> - From what states is a user allowed to start a job?  E.g., can a  
> user attempt to restart a job that has previously had an error or  
> aborted? Could the user change the parameters and then rerun the  
> same job?  I'm guessing this isn't supposed to happen, but I didn't  
> see where it was forbidden.
>
> - What is supposed to happen if there is a problem in creating the  
> job.
> Should a job be created with an immediate status of ERROR?  Is there  
> any way of flagging an error if the system cannot create even an  
> error job?  E.g., we're going to use the database to store all job  
> information. What are we supposed to do if the database is down?  It  
> would be nice to be able to inform the user of an error in a  
> standard way.
>
> - Is there supposed to be a one-one mapping between there being an  
> error resource and the job failing with error or aborted.  I.e., if  
> I have a job with phase COMPLETED can it still have an error  
> document?  Can I have phase ABORTED without an error document?
>
> - Is is allowed to have an empty error document?  E.g., can I have a  
> URL
>  ".../jobid/error"
> which exists but has no content (either as an actually zero length  
> string, or as an empty VOTable)?
>
>
>
> -- TAP specific questions. --
>
> - The description of where to get the TAP result in an async request  
> is not given (as far as I can see) in what is described as the  
> normative parts of the document.  There it says that result will be in
>   root/async/jobid/results/
> but this is the list of results and can, in principle, contain a  
> number of results. Only in section 5.2 which is described as  
> informative does it say that the result document is .../results/ 
> result.  Is this actually  a requirement or can the result be named  
> anything?
>
> - The UWS standard discusses the naming of results.  Does TAP  
> require a specific name for the result?  In fact it looks like the  
> way UWS is supposed to be used the jobid/results returns a document  
> that looks like
>
>    <results>
>       <result id='someid' xlink:href='someurl' />
>       <result id='anotherid' xlink:href='anotherurl' />
>    </results>
>
> and the user is supposed to find the id of the desired result and  
> use whatever URL is given there, not use a specifically defined  
> URL.  I'm guessing the the ID attributes of the <result> fields is  
> the UWS name. The UWS standard says
>  "When a protocol specifies standard results it must do so by
>   naming those results; the names appear in the Results list in
>   addition to the URI's.  Not all results need to be named, sometimes
>   the meaning of the result is obvious from the context and the
>   name is omitted."
> Since the second sentence here seems to contradict the first it's a  
> bit hard to follow, but my reading of this is that it would be  
> better for TAP to specify a name for the output result rather than a  
> specific URL.
>
> - The TAP RFC document still links to the June version of the  
> document.  While there is a comment before the TCG review section  
> indicating that there is a new document, this should probably be  
> noted and linked to at the very top of the document.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ivoa.net/pipermail/grid/attachments/20091030/c6b80b29/attachment-0003.html>


More information about the grid mailing list