The main features of OGSA-DAI 3.1 are as follows.
OGSA-DAI is now released under the Apache 2.0 licence.
OGSA-DAI 3.0 extension packs have been ingested. This includes:
A number of new components and capabilities are now supported. This includes:
The following new activities have been added.
uk.org.ogsadai.util
were relocated to
uk.org.ogsadai.activity.util
.
ErrorID
s defined in
uk.org.ogsadai.RelationalJoins1.Messages.java
were relocated to
uk.org.ogsadai.exception.ErrorID
.
uk.org.ogsadai.RelationalJoins1.Messages.java
was not ingested.
OGSA-DAI 3.1 is designed to be backwards compatible with OGSA-DAI 3.0 without the need for recompilation - data resource, activity and presentation layer APIs and service WSDLs remain the same.
A number of bugs have been fixed, components made more efficient or robust.
The user doc has been extensively refactored and extended.
OGSA-DAI 3.1 has been tested as follows. All tests are run on Linux Red Hat 9 and using Apache ANT 1.7.0
Release | Java version | Unit tests | Database specific tests | Release build tests | Client-server tests |
---|---|---|---|---|---|
OGSA-DAI 3.0 GT 4.0.5 | 1.4.2_12 | Yes | Yes | Yes | Yes - this includes security-related tests |
OGSA-DAI 3.0 GT 4.0.8 | 1.4.2_12 | Yes | Yes | Yes | Yes - this includes security-related tests |
Table 2.1. Tested platforms and databases
Database-specific tests have been run upon all the databases listed in Chapter 27, Data resource products with the exception of Oracle. Client-server tests were run using MySQL, eXist and file system resources.
OGSA-DAI 3.1 is designed to be backwards compatible with OGSA-DAI 3.0. What do we mean by this? We mean:
ogsadai-3.0
) prefixes in their
OGSA-DAI deployments with OGSA-DAI 3.1 JARs and not experience any
errors about missing or undefined methods. A user should not need to
change the configuration of their server at all. Furthermore, any
OGSA-DAI 3.0 components they have written should continue to compile
using 3.1 JARs without the need to rewrite any code.
If you are an OGSA-DAI 3.0 user and experience any problems in using OGSA-DAI 3.1 then please contact us (see Chapter 4, Information, help and support).
Chapter 32, How to upgrade to 3.1 for OGSA-DAI 3.0 users contains information on how to upgrade from OGSA-DAI 3.0 to 3.1.
OGSA-DAI contains functionality that collects statistics on the use of OGSA-DAI and forwards this to the OGSA-DAI team. This is enabled by default in the release. For information on the statistics collected and how to disable this functionality please see Section 34.1, “Usage statistics”.
OGSA-DAI services are compliant with the version of WSRF currently bundled with Globus Toolkit 4.0 releases. From the Globus Toolkit user doc core facts ( http://www.globus.org/toolkit/docs/4.0/common/javawscore/JavaWSCoreFacts.html) 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)"
uk.org.ogsadai.client.toolkit.activities.block.CharArraysResize
.
addArraySizeInput(int)
has been deprecated by
addSizeInChars(int)
connectArraySizeInput(SingleActivityOutput)
has been deprecated by
connectSizeInCharsInput(SingleActivityOutput)
getOutput()
has been deprecated by
getResultOutput()
uk.org.ogsadai.activity.block.ListControlledRepeatActivity
.
uk.org.ogsadai.activity.block.ListConcatenateActivity
uk.org.ogsadai.activity.block.ListRemoveActivity
uk.org.ogsadai.client.toolkit.activities.block.ListRemove
also changed.
uk.org.ogsadai.activity.delivery.DeliverToHTTPActivity
.
uk.org.ogsadai.activity.delivery.DeliverToSMTP
.
uk.org.ogsadai.client.toolkit.activities.delivery.DeliverToSMTP
method addToAsArray(String[])
deprecated by addTo(String[])
.
uk.org.ogsadai.activity.management.CreateResourceGroupActivity
OUTPUT
is
now deprecated. At the next release it will be
renamed from output
to
result
. Change will also apply to
uk.org.ogsadai.client.toolkit.activities.management.CreateResourceGroup
.
addResourceIdsAsArray(String[])
has
been deprecated by
addResourceIds(String[])
getOutput()
has been deprecated by
getResultOutput()
uk.org.ogsadai.activity.sql.ExtractTableSchemaActivity
.
getPrimaryKeys
,
getImportedKeys
or
getExportedKeys
operations are unsupported by the driver currently in use, the
activity continues rather than throw an exception.
uk.org.ogsadai.activity.sql.GetAvailableTablesActivity
.
getSchemas
operation is unsupported by the driver currently in use, the activity
continues, using a wild-card, rather than throw an exception.
uk.org.ogsadai.activity.sql.SQLBagActivity
and
uk.org.ogsadai.activity.sql.SQLResilientActivity
.
timeout
input and the
TIMEOUT
and
DEFAULT_TIMEOUT
constants.
QUERY_FAILED_AT_ALL_RESOURCES
error can be raised.
uk.org.ogsadai.client.toolkit.activities.sql.SQLBag
and
uk.org.ogsadai.client.toolkit.activities.sql.SQLResilient
.
addTimeout
and connectTimeoutInput
methods are
now deprecated.
uk.org.ogsadai.activity.sql.SQLQueryActivity
and
uk.org.ogsadai.activity.sql.SQLParameterisedQueryActivity
.
uk.org.ogsadai.activity.block.TeeActivity
CLONE
was replaced by
INPUT_CLONE
.
uk.org.ogsadai.activity.transform.CVSToTupleActivity
ActivityUserException
if a parser error occurs.
uk.org.ogsadai.activity.transform.CVSToTupleActivity
ActivityProcessingException
.
uk.org.ogsadai.activity.transform.TableMetadataToXMLCharArraysActivity
uk.org.ogsadai.activity.transform.TupleSplitActivity
uk.org.ogsadai.client.toolkit.activities.transform.TupleSplit
uk.org.ogsadai.client.toolkit.activities.transform.TableMetadataToXMLCharArrays
uk.org.ogsadai.client.toolkit.activities.transform.TableMetadataToXMLCharArrays uk.org.ogsadai.client.toolkit.activities.transform.XMLCharArraysToTableMetaDataRetriever uk.org.ogsadai.activity.transform.TableMetadataToXMLCharArraysActivity uk.org.ogsadai.converters.databaseschema.fromxml.XMLToSchemaConverter uk.org.ogsadai.converters.databaseschema.fromxml.XMLToSchemaConverterImpl uk.org.ogsadai.converters.databaseschema.toxml.SchemaToXMLConverter uk.org.ogsadai.converters.databaseschema.toxml.SchemaToXMLConverterImpl
uk.org.ogsadai.activity.transform.TableMetadataToXMLCharArraysListActivity uk.org.ogsadai.client.toolkit.activities.transform.TableMetadataToXMLCharArraysList uk.org.ogsadai.converters.databaseschema.fromxml.XMLSchemaConvertor uk.org.ogsadai.converters.databaseschema.fromxml.XMLParsingTableMetaDataImpl uk.org.ogsadai.converters.databaseschema.DatabaseSchemaMetaData uk.org.ogsadai.converters.databaseschema.toxml.SchemaToSingleXMLConverter uk.org.ogsadai.converters.databaseschema.toxml.SchemaToXMLConverterBase
uk.org.ogsadai.activity.transform.TupleProjectionActivity
ColumnNotFoundException
and rethrow as an ActivityUserException
with an ErrorID
of
COLUMN_NOT_FOUND_ERROR
.
uk.org.ogsadai.activity.transform.TupleProducingCSVHandler
NullPointerException
if the first row
input is null
i.e. if there is no
CSV input data.
Service URL extension interface.
uk.org.ogsadai.activity.extension.ServiceAddressesActivity
and be given an object containing the URLs of the OGSA-DAI server
services.
A number of activity framework changes were made to allow for custom workflow transformation, factoring in a security context if required. This includes:
uk.org.ogsadai.activity.request.WorkflowTransformation
uk.org.ogsadai.activity.request.AutomaticTeeWorkflowTransformation
is provided which inserts Tee activities where an activity output is
connected to two activity inputs.
uk.org.ogsadai.context.OGSADAIContext
now has a method,
getWorkflowTransformation()
, to
to get any such component if present in the OGSA-DAI context.
AutomaticTeeWorkflowTransformation
is
used.
uk.org.ogsadai.activity.request.WorkflowRequest
uk.org.ogsadai.service.gt.execution.workflow.GTRequestFactory
uk.org.ogsadai.authorization.NullSecurityContext
.
uk.org.ogsadai.activity.request.WorkflowRequest
now gets a
WorkflowTransformation
from the OGSA-DAI context and applies it - if
none can be found then the default is used.
A number of activity framework changes were made to allow for pipes to be configurable. This includes:
uk.org.ogsadai.activity.io.GrowablePipe
to
uk.org.ogsadai.activity.io.GrowableInMemoryPipe
.
uk.org.ogsadai.context.OGSADAIContext
now has a method,
getPipeFactory()
, to
to get any such component if present in the OGSA-DAI context.
uk.org.ogsadai.activity.io.BufferedPipeFactory
is
used.
uk.org.ogsadai.activity.io.ControlBlock
java.lang.Serializable
. It now
supports a private readResolve
method used in
Java object serialization and which returns the one of the three
control block values.
uk.org.ogsadai.activity.block.InvalidInputsGranularityException
src/core/activities/uk/org/ogsadai/activity/block/
. These are
uk.org.ogsadai.activity.block.InvalidInputGranularityException
.
uk.org.ogsadai.activity.block.MismatchedInputsGranularityException
.
Error ID
uk.org.ogsadai.MISMATHCED_INPUTS_GRANULARITY
uk.org.ogsadai.activity.block.ListRemoveActivity
and
uk.org.ogsadai.activity.block.ListControlledRepeatActivity
uk.org.ogsadai.data.DataValue
isFinalBlock()
.
It should not have been supported.
New DRER request descriptor
uk.org.ogsadai.resource.request.RequestDescriptor
and all
implementation classes of this
(uk.org.ogsadai.resource.drer.EmbeddedWorkflowRequestDescriptor
and
uk.org.ogsadai.service.gt.execution.GTRequestDescriptor
)
are now deprecated.
uk.org.ogsadai.resource.request.CandidateRequestDescriptor
and
class SimpleCandidateRequestDescriptor
. This is much the same
as RequestDescriptor
but instead of a
getRequest()
method it provides a
getWorkflow()
method which returns a
uk.org.ogsadai.activity.workflow.Workflow
. This allows
presentation layers to construct workflows built using core activity
framework objects and is related to the deprecation of resource factories.
uk.org.ogsadai.resource.drer.DRER
interface and
SimpleDRER
class have a new execute(CandidateRequestDescriptor)
method.execute(RequestDescriptor)
is now marked as deprecated.
CandidateRequestDescriptor
also provides a
allowPrivateResources()
method which returns a flag indicating whether private resources are
allowed to be cited in the workflow.
uk.org.ogsadai.activity.request.RequestDescriptor
allowPrivateResources()
returns a flag indicating whether private
resources are allowed to be cited in the workflow.
getWorkflow()
returns a
uk.org.ogsadai.activity.workflow.Workflow
. This
allows presentation layers to construct workflows built using core
activity framework objects and is related to the deprecation of
resource factories.
getRequest()
is supported for backwards compatibility but is now marked
as deprecated.
SimpleRequestDescriptor
can hold either a
Workflow
or (for backwards
compatibility) a request Object
. A new deprecated
setRequest()
method provides access to the latter.
SimpleRequestDescriptor
.
uk.org.ogsadai.activity.SimpleWorkflowRequestDescriptor
, which was
only used by our SQLBag and SQLResilient tests has been deleted.
uk.org.ogsadai.client.toolkit.presentation.gt.GTResource
.
uk.org.ogsadai.client.toolkit.exception.PropertyNameInvalidException
instead of an incorrect
ResourceCommsException
uk.org.ogsadai.client.toolkit.presentation.axis.AxisExceptionUtil.buildClientException()
uk.org.ogsadai.client.toolkit.presentation.gt.GTExceptionUtil.buildClientException()
.
NullPointerException
if an exception
it is processing has no causes. This means, for example, that rejected
requests from the server now yield a client toolkit
ClientException
.
uk.org.ogsadai.client.toolkit.example.SQLClient
NullPointerException
if it tries to
print a field with a NULL value. Now it displays
null
.
The document-based client toolkit classes from extension pack one have been ingested. These allow client applications to read OGSA-DAI workflows from XML files and send them to OGSA-DAI servers. It is an alternative to building the workflows programatically and can be a good way to test OGSA-DAI installations and demonstrate OGSA-DAI's functionality.
The simple data source client from extension pack one has been ingested. This client allows a data held in a data source to be streamed back and printed.
uk.org.ogsadai.client.toolkit.example.ServerClient
listResources
now prints the resource
type as well as the resource IDs.
destroy
so
that resources can be destroyed.
uk.org.ogsadai.client.toolkit.example.ClientBase
printActivityStatus(Activity)
method for printing the status of individual activities and any error
messages.
uk.org.ogsadai.client.toolkit.example
- SQLClient
,
XMLDBClient
and FileClient
now call
ClientBase.printActivityStatus(Activity)
on each activity in the workflow if any exception is thrown by the
server.
uk.org.ogsadai.client.toolkit.example.SQLDataSourceClient
has been added. This client creates an OGSA-DAI data source, runs an
SQL query and exposes the results as CSV via the data source. This can
be useful when used with the OGSA-DAI data source servlet.
Example clients in
src/client/uk/org/ogsadai/client/toolkit/example
and scenarios in
src/client/uk/org/ogsadai/client/toolkit/scenarios
are bundled in binary distributions in an
examples/
directory.
uk.org.ogsadai.converters.csv.CSVParser
uk.org.ogsadai.converters.tuple.webrowset.TextColumnStrategy
.
NullPointerException
if the first
tuple contains empty strings.
uk.org.ogsadai.metadata.MetadataWrapper
java.lang.Serializable
.
uk.org.ogsadai.tuple.ColumnMetadata
columnNoNulls
has been deprecated by COLUMN_NO_NULLS
.
columnNullable
has been deprecated by COLUMN_NULLABLE
.
columnNullableUnknown
has been deprecated by COLUMN_NULLABLE_UNKNOWN
.
uk.org.ogsadai.tuple.Tuple, TupleMetadata,
ColumnMetadata, SimpleBlob, SimpleClob, Null
java.lang.Serializable
.
uk.org.ogsadai.tuple.TupleMetadata
getColumnMetadataPosition
no longer throws a
ColumnNotFoundException
.
SimpleTupleMetadata
since it always returned -1 in such cases.
uk.org.ogsadai.tuple.Null
readResolve
method used in Java object serialization and which returns the
singleton instance held by the object.
build.xml
.
permit
and
deny
now can handle cases where
path to OGSA-DAI container (and so to the logins file) has spaces.
localhost
.
localhost
as the
dai.host
argument. This is because
proper host names are required to construct WS-EPRs and ensure that
inter-op with other OGSA-DAI, web and grid components (e.g. DQP) can work.
config.txt
deploy/config-blanks/JDBCResource
uk.org.ogsadai.SQLBulkLoadTuple
activity name was mapped to
a non-existent uk.org.ogsadai.SQLBulkLoadTuples
activity ID. This has been corrected to be
uk.org.ogsadai.SQLBulkLoadTuple
.
dai-manager.jsp
dai-index-gt.jsp
.
JSP pages have been rewritten and new ones added. This should still be viewed as prototypes only.
dai.protocol
(default http
) property. This allows provision of
https
for secure deployments, for example.
uk.org.ogsadai.persistence.file.TextFileUtils
getLines
methods now view lines in configuration files
that start with #
as comments and ignores these.
DataRequestExecutionResource
dai.concurrency.queue.length
and
dai.concurrency.request.pool.size
have been increased from 20 and 10 to 150 and 50 respectively, in
response to performance evaluations on 3.0.
config-blanks/JDBCResource
and
config-blanks/XMLDBResource
http:// prefix
e.g.:
http://uk.org.ogsadai.resource.dataresource.product=MySQL http://uk.org.ogsadai.resource.dataresource.vendor=MySQL http://uk.org.ogsadai.resource.dataresource.version=5.0
This is to avoid problems with using OGSA-DAI with security. No code relied upon these names so impact should be minimal.
Tuples, meta data and WebRowSet
catalog
section.
uk.org.ogsadai.config.KeyValueProperties
:
containsKey(Key)
and
put(KeyValueProperties)
.
SimpleKeyValueProperties
and
uk.org.ogsadai.resource.session.SimpleSessionResource
.
JDBC, column labels and column names
ResultSetMetaData.getColumnName()
have been replaced by calls to
ResultSetMetaData.getColumnLabel()
at appropriate places as this allows for column aliases to be
handled correctly. Currently the name field in tuple meta-data
records the column label.
WebRowSet
rowset-type
in our
implementation is now
ResultSet.TYPE_FORWARD_ONLY
rather
than the integer value of this constant
(1033
). This is for inter-operability
with Sun's
WebRowSet.
An example workflow monitoring plug-in has been provided. The previous release shipped with one that did nothing. The new addition records events to an event list in the OGSA-DAI context.
uk.org.ogsadai.resource.SimpleResourcePropertySet
.
ResourceEvent.UPDATE
event if an
existing resource property is overwritten and a
ResourceEvent.ADD
event if a new one
is added (rather than the other way round!).
uk.org.ogsadai.resource.SimpleResourcePropertyValue
setValue()
.
a cached DOM value is now cleared when this method is
called - prevents value and DOM representation getting out of synch.
uk.org.ogsadai.resource.ResourceManager
listResources(ResourceType)
method.
uk.org.ogsadai.resource.SimpleResourceManager
uk.org.ogsadai.resource.ResourceAccessorProvider
uk.org.ogsadai.resource.DataResource
implementations can
implement. If a data resource plug-in implements this interface then
it will be provided with the current session and request IDs, in
addition to the current security context. These can be used to create
a ResourceAccessor
for the data resource that factors in
the session and/or request, in addition to the security context.
Any data resource implementing this interface will have the
ResourceAccessorProvider.createResourceAccessor/3
method called instead of the
ResourceAccessor.createResourceAccessor/1
method.
uk.org.ogsadai.activity.extension.ResourceActivityInitialiser
was changed to call the appropriate method above.
uk.org.ogsadai.activity.extension.DefaultActivityInitialisers
was changed to pass the session and request IDs to
ResourceActivityInitialiser
.
The OGSA-DAI 3.0 remote resources extension pack has been
ingested. This consists of a new OGSA-DAI data resource plug-in which
can communicate with a remote OGSA-DAI server. An activity -
uk.org.ogsadai.activity.remote.RemoteAsynchSQLQueryActivity
- which
runs a CreateDataSource=>DeliverToRequestStatus and then a
SQLQuery=>TupleToWebRowSetCharArrays=>WriteToDataSource workflow on
the remote server has also been supplied.
Support for private resources
uk.org.ogsadai.resource.ResourceState
, and its sub-class
class, SimpleResourceState
, have been extended with
isPrivateResource()
and
setPrivateResource()
methods.
uk.org.ogsadai.resource.ResourceManager
, and its
implementation class, SimpleResourceManager
, have been extended with
getPublicResource(ResourceID), getPublicResource(ResourceID,
ResourceType), listPublicResources()
and
listPublicResources(ResourceType)
methods.
uk.org.ogsadai.activity.management.CreateResourceGroupActivity
has been changed to that it will only
succeed if all the resources to be members of the group are both known
to the server and are marked as public resources.
uk.org.ogsadai.activity.request.RequestConfiguration
has
a new allowPrivateResources()
method which returns a boolean and its
sub-class uk.org.ogsadai.activity.request.OGSADAIRequestConfiguration
inherits the default value from the given
uk.org.ogsadai.activity.RequestDescriptor
.
uk.org.ogsadai.activity.request.OGSADAIChildRequestConfiguration
,
used in sub-workflows, sets the default value of this flag to true but
provides a setAllowPrivateResources(boolean)
method to allow this
to be overridden (e.g. an activity could override it to prevent
sub-workflows accessing private resources).
uk.org.ogsadai.activity.SimpleActivityFactory
and
uk.org.ogsadai.activity.extension.ResourceActivityInitialiser
provide
constructors which take a boolean about whether private resources can
be used or not and respect this when assigning target resources to
activities. If a private resource is targeted and private resources
are not to be used then a
uk.org.ogsadai.resource.ResourceUnknownException
is thrown.
uk.org.ogsadai.activity.extension.DefaultActivityInitialisers
now
calls the new ResourceActivityInitialiser
constructor with
the allowPrivateResources
value from the RequestConfiguration
.
Interface uk.org.ogsadai.activity.request.RequestFactory
is now
deprecated.
uk.org.ogsadai.resource.initialize.FactoryResourceStateVisitor
no
longer looks for a RequestFactory
with key
uk.org.ogsadai.REQUEST_FACTORY
in the
OGSA-DAI context.In
consequence, SimpleDRER
and
OGSADAIActivityFramework
no longer take a
RequestFactory
as arguments to their constructors.
uk.org.ogsadai.activity.OGSADAIActivityFramework
will look for a
RequestFactory
in the OGSA-DAI context. If it receives an
activity.RequestDescriptor
that has no Workflow
object then it will get a request Object
from this and pass it to the factory.
SimpleDRER.execute(RequestDescriptor)
constructs a
SimpleRequestDescriptor
holding a request Object
.
SimpleDRER.execute(CandidateRequestDescriptor)
constructs a
SimpleRequestDescriptor
holding a Workflow
object.
uk.org.ogsadai.resource.drer.SimpleRequestFactory
has been deprecated.
uk.org.ogsadai.service.gt.execution.workflow.GTRequestFactory
is
now a standalone class for converting beans into a Workflow
. It no
longer implements the deprecated RequestFactory
interface.
uk.org.ogsadai.service.gt.execution.GTDataRequestExecutionProvider
now uses GTRequestFactory
to convert a request bean into a Workflow
and also it builds a SimpleCandidateRequestDescriptor
for passing to
the DRER.
uk.org.ogsadai.service.gt.context.GTOGSADAIContextInitializer
no
longer adds the GTRequestFactory
to the OGSA-DAI context.
uk.org.ogsadai.service.gt.execution.GTRequestDescriptor
has now
been removed as it's unused.
uk.org.ogsadai.context.OGSADAIConstants.REQUEST_FACTORY
has been deprecated.
uk.org.ogsadai.service.gt.context.GTOGSADAIContextInitializer
now initializes OGSA-DAI managers before reading JNDI entries in the
misc or logins contexts. This allows optional or application-specific
components to use the managers when these components are first
created.
The servlet extension pack - which provides a servlet which allows access to data exposed via OGSA-DAI data sources - has been ingested. This is deployed by default in deployments of OGSA-DAI onto Tomcat. The following should be noted.
OGSA-DAI is now tested using GT 4.0.5 and GT 4.0.8.
OGSA-DAI GT now bundles the
concurrent.jar
and concurrent.LICENSE
from the Globus Toolkit. This is required to allow clients to run
under GT 4.0.8.
An OGSA-DAI GT PDP which authorizes on the basis of DN's matching a regular expression is available,
Support for MDS registration.
uk.org.ogsadai.service.gt.intrinsics.GTIntrinsicsProvider
listResources
now just ignores the ID instead of throwing an exception.
Activities
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.
IMAGE
column type is not
currently supported.
deliverFromGridFTP
and
deliverToGridFTP
do not allow the
setting of certain GridFTP parameters.
org.xmldb.api.base.ResourceSet
object.
Deployment
Interacting with databases
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
Miscellaneous
uk.org.ogsadai.common.msgs.DAILogger
methods can sometimes log the wrong line numbers. Searching the logs
will usually reveal where the problem actually arose.
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.
Platforms
java.sql
APIs (in which
both additional methods and classes have been added) from earlier
versions of Java. The OGSA-DAI team may release a Java 1.6 patch in
the near future.
setenv
scripts do not set
CLASSPATH
s correctly under Cygwin.
Security
The following APIs may be assumed to be held stable in further OGSA-DAI 3 releases. The only exceptions to this are:
The list of APIs are as follows:
The following components may be subject to change in light of requirements to increase functionality or bug fixes. 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 contains functionality that collects statistics on the use of OGSA-DAI and forwards this to the OGSA-DAI team. This is enabled by default in the release. For information on the statistics collected and how to disable this functionality please see Section 34.1, “Usage statistics”.
OGSA-DAI 3.0 is a complete rewrite of OGSA-DAI 2.2. A list of the changes made, why and advice on upgrading applications is given in Appendix AB, Appendix - Upgrading from OGSA-DAI 2.2.
The following APIs may be assumed to be held stable for the forseeable future (12 months). Changes will only be made if a fundamental problem is encountered for a majority of users.
The following components may be subject to change in light of requirements to increase functionality or bug fixes. 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 3.0 has been tested as follows. All tests are run on Linux Red Hat 9 under Java 1.4.2_12 and using Apache ANT 1.6.5.
Release | Unit tests | Database specific tests | Release build tests | Client-server tests |
---|---|---|---|---|
OGSA-DAI 3.0 GT 4.0.5 | Yes | Yes | Yes | Yes - this includes security-related tests |
Table 2.2. Tested platforms and databases
Database-specific tests have been run upon all the databases listed in Chapter 27, Data resource products. Client-server tests were run using MySQL, eXist and file system resources.
OGSA-DAI services are compliant with the version of WSRF currently bundled with Globus Toolkit 4.0.5. From the Globus Toolkit user doc core facts ( http://www.globus.org/toolkit/docs/4.0/common/javawscore/JavaWSCoreFacts.html) 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)"