TAP RFC [VOSI]

Douglas Tody dtody at nrao.edu
Sun Sep 27 10:11:22 PDT 2009


Hi All -

Here is a possible compromise solution which I think addresses the
primary concerns of both approaches.

     1)  We add resource endpoints for the VOSI operations.  Hence for base
         resources we have the following (all with the same baseURL):

             sync
             async
             capabilities
             availability
             tableMetadata

     2)  We retain REQUEST and VERSION to specify the logical (service
         specific) service operations.  These use either the sync or
         async endpoints.  Hence we have

             async/REQUEST=doQuery&VERSION=1.0&...       # TAP
             sync/REQUEST=queryData&VERSION=1.0&...      # Other DAL
                 (etc.)

     3)  We require that getCapabilities be provided as a service
         operation as well as as a base resource:

             sync/REQUEST=getCapabilities

         As Guy has already demonstrated it is trivial to have the
         service execute the same code (or return the same file)
         for both the resource and operation representations of
         getCapabilties.  It would be easy to do this for all the
         VOSI operations as well, but the most important one to
         client applications is getCapabilities.

This gives us the same base set of resource endpoints for all these
services, making it easy to implement generic code for all services.
The service-type specific logical service operations which are the real
functional part of any DAL service are expressed as "payload" using
REQUEST and VERSION, allowing us to have any number of standard or
custom service operations without affecting the shared set of common
base resources.  The URL generating rules for both the resource and
operation models are consistent.  Which or both of sync/async are
implemented for the primary service operations can be optional (except
for providing a sync version of getCapabilities but this is trivial).

         - Doug



On Thu, 24 Sep 2009, Patrick Dowler wrote:

> On Monday 14 September 2009 02:00:09 Keith Noddle wrote:
>> In consultation with Christophe, I therefore propose that we extend the
>> TAP RFC to 25th September to allow the above details to come together.
>
> Last two days, last issue from rfc page:
>
> In the current spec, there are two resources under the base URL and VOSI are
> accessed via one of them:
>
> async
> sync
> sync?REQUEST=getAvailability
> sync?REQUEST=getCapabilities
> sync?REQUEST=getTableMetadata
>
> There is a proposal to access VOSI as resources off the base URL (more pure
> REST style vs standard DAL REQUEST param). The motivation is to move VOSI out
> from under sync so that both async and sync could be made optional (both
> required in PR). The new resource structure would be:
>
> async
> sync
> availability
> capabilities
> tableMetadata
>
> We have had many discussions on this topic, made compromises all around, and
> never reached a unanimous agreement. There are good reasons for both
> approaches. The current draft is consistent with DAL style as embodied in
> SSA1. The proposed makes it cleanly possible to have optional async/sync
> execution of jobs (currently we require both, but we could relax this in a
> future version of TAP very easily if needed).
>
> To be very clear: both of these work fine, so there is nothing broken and to be
> fixed. This is a stylistic issue (RPC vs REST) and about making plausible
> future changes as easy and painless as possible. Given that, I don't see any
> point in dredging up all the arguments again.
>
> The crude WG concensus is that more people favour using resources over the
> REQUEST parameters, but I would like to call a vote to verify that and will
> change the draft to match the WG decision. If you care, please respond to this
> message and chose one of:
>
> use REQUEST parameter
>
> use resources
>
> I will tally and start rewriting on Monday (28th).
>
> -- 
>
> Patrick Dowler
> Tel/Tél: (250) 363-0044
> Canadian Astronomy Data Centre
> National Research Council Canada
> 5071 West Saanich Road
> Victoria, BC V9E 2M7
>
> Centre canadien de donnees astronomiques
> Conseil national de recherches Canada
> 5071, chemin West Saanich
> Victoria (C.-B.) V9E 2M7
>


More information about the dal mailing list