strawman, applications software metadata
John Taylor
jdt at roe.ac.uk
Sat Oct 1 09:08:27 PDT 2005
Thomas McGlynn wrote:
>
>
> E.g., I think we need a field with the semantics something like:
>
> SoftwareType has the possible values "Library", "Application",
> "Service"
> (and perhaps others).
>
I agree that we need to be able to register "desktop" applications.
Like Paul, I'd like the registry to be machine-readable in that I want a
registry client to be able to locate a suitable application and offer to
download and install it automatically. So, I'm interested in what
download&installation meta data we need to store. One particularly easy
case is when the application in question is java web-startable, but I
think we could probably do something similar when the application uses
other deployment methods.
>
> Both applications and services should have some mechanism for defining
> the interface
> to the tool, e.g., something that plays the role of WSDL. I'm not
> sure we
> want to use WSDL itself in this role, but for the moment I just think
> we need
> a placeholder in the metadata for whatever it is that will describe
> the interface.
> So you might have a:
> InterfaceURL
> field for applications and services and I suppose we could do this for
> libraries too. I'd
> suggest making the InterfaceURL mandatory for Service, strongly
> recommended for applications
> and optional for libraries.
>
> This ties back naturally to our existing registry entries for various
> services.
> to encompass all of the existing ConeSearch, SIAP and SkyNode
> services. We only need to update
> those with some description of their interface and I'd hope we could do
> that by pointing to some standard document for each service type.
>
> There are as many as four URLs defined for a piece of software:
>
> ReferenceURL: links to definitive descriptions/documentation of
> the software (always required)
> DownloadURL: links to a download capability for the software
> (required for Library/Application optional
> for Services)
> InterfaceURL: links to a description in some TBD standardized
> format for how the software
> is invoked (required for Service, recommended for
> Application, optional for library)
> Many services (e.g., all cone search services) may
> point to the same InterfaceURL
> (Perhaps an interface URL can be assumed for
> certain service types?)
> ServiceURL: links to a URL that invokes a service (mandatory
> for Service, not supplied for
> Library or Application
>
I think that a serviceURL _could_ sometimes be used for an application -
Java Web Start apps can be launched by browsing to a URL Perhaps in the
case of other deployment/installation methods it could also be used: for
example
<serviceURL os="Windows">
file:// %INSTALL_DIR%/foo.exe
</serviceURL>
> Going beyond the pure registry, we may also want to consider what it
> means to register software. I really think the way to get this to work
> is to make sure it works for non-interactive applications.
> So for library and application downloads, one detail that needs to be
> considered
> is how we accommodate different versions of the software for different
> architectures.
> We could modify the service URL in some standard way (with a
> controlled vocabularly
> for supported architectures). Or we could consider something like
> what we do
> with SIAP and SSAP services and the ServiceURL could return a table
> has a row for
> each of the supported architectures (and columns designating which
> architecture
> each row corresponds to).
At the risk of sounding like a Java Web Start obsessive, again I think
we can take a look at the format of JNLP files and see what we can learn
from them. For those who aren't familiar with them, they can include a
set of platform-specific resources and the client only downloads and
installs the appropriate one: e.g.
<resources os="Windows">
<nativelib href = "natives-win32.jar" />
</resources>
<resources os="Linux">
<nativelib href = "natives-linux.jar" />
</resources>
<resources os="SunOS" arch="sparc">
<nativelib href = "jogl-natives-solsparc.jar" />
</resources>
<resources os="SunOS" arch="x86">
<nativelib href = "jogl-natives-solx86.jar" />
</resources>
<resources os="Mac OS X">
<nativelib href = "jogl-natives-macosx.jar" />
</resources>
I believe there's some doubt over whether a JNLP file's categorisation
of operating systems is fine-grained enough, but this could be a
starting point.
> Hope this isn't getting too complex too quickly!
>
Oh I'm sure there's plenty more scope for that!
John
>
> Tom
>
>
--
===========================================================
VOTech (DS6: Data Exploration)
http://wiki.eurovotech.org/bin/view/VOTech/DataExploration
Tel: +44 131 6688329
Skype: johndavidtaylor
http://wiki.astrogrid.org/bin/view/Main/JohnTaylor
===========================================================
More information about the registry
mailing list