- Doc Structure
- A Globus Primer
- Globus Is Modular!
- Installing GT
- Platform Notes
- Migrating from GT2
- Migrating from GT3
- PDF version
- Best Practices
- Coding Guidelines
- API docs
- Public Interfaces
- Resource Properties
- Performance Studies
Table of Contents
OGSA-DAI provides a pure Java data service framework for accessing and integrating data resources - such as files, relational and XML databases - on to Grids. Towards this end, OGSA-DAI:
- Exposes intrinsic data resource capabilities - such as the ability to perform SQL queries on relational resources or evaluate XPath statements on XML collections - through web service based interfaces, thus allowing data resources to be easily incorporated as first class citizens in grids.
- Allows additional functionality to be implemented at the service - such as transformation of data coming out of a data resource - so as to avoid unnecessary data movement.
- Provides a compact way of handling multiple potential interactions with a service within a single request via an XML document, called a perform document, where data is pipelined between different set of activities that operate on a data stream coming out of, or going into, a data resource.
- Allows developers to easily add or extend functionality within OGSA-DAI. The perform document, and underlying framework, are extensible allowing additional functionality to be added, or existing functionality to be customised, and still operate within the same framework.
- Allows metadata about data and the data resources in which it is found to be queried via a service interface.
- Facilitates the provision of data integration capabilities from various sources to obtain the required information.
This WS-RF distribution of OGSA-DAI has been designed to work with the Globus Toolkit 4 implementation of WS-RF; a WS-I distribution is also available from the OGSA-DAI web site, which is designed to work with the UK OMII web services infrastructure releases. Finally, an OGSI-based distribution of OGSA-DAI, designed to work with the GT3.2 releases, is also available from the project web site. Note: these releases are not designed to inter-operate. More information about these and OGSA-DAI in general is available from the project website at http://www.ogsadai.org.uk.
Features new in release GT 4.1.1:
- Access to data is provided via an "OGSA-DAI data service". For those that have previously used the OGSI version of OGSA-DAI, this service amalgamates the capabilities of the Grid Data Service Factory (GDSF) and Grid Data Service (GDS) services (the metadata and configuration roles of the GDSF and the metadata and perform document processing aspects of the GDS).
- Each data service exposes zero or more data service resources. A data service resource manages exposure of and interaction with a data resource. A single data service resource can be viewed as offering capabilities analogous to a single GDS in the OGSI version of OGSA-DAI.
- Allows multiple data resources to be accessed through a single service. Data service resource identifiers, available from the data service's WS-Addressing endpoint reference, allow a client to target a specific data service resource.
- A listResources() operation is provided for a data service to list all the identifiers of the data service resources exposed by that service.
- The data service resource identifiers returned by a data service can subsequently be used by a client to obtain metadata and other information, about the data service resources corresponding to that identifier.
- Access to data service resource metadata (such as database schemas, request status, etc.) is provided by an implementation of the WS-ResourceProperties specification. In particular support for using the QueryResourceProperties, GetResourceProperties and GetMultipleResourceProperties portTypes is provided.
- Access to version information about the OGSA-DAI Data Service is available through the getVersion() operation.
- A WSRF version of the OGSA-DAI GridDataTransport portType supports asynchronous data delivery between data services.
Other Supported Features (features that continue to be supported from previous versions):
- Perform documents.
- Extensible activity framework.
- Statement, delivery and transformation activities.
- The OGSA-DAI Client Toolkit has not been updated yet to support interaction with WSRF-enabled OGSA-DAI services. This will be made available in a future version.
- The OGSA-DAI registry service, DAISGR, has not been updated for WSRF. This will be addressed in a future version or provided via a third party component.
- The old graphical demonstrator no longer works with this version of OGSA-DAI.
The following changes have occurred for OGSA-DAI since the last stable release, 4.0.4:
The following problems are known to exist for OGSA-DAI at the time of the 4.0.1 release:
Problems retrieving BLOBS
When trying to retrieve BLOBs from a relational database you will get zero rows returned (or an error). The following error message will be logged:
Base64Provider has not been set up with a Base64 implementation
This will be fixed in the next release. In the meantime if you have the source version of the release, you can correct this bug by changing two files and rebuilding OGSA-DAI. See BLOB Error Workaround for details.
DeliverToStream activity is broken.
The DeliverToStream activity has a bug in the WSRF implementation. The service URL passed to the servlet is 'null' rather than the correct URL.
Thus where the documentation says the data will be available from a URL of the form:
It will actually be available from a URL in the form:
This will be fixed for the next release.
Client toolkit asynchronous result set broken.
The ResultSet object returned by the OutputStreamActivity class' getResultSet methods do not work for WSRF 1.0. This is because the code attempts to use the getNBlocks service operation which is not implemented in WSRF 1.0. This will be fixed in our next release.
There are two possible work arounds to this problem:
- Use synchronous delivery. The ResultSet returned by the SQLQuery activity's getResultSet() method does work.
- Alter the client toolkit code to use the getBlock() service operation. Unfortunately this option will be very slow as only one row will be retrieved at a time.
At the present time we are not aware we are not aware of any outstanding bugs in this distribution. If you find any bugs or want to know if any have been reported please consult www.ogsadai.org.uk/support.
OGSA-DAI depends on the following GT components:
- Java WS Core
OGSA-DAI depends on the following 3rd party software:
- Java 1.4.0 (OGSA-DAI WSRF has been tested on this version of Java though may work with other Java 1.4.x flavours).
- Jakarta ANT 1.5 (see http://ant.apache.org).
Depending on the underlying data resource that OGSA-DAI is going to expose, you may need one or more of the following:
- For relational databases such as MySQL, PostgreSQL, SQLServer, Oracle and DB2, the corresponding JDBC drivers are required.
- For XML databases such as Xindice, the corresponding XMLDB drivers are required.
- To use a full text search engine against flat files, Jakarta Lucene is required.
Tested Platforms for OGSA-DAI
- Sun Solaris 8 (SPARC)
- Microsoft Windows 2000 (X86)
- Microsoft Windows XP (X86)
- Redhat Linux 9 (X86)
We have not tested on other platforms, but if you do and have problems, we would like to hear about it.
OGSA-DAI has been tested with the following databases:
- MySQL 3.2.3 and above
- PostgreSQL 7.4
- IBM DB2
- Oracle 9i
- MS SQLServer 2000
- Xindice 1.0
Protocol changes since GT version 4.0.4:
- Not backwards compatible with the previous OGSI version.
API changes since GT version 4.0.4:
Exception changes since GT version 4.0.4:
Schema changes since GT version 4.0.4:
- WSDL changes to work with new Java WS Core.
In essence, OGSA-DAI uses the Globus Toolkit Java WS Core component; therefore, any standards that apply to this apply equally well to OGSA-DAI. In addition, the base framework used is based on a GGF DAIS base specification presented at GGF 7: Grid Data Service Specification.
Click here for more information about this component.