Identifying version of UWS
Paul Harrison
paul.harrison at manchester.ac.uk
Tue Sep 1 16:12:56 CEST 2015
> On 2015-09 -01, at 13:34, Kristin Riebe <kriebe at aip.de> wrote:
>
> Dear Grid members,
>
> one of my colleagues is working on updating a Python uws-client to
> include UWS 1.1. features. What would be the best way to identify if a
> service speaks UWS 1.0 or 1.1, e.g. before sending the actual request
> for a filtered job list?
>
> I would think that VOSI is made for this, so a service would need to
> define in the capabilities endpoint the UWS version. Or is there another
> mechanism?
>
> I've exchanged briefly with Markus Demleitner and he suggests that we
> would first need a standard-id for UWS. Could we include something like
> this in the UWS 1.1 recommendation? And maybe also some guidelines how
> to make clients aware of the version the web service is using?
>
The UWS 1.1 standard (which I am currently editing as a result of the RFC period comments) does have a mechanism for determining the UWS version from the standard UWS responses ( i.e. there is a version attribute in the top level element of the responses). However, there is nothing specific about the VOSI mechanisms that should be used to find out the version. It was initially assumed that the details of this would be in a “UWSRegExt” type of document - however, this document has never been completed and as you say the most important piece of metadata (that would allow the “find out what version of UWS is supported” use case) could come from a vanilla VOSI capability endpoint (i.e. without the need for a “UWSRegExt”) with an appropriate standardID.
I think that it would be a good idea to put in this extra definition of the standardId into the UWS document just for clarity. I believe that it should be defined as "ivo://ivoa.net/std/UWS” following the pattern of other services. The original mechanism within VOSI capabilities and the VOResource schema would mean that the version of the UWS server as a whole would be on the <Interface> element within the VOSI <Capability> element returned. This of course applies trivially for a “pure” UWS server - for other services such as TAP the situation is perhaps slightly more complex (maybe the main standard i.e. TAP should mandate the UWS version ), though I believe that there would be no harm returning a ivo://ivoa.net/std/UWS VOSI Capabilities record with the appropriate UWS version (and indeed a TAP server being UWS 1.1 compatible) - especially as we are talking about a minor version update here.
Anyway if it were not controversial I could put the fact that the UWS standardID is ivo://ivoa.net/std/UWS explicitly in the UWS 1.1 standard.
Regards,
Paul.
More information about the grid
mailing list