|
META TOPICPARENT |
name="IvoaGridAndWebServices" |
UWS v1.1 Proposed Recommendation: Request for Comments
Public discussion page for the IVOA UWS 1.1 Proposed Recommendation.
The latest version of the UWS Specification can be found at: |
|
< < | |
> > | |
|
Reference Interoperable Implementations |
|
< < | Would the implementors of the UWS 1.1 specification please add details. Or, please remove your implementation from this list if not correct. |
> > | Would the implementors of the UWS 1.1 specification please add details; or, please remove your implementation from this list if not correct. |
|
CDS / GAVO Implementation (Gregory Mantelet) |
|
< < | |
| VO Paris Implementation (Mathieu Servillat)
CADC Implementation (Pat Dowler)
Implementations Validators
No implementation validators for UWS 1.1, though CADC (and others?) have UWS 1.0 validators that still pass:
- taplint TAP validator within stilts does non-exhaustive validation of the UWS v1.0 functionality of a TAP service: job submission, lifecycle tracking, deletion, job document parsing etc. See UWS Stage. If someone can point me at a running UWS 1.1-compliant TAP service (minimum: WAIT-blocking and job documents labelled
version='1.1' ) I'll try to update the validation for it. -- MarkTaylor - 2015-07-03
Please add your validator (even if 1.0) if applicable.
RFC Review Period: 2015-06-30 - 2015-08-18 |
|
< < | |
|
Comments from the IVOA Community during RFC period: 2015-06-30 - 2015-08-18 |
|
< < | Note that there is a new version of the document edited as a result of the comments by the end of the RFC period at https://volute.g-vo.org/svn/trunk/projects/grid/uws/doc/UWS.html, which has not yet been formally republished to the IVOA document store.
Example Comment (2015 June 30th) by BrianMajor
I comment on these three points: |
|
(Still) a good clearly written document. One or two minor comments/suggestions:
* Notation: I don't understand the usage of curly and round brackets in referencing URL path elements. For instance in sec 2.1.11 I see: "/{jobs}/{job-id}/parameters/(parameter-name)", and in sec 2.2: "/(jobs)/(jobid)", and in sec 2.2.1.1: "/{jobs}/(job-id)". Are () and {} doing different, ahem, jobs here? If not, can you just pick one or the other?
-
- there is no significance in the different types of braces - I have made them all curly.
- Sec 1.3: "an XML document (e.g. ADQL, CEA [harrison05])" - is it anachronistic to refer to ADQL in this context since post-ADQL-2.0 there is no ADQL/X representation?
- I think you are right - I have removed it
- Sec 2.1: A count indicator ("1") is missing from the Job-Owner link in the UML diagram
- you are right - and quote should be 0..1
- Sec 2.1.3: The phases "HELD", "SUSPENDED" and "ARCHIVED" do not appear in the diagram.
- I had not added these in the past as I thought it would complicate the diagram, as the conditions for transition into those states are more complex - you are probably right that they should be included though, and I have produced a version with them all in.
- Sec 2.2: "future versions of this document will add other bindings such as SOAP." Really?
- highly unlikely - I have made the statement less precise about which binding may be added.
- Sec 2.2: "an non-existant job id" -> "a non-existent job-id"
- Sec 2.2.1.1: "it should not return a response (i.e. block)" is a bit ambiguous. Prefer "it should not return a response (i.e. it should block)"?
- Sec 2.2.1.1: "/{jobs}/(job-id)?WAIT&PHASE=QUEUED": I think it has to be "WAIT=<value>" not just "WAIT"?
- Sec 4.2: "ADQL [1] can serve as a JDL." - bibliography referencing is wrong.
- Sec 4.3: "Call it CEA v2 to distinguish it from CEA v1 as currently maintained by AstroGrid." - it's a bit anachronistic.
- changed wording to make it clear that AstroGrid is no longer active
- Sec 4.3: "The JDL in CEA v2 is similar to that in CEA v1 It is a formal ..." - missing full stop
- Sec 4.3: "the emerging XForms technology" - is it still emerging?
- not really - have updated wording.
- Schema:
version attribute to be made optional? (see schema evolution discussion)
- done in latest version of document and schema
-- MarkTaylor - 2015-07-02 -- Replies PaulHarrison - 2015-09-03
Regarding the new job query capability in Sec 2.2.2.1, it feels like we are creating yet another query syntax with new keywords. To be concrete, I would change the examples to
- /{jobs}?QUERY=PHASE=EXECUTING
- /{jobs}?QUERY=STARTTIME>2014-09-10T10:01:02.000
- /{jobs}?QUERY=TOP+100
"QUERY" and "TOP" come from TAP, "STARTTIME" comes from the UWS SCHEMA. For now, the spec will only specify simple queries. So there will be only one parameter in QUERY. But this allows future expansion, so a more sophisticated service could allow full SQL
- /{jobs}?QUERY=(PHASE=EXECUTING+OR+PHASE=COMPLETED+OR+PHASE=SUSPENDED)+AND+STARTTIME>2014-09-10+ORDER+BY+ENDTIME
Whilst I would normally be a strong advocate of trying to reuse existing syntax and not do re-invention, in this case the filtering capability is not intended to be a full query language for jobs. I think that your suggestions start to introduce the full query language approach which has the following disadvantages
- More effort has to be made in defining the query language than the current standard does - e.g. TOP in ADQL does not imply any ordering - by using the "keyword" style filtering that the current document specifies exactly what LAST means - so to be consistent with ADQL the "query language" should be something like /{jobs}?QUERY=TOP+100+ORDER+BY+STARTTIME+DES
- There is a greater burden on the implementors to do the query parsing.
It is for these reasons that I think that the "parameterized filter" style is more appropriate to a 1.1 update - if it turns out that there is demand for sophisticated querying then we can include a full ADQL query and associated schema in 2.0 - however in truth , I am still skeptical, as a UWS client should most of the time be keeping a local list of JOBIDs for the jobs that it submits and do all "queries" directly using the JOBID. The filtering mechanism in 1.1 is there just to make it easier for generic admin style web clients to not get overwhelmed with a long list of JOBs
|
|
< < | |
|
<--
--> |