OGSA-DAI JDBC Driver

In the highly complex business world there are a large number of data resources. As companies expand, merge and are acquired, systems using complex combinations of legacy data resources arise. When grid technology is considered as a possible solution to better integrate these different data sources a problem sometimes arises. How can you minimise the disruption to existing legacy applications using these data resources? For example, it may be hard to alter your database layout or run analyses across multiple data resources without having to also modify these existing applications. This component aims to help in this scenario by abstracting grid middleware behind a standard JDBC interface. It will provide a JDBC driver which will act as an interface between OGSA-DAI and the client application allowing SQL queries and updates – legacy applications that use JDBC will be able to access both individual and federated data resources exposed via OGSA-DAI.

High Level Architecture

As this component it is still in the initial design phase the initial architecture description will be at a high level.

The component is a JDBC-compliant database driver which allows an OGSA-DAI server (and so the data resources exposed by that server) to be accessed via JDBC. Given the time available to develop this component it is unclear as to what extent the JDBC API will be implemented, but the core operations of running SQL queries and updates will be supported. It may also be possible to provide some meta data functions but this, in part, is limited by the meta data which an OGSA-DAI server can provide about its associated data resources.

The following shows how the JDBC driver is used by an application to get access to data resources exposed by an OGSA-DAI server:

Application ‹=› JDBC API ‹=› OGSA-DAI JDBC driver ‹=› SOAP over HTTP ‹=› OGSA-DAI ‹=› Database-specific protocol ‹=› Database

It is intended that the JDBC driver use the OGSA-DAI client toolkit to communicate with the OGSA-DAI server.

Usage Scenario

A company wants to make use of OGSA-DAI to help them manage a number of different data sources. One of the data sources is currently too slow for the task they are asking it to perform. In order to improve performance they want to split the database into several parts. However, they have an existing application which uses a JDBC interface to the current database. In order to restructure the database into multiple databases but avoid changes to the existing application a JDBC driver will be used in front of OGSA-DAI, OGSA-DAI managing federation of the multiple databases. The interface the application uses to access data remains the same – JDBC – and the only change required to the legacy application is a configuration change. However, the infrastructure behind the interface has been changed significantly.

Alternatively, a company might have a number of legacy databases. It wishes to perform analyses across these to reveal new business insights. OGSA-DAI provides a way to do this. However many existing data analysis tools are not compliant with Web services. But they are compliant with JDBC - a JDBC driver for OGSA-DAI therefore allows the use of these standard data analysis packages as-is with the federated resources without requiring any changes

Dependencies

This component will depend upon an OGSA-DAI 3.0 server to provide the access to the actual databases. It will also depend upon the JDBC interface standards as it needs to conform to them.

Interface

The component will provide a JDBC interface to an OGSA-DAI v3.0 server.

Further Details

  • Related Design Patterns: Data Federation Pattern
  • Related Common Capabilities: Access to a Remote Data Source, Homogenise Data Sources, Treat Multiple Data Sources as One
  • Related Technical Requirements: Accessing Heterogeneous Data, Federate a Number of Data Sources
  • Release Date: TBC
  • License: Apache 2
  • Contact: c.thomson(at)epcc.ed.ac.uk
  • Development Status: Beta
  • Programming Language(s): Java 1.4
  • Supported Operating Systems: Platform Independent
  • Supported or Required Middleware: OGSA-DAI 3.0
  • Other Dependencies: Java 1.4, JDBC 3.0 API (as provided in Java 1.4 SDK), Globus Toolkit 4.0.5, Jakarta Tomcat 5.0