Introduction
We require that it be possible to catalog results and the
applications, tasks and datasets used in their generation.
It should be possible to track the complete provenance of
any result and to select any of these items based on metadata,
both intrinsic and assigned. We identify three categories of
catalogs: repository, selection and replica.
Requirements
The document "Catalog services for ATLAS" has been posted on the
documents page. It describes the required catalog
services.
Services
Although each of catalogs is presently a simple MySQL table, we anticipate
providing catalog services with interfaces spcific to the nature
of the catalog. These will enable the following:
Clients
DIAL provides classes that define C++ interfaces for accessing the
catalogs required for ADA. It provides implementations for
direct access to MySQL tables, accessing DIAL catalog services, and
making use of the AMI web service.
Repositories may also be stored in flat files.
Root provides a rudimentary user interface using these classes.
PyDIAL provides a python binding to these classes and a similar user interface using this binding.
DIAL also provides a suite of command line tools for accessing and updating the catalogs.
PhpMyAdmin may be used to generate views of MySQL tables.
BNL hosts web pages providing views of many of the ADA catalogs.
AMI provides web pages to aid users in examining their catalogs.
Deployment
At present the DIAL catalogs are all hosted by a MySQL service
running at BNL. All are open for reading and require a password
for insertion or update. The password has very limited distribution.
In the short term, we would like to move to a service interface to provide GSI authentication and enable users to directly insert their own transformations and datasets.
Longer term, we look to AMI and the rest of the ATLAS DB team for help in development, deployment and maintenance of these catalogs.