Work on OGSA-DAI 4.0 has been funded by the UK Engineering and Physical Sciences Research Council via OMII-UK and also by The University of Edinburgh. A full list of contributors and sponsors present and past is available at: http://sourceforge.net/apps/trac/ogsa-dai/wiki/Sponsors.
OGSA-DAI 4.0 has the following features:
Backwards compatibility between OGSA-DAI 4.0 and OGSA-DAI 3.x versions is as follows.
java.sql
APIs that we
implement between Java 1.5 and 1.6.
ogsadai-context.xml
file in the CLASSPATH. This also requires additional Spring-related
JARs to be available in the CLASSPATH. These are bundled with OGSA-DAI.
uk.org.ogsadai.config.CommonComponentsConfiguration
classes and the config.txt
file have been
removed. If you developed components that used this then these will
no longer compile or run. You can now use the Spring file above to
insert entries into the OGSA-DAI context. Any use of
uk.org.ogsadai.config.CommonComponentsConfigurationManager
can be replaced by use of the OGSA-DAI context.
If you are an OGSA-DAI 3.x user and experience any problems in using OGSA-DAI 4.0 then please contact us (see Chapter 3, Help and support).
Chapter 5, How to upgrade to 4.0 for OGSA-DAI 3 users contains information on how to upgrade from OGSA-DAI 3 to 4.4.
OGSA-DAI 4.0 has been tested as follows. All tests are run on Linux Red Hat 9 using Apache ANT 1.7.0
Release | Java version | Unit tests | Database specific tests | Release build tests | Client-server tests |
---|---|---|---|---|---|
OGSA-DAI 4.0 GT 4.2.0 | 1.6.0_16 | Yes | Yes | Yes | Yes - this includes security-related tests |
Table 4.1. Tested platforms and databases
Database-specific tests have been run on all the databases listed in Chapter 25, Data resource products. Client-server tests were run using MySQL, eXist and Linux file system resources.
For our current list of known problems and issues see:
Activity changes:
uk.org.ogsadai.activity.extension.ConfigurableActivity
's method
configureActivity
can now throw
ActivityInitialisationException
so
activities can signal problems in their configuration properties.
?MIN
and
?MAX
templates in the expression.
DeliverToDataSink
activity now sends data
to the remote server whenever it has data to send. It no longer waits for
a specified number of blocks before sending the data.
Activity access to presentation-layer objects:
uk.org.ogsadai.resource.request.CandidateRequestDescriptor
and its implementation
SimpleCandidateRequestDescriptor
now
provide methods supporting the put and get of key-value pairs.
uk.org.ogsadai.resource.drer.SimpleDRER
.
Backport Concurrency JAR:
edu.emory.mathcs.backport.java.util.concurrent
have been replaced by java.util.concurrent
.
Client handlers:
client-config.wsdd
,
is now bundled in its own JAR so there is no need now to have the
deploy
directory in your CLASSPATH.
Deployment:
configure
command. This takes
in a script specifying one or more deployment and configuration-related
operations. This allows complex configurations to be expressed
within the scope of a single file.
buildGAR
,
deployGAR
,
buildAndDeployGARTomcat
have been renamed to
buildWebapp
,
deployWebapp
,
buildAndDeployWebapp
respectively.
These commands no longer build a GAR file but build a directory
mirroring that of the GT wsrf
webapp
directory in Tomcat and containing just the OGSA-DAI XML Schema, WSDL,
JARs and configuration files. Deployment now simply involves the
appropriate command copying this directory to the GT
wsrf
directory in Tomcat.
main
method on
uk.org.ogsadai.authorization.file.SimpleFileLoginProvider
has been removed. The class
uk.org.ogsadai.tools.LoginEditor
now serves that purpose.
KML activities and supporting classes:
uk.org.ogsadai.convertors.tuple.kml
.
Product-specific meta-data extraction:
uk.org.ogsadai.resource.dataresource.jdbc.MetaDataHandler
has been added -
uk.org.ogsadai.resource.dataresource.jdbc.SQLServerMetaDataHandler
.
This addresses a problem arising from JDBC drivers
providing incorrect ORDINAL_POSITION
values.
Server configuration:
config.txt
file have
been removed.
config.txt
file can now be provided as Environment
entries in the new XML configuration above.
Web server file caching activity and REST API:
Web server information:
uk.org.ogsadai.server.ServerContext
interface has been added. An interface
WebServerContext
extends this
with getters for a web server host, port, webapp and protocol. This
is intended to be used as a container for this information for use
by activities that construct WS-EPRs or servlet URLs.
uk.org.ogsadai.server.TomcatContext
provides an implementation of this that extracts this information
out of its current message context.
TomcatContext
into the
CandidateRequestDescriptor
(see
above) with key
uk.org.ogsadai.server.WebServerConstants.WEB_SERVER_CONTEXT
.
Bug fixes and other changes:
uk.org.ogsadai.dqp.execute.workflow.SortBuilder
have been fixed.
uk.org.ogsadai.activity.delivery.DeliverToDataSinkActivity
whereby it did not check the number of blocks
specified until after the value was used (resulting in a server-side
error if the block size was < 0) has been fixed.
~
, in the resource
and resource template directories are now ignored.
TupleUnionAll
activity has
been fixed. See
OGSA-DAI 3.2.2 software advisories
for more details.
TupleMergeJoin
and SQLNestedInClauseJoin
activities has been fixed.
See
OGSA-DAI 3.2.2 software advisories
for more details.
ORDER BY
has been fixed. See
OGSA-DAI 3.2.2 software advisories
for more details.
Unsupported features:
The following APIs may be assumed to be held stable in further OGSA-DAI 4 releases. The only exceptions to this are:
The list of APIs are as follows:
The following components may be subject to change in the light of requirements to increase functionality or fix bugs. We may release bug fixed components or new versions of existing components. These will not incur API changes though. Note also that these are components that implement OGSA-DAI extensibility points so are designed to be pluggable and replaceable in this way.
The following APIs and components may be viewed as "alpha" versions which will be subject to change:
OGSA-DAI Axis services are compliant with the version of WSRF currently bundled with Globus Toolkit 4.0 releases. These are the 2004/06 OASIS WSRF and WSN working draft specifications with minor fixes to the 1.2-draft-01 published schemas and with the March 2004 version of the WS-Addressing specification.
OGSA-DAI GT services are compliant with the version of WSRF currently bundled with Globus Toolkit 4.2 releases which is the OASIS WSRF 1.2 standard.
uk.org.ogsadai.activity.sql.SQLBagActivity uk.org.ogsadai.activity.sql.SQLResilientActivity uk.org.ogsadai.activity.pipeline.AutomaticTeeuse hard-coded activity names to identify the activity or activities in sub-workflows they splice into workflows. This means that you should take care when renaming activities exposed by resources, especially block activities. This problem will be most likely manifested as an unsupported activity error.
ObtainFromGridFTP
and
DeliverToGridFTP
do not allow the
setting of certain GridFTP parameters.
table-name
tag in WebRowSet XML
is empty in results produced by Oracle or SQLServer. This is a problem
of the JDBC drivers that do not provide table names in the metadata of
a java.sql.ResultSet
.
littleblackbook
while DB2
returns LITTLEBLACKBOOK
.
java.sql.SQLException
s from database
drivers to identify problems caused by a client (e.g. a
syntactically-incorrect SQL query) and those due to server-side
failures (e.g. loss of connection to a database).
org.gjt.mm.mysql.Driver
from the
mysql-connector-java-5.0.5
driver JAR in conjunction with MySQL version mysql-4.1.20-1.RHEL4.1 running on
Red Hat.
Even though they had provided the database name as part of the
database connection URL, e.g.
jdbc:mysql://localhost:3306/dbnameThey had to specify the database name in their queries also, e.g.
SELECT * FROM dbname.table
deliverFromGridFTP
and
deliverToGridFTP
in a request
the transfer will fail.
destroy
operation. It is a no-op.
The default OGSA-DAI resource and activity managers
uk.org.ogsadai.activity.SimpleActivityManager uk.org.ogsadai.resource.SimpleResourceManager
cache activity specifications and resources in in-memory hash tables. They do not check for changes in any persisted configuration associated with the activity specifications or resources once the associated objects are in the cache.
uk.org.ogsadai.persistence.file.resource.SimpleFileResourceStateDAO
only handles the persistence and restoration of resource properties or
session state that are String
s.
uk.org.ogsadai.service.gt.resource.GTResourceProperty
methods
add(X) clear() get(int) remove(Object) set(int, Object)are currently not supported. These would need to convert from XML fragments into objects.
uk.org.ogsadai.common.BinaryLob
class
contains unimplemented methods which throw
java.lang.UnsupportedOperationException
.
java.sql.ResultSet
to XML
WebRowSet returns empty key-column
and
map
properties in the
properties
element.