getCapabilities() for standard services

Doug Tody dtody at nrao.edu
Fri Apr 27 10:54:29 PDT 2007


On Fri, 27 Apr 2007, Guy Rixon wrote:

>
> On 26 Apr 2007, at 23:57, Doug Tody wrote:
>
>> 
>> For these reasons I tend to see this information being entered
>> and maintained as part of service development.  Just entering this
>> information once, manually, in a registry form is not sufficient.
>> Ultimately, if service developers use standard service frameworks to
>> develop their services, it may be possible to automate and simplify
>> this process even further.
>> 
> 
> For the list record, I'd like to point out that AstroGrid software
> has been doing it this way since the beginning. It works very well.

This is good to hear.

> We find two problems with this approach which we're moving to fix.
     [...]
> Secondly, we set up our server components to push their registration
> documents into the publishing registries, using a SOAP operation
> on the registry interface. This works and is simple ... until
> one needs to control write access to the registry when it gets
> complicated. Essentially, either the push needs carries publisher
> credentials (tedious to set up) or the publishing registry is
> unprotected (undesirable). We now prefer to reverse the process so
> that the registry pulls from the registrant.  Access control to
> the registry is then by a password given by the registrar to its
> web-browser interface, which is much easier to set up and manage. We
> expect to use the VOSI interface to pull the registration.

And this "pull" is getCapabilities, which is essentially the same
thing as getMetadata (I think it was called) in the VOSI.  The only
caveat is that getCapabilities is a service-defined interface which
is versioned, hence even if we make the output registry compatible,
the registry might need to be able to perform minor translation,
e.g., to deal with differing versions.

A good service framework could notice if the service metadata has
changed, and send a simple request to a registry for it to update the
service metadata, by calling back to the getCapabilities operation.
Alternatively we could consider putting some sort of service modify
date or build number in the output of getAvailability, and the registry
itself could decide to go have another look anything which might have
changed in the service.

 	- Doug



More information about the dal mailing list