To translate scientific requirements into actual computational prescription,
the information services are needed. The easier part is to create information
about resources available to a user (User Profile), e.g., which machines
and queues can user access. This could be done periodically by robot
which discovers to which machines user can log in. Once the list of
potential machines is known, the permissions and access to software
can be discovered. This information is only advisory (i.e., it does not
change actual user permissions and access authority), and therefore
advanced user should be allowed to review this information and change it
if needed.
Conceptually more difficult task is to maintain Code Information Service --
i.e., a server which could answer queries about particular software package
capabilities, its availability on computers, and ways in which it can
actually be run there.
Code Information Service also need to answer reciprocal queries,
i.e., provide a list of packages which perform particular computations.
This is absolutely necessary if one wants to suggest solutions to the user.
While the information on how to run a given software to perform
specific type of calculations is provided by an Abstract Application Descriptor
(AAD) (see: http://www.npac.syr.edu/users/haupt/WebFlow/XML/model.html
or a local copy
here) the approaches to the problem:
which package can run what method and
how to combine applications
to solve a problem are still in infancy.
The new standards and tools introduced by Web Services
(SOAP, UDDI, WSDL) can facilitate this task and resource discovery problem
in general. Man groups are currently working on utilizing Web Services
in the context of Grid computing and Portals.