Request for applications defined within CeaCapability
Paul Harrison
Paul.Harrison at manchester.ac.uk
Fri Oct 12 02:35:57 PDT 2007
On 2007-10 -10, at 16:42, Guy Rixon wrote:
> It's not the implementors I'm trying to help, it's those deploying the
> implementations. Also, the scheme avoids the mess we get at present in
> VOExplorer for DSA, where there are five different resources. The
> benefit to
> end users is great.
The current way that DSA works wrt CEA registration is a mistake
precisely because it does define a new "application" for every
service, even though the formal interface is identical for every
service and thus there should be a single CEA " asynchronous table
query application" registered that all services share - I believe
that the way that DSA is still registered was supposed to be a short
term hack for a demo that stuck to become established (poor) practice.
For this sort of use case there needs to be a different type of
relationship between the CEAApplication and the CEAService that can
supply the application. In CEAv2 this is dealt with by using the
ApplicationKind element that defines the applicationtype to be one of
Processing - this is the classic CEAv1 relationship between the
CEAApplication and the CEACapable services that claim to be able to
run the application. i.e. each service is assumed to be a mirror and
may be selected at random
DataProducing - in this case each CEACapable service that claims to
be able to run the application is not assumed to be equivalent but is
chosen according to the DataSet that is associated with the service.
How this choice is made is outside the scope of CEA itself.
>
> Personally, I don't have a problem with one app per service. That's
> how I
> deploy things by choice (with bundles like STILTS counting as one
> app).
>
So if each bundle is registered with the application description
encased within the CEACapability of the service, each STILS service/
Application when deployed will end up with a different IVOA ID, and
how is the client to know that each of these services is in fact the
same application? This sort of bundling would be best achieved by the
implementer of the application registering the CEAApplication himself
once, and then each deployer of the bundle simply registering the
service with a <ManagedApplications> reference in he CEACapability -
i.e. the current practice.
So in summary, I am cautiously in favour of this proposal (indeed I
have added it to my personal copy of the current draft schema - not
yet published), but it is only useful for unique applications that
are only ever to be deployed on a single server - DSA and STILTS are
not in this class...
Cheers,
Paul
> Cheers,
> Guy
>
> On Wed, 10 Oct 2007, Paul Harrison wrote:
>
>>
>> On 2007-10 -08, at 14:36, Guy Rixon wrote:
>>
>>> Hi,
>>>
>>> recent work with CEA and AstroGrid DSA (proto-TAP) reveals a need
>>> to define
>>> a CEA application inside the CeaCapability of the service providing
>>> it. E.g.,
>>> instead of registering
>>>
>>> ivo://whatever/MyCoolApp
>>> ivo://whatever/MyAppServer
>>>
>>> as separate registry entries, one would register
>>>
>>> ivo://whatever/MyAppServer
>>> ivo://whatever/MyAppServer#MyCoolApp
>>>
>>> The latter form says, specifically, that MyCoolApp is only
>>> available via
>>> ivo://whatever/MyAppServer and nowhere else; the app does not have
>>> a formal
>>> identity. The old way of registering apps separately would be used
>>> instead to
>>> define a standard, mirrored app.
>>>
>>> Why would we do this? Because it's _easier_ to inline the local,
>>> unique apps.
>>> It's easier for the service provider, for the registry and for the
>>> client
>>> consuming the registrations. It makes the service definition self-
>>> contained
>>> and it fits well with VOSI and pull-registration. We trade a little
>>> more
>>> complexity in the schema for a lot less complexity in
>>> installation and
>>> operation.
>>>
>>> This proposal applies only to schemata based on VOResource 1.0. I
>>> don't want
>>> to change the old oners based on VOResource 0.10.
>>>
>> This is not so easy to implement as it might at first appear with the
>> proposed 1.0 schema ( see http://www.ivoa.net/twiki/bin/view/IVOA/
>> CommonExecutionArchitecture) - I have been experimenting a little -
>> whilst it would be possible to define the CEACapability as
>>
>> <xs:complexType name="CeaCapability">
>> <xs:annotation>
>> <xs:documentation>
>> The definition of a capability conforming to the CEA
>> specification, capable of running one or more
>> CeaApplications
>> </xs:documentation>
>> </xs:annotation>
>> <xs:complexContent>
>> <xs:extension base="vr:Capability">
>> <xs:choice>
>> <xs:element name="managedApplications"
>> type="cea:ManagedApplications" maxOccurs="1"
>> minOccurs="1">
>> </xs:element>
>> <xs:element name="applicationDefinition"
>> type="ceab:ApplicationBase" maxOccurs="1" minOccurs="1"></xs:element>
>> </xs:choice>
>> </xs:extension>
>> </xs:complexContent>
>> </xs:complexType>
>>
>> i.e. the Capability either points to a list or managed applications
>> or a single ceab:ApplicationBase (which is the meat of the
>> Application definition excluding all of the Dubin Core metadata)
>> there are some issues I think with the naming of the application and
>> extra complexity of how a client might be able to discover the
>> applications that are available.
>>
>> Dealing with naming first - There is no difference between the formal
>> identifier for the service and the application in this scheme - this
>> means that there can be only one application per server (presumably
>> not a problem) as the application normally takes its name from the
>> identifier of the whole resource - i.e. there is no place for naming
>> the fragment - though that could be added to the suggested capability
>> above. However, even then, there would only be one set of dublin core
>> metadata for both service and application, so the implementor needs
>> to be careful that the dublin core describes the application rather
>> than the service (even though the registry entry would be formally of
>> a Service type), as any registry browser would be displaying metadata
>> such as Title as feedback to the user.
>>
>> While I agree that it is true that registering one application for
>> the server there is less work with this scheme, this is at the
>> expense of making life harder for a client that is looking for
>> available applications - only possible for a registry that allows
>> xquery and has "fine -grained" metadata.
>>
>> I have to say that I am not sure that the benefit to the relatively
>> small number of service implementors outweighs the extra costs for
>> the client of having to deal with two ways of finding applications
>> and application servers.
>>
>>
>> Dr. Paul Harrison
>> JBCA, Manchester University
>> http://www.manchester.ac.uk/jodrellbank
>>
>>
>>
>
> Guy Rixon gtr at ast.cam.ac.uk
> Institute of Astronomy Tel: +44-1223-337542
> Madingley Road, Cambridge, UK, CB3 0HA Fax: +44-1223-337523
Dr. Paul Harrison
JBCA, Manchester University
http://www.manchester.ac.uk/jodrellbank
More information about the grid
mailing list