Data Service Resources

In the OGSA-DAI Architecture page the way in which OGSA-DAI supports interactions with data resources via perform documents directed at OGSA-DAI services was described.

A data service resource implements the core of the OGSA-DAI functionality. It accepts perform documents from data services, parses and validates them, executes the data-related activities specified within them and constructs response documents.

Data service resources can also cache data for retrieval by third-parties via the data transport operations of data services. Similarly, data service resources can also receive data from clients via these operations.

These interactions are described in more detail in the interacting with data service resources pages.

Data Service Resources and Data Resources

Each data service resource can support interaction with a single data resource. It does this via the use of a single data resource accessor. The configuration of the data service resource specifies the accessor to use, the configuration of the accessor specifies information such as the location of the data resource.

Data resource accessors are described here.

Special Data Service Resources

Data service resources need not necessarily expose data resources. They can also be used to support the transport or manipulation of data where the data is provided by third parties rather than being accessed from a data resource.

We currently support three such resources:

Data resource accessors for each of these resources are described here

Resource properties

All data service resources expose the following properties:

In addition to these properties each data service resource will expose properties provided by their data resource accessors. These properties are described on the pages for each data resource accessor. Data resource accessors are described here.

Configuration

Every data service resource is configured using a collection of configuration files. Every data service resource uses the following types of configuration file:

In addition to these files each data service resource also has the configuration files for the data resource accessor it uses associated with it. These are described on the pages for each type of data resource accessor here.

All these files are constructed automatically by the tools provided to deploy data service resources. However, if you are interested, a detailed description of these files can be found on this page.

Concurrency

Each data service resource provides support for concurrency:

Currently within OGSA-DAI these settings are specified when a data service is deployed. All resources exposed by the service inherit the same settings.

Sessions

Data service resources support sessions. Multiple requests can be executed within the scope of the same session. Actions specified within one perform document may store some state. Actions specified in subsequent perform documents may read, update or remove that state.

The provision of data to a data service resource or retrieval of data from a data service resource via a data service's data transport operations always takes place within the context of an existing session.

Lifetimes

At present data service resources are created in-memory when the data service that exposes them is created (or, if the data service supports this, from when they are dynamically deployed). They live until the server hosting the associated Web services is shut-down.

Benefits

Though the functionality currently supported by data service resources is limited and only have a subset of what you might find in other database connectivity infrastructures such as that provided by JDBC, the power of the data service resources, and the OGSA-DAI data services which expose them, lies in its exposure of a consistent interface regardless of underlying technology. In addition, using a document to describe data-related operations allows requests to be analysed and optimised.

Furthermore the activities supported by a data service resource is an extensbility point of OGSA-DAI. Users may write their own application-specific activities and change the configuration of their data service resources to support these, thereby allowing clients to specify these in their perform documents.