Can an SIA service support both V1 and V2?

Tom McGlynn (NASA/GSFC Code 660.1) tom.mcglynn at nasa.gov
Thu Apr 12 22:34:36 CEST 2018


While the versioning of SIAv2 suggests that it is not compatible with SIAv1, there
is a difference between not being compatible and being incompatible.   I.e., you're
required to support and return different things from the two services, but suppose one
has a service which supports the union of required inputs and outputs from both versions?
Is that possible?

At the HEASARC we are looking at releasing our first SIAv2 services and, initially
at least, our thought is that we can release these services so that they support both V1 and V2.
I.e., they would support the the syntax of the inputs from both V1 and V2 and they would
return all required columns for both V1 and V2 responses.  The later is made a little
easier since V1 used UCD's to specify the required columns, while V2 uses UTypes.
So we can mark a single column for both services.

Of course there are lots of things that V2 requires that V1 does not in terms of input parameters,
but there is nothing in the V1 standard that precludes such additional parameters.

So I was trying to understand if there are any concrete incompatibilities between the two services,
i.e., a case where one requires A and the other forbids A or somethign similar.  Does anyone have 
any thoughts
on this?  It seems like if we can support both interfaces -- and the only cost is some extra columns 
in the output --
that we should try to do it.

By the by, there are at least two potential ways one could envisage our approaching this.  We could 
try to recognize
whether we are being called by a V1 or V2 service by the syntax of the input arguments and then 
return an appropriately
formatted response.  But we've done something a little different. We've created a service which 
accepts both V1 and V2 inputs
and returns an output that is acceptable to both standards.

One thing that I am unable to wrap my mind around is how this gets put in the registry.  Do we just
register two capabilities using the same base URL?

     Tom




More information about the dal mailing list