Activity - deliverFromGDT
Activity Type: Delivery
Description
Retrieve data from another OGSA-DAI service which implements the
OGSA-DAI data transport operations via
invocation of its GetFully,
GetNBlocks or
GetBlock operations.
This activity inputs data from a corresponding
outputStream
activity in the other service.
Example
<deliverFromGDT name="retrieve">
<fromGDT streamId="sessionID:outputStreamID" resourceName="MySQLResource"
mode="full">
http://host:port/path/DataService
</fromGDT>
<toLocal name="dataSink"/>
</deliverFromGDT>
<deliverFromGDT name="retrieve">
<fromGDT streamId="sessionID:outputStreamID" resourceName="MySQLResource"
mode="block" numberOfBlocks="25">
http://host:port/path/DataService
</fromGDT>
<toLocal name="dataSink"/>
</deliverFromGDT>
Specification
Element deliverFromGDT:
-
Attribute name - unique name for the
activity within the scope of a request.
-
Element fromGDT (required) - the URL of an
OGSA-DAI service which implements OGSA-DAI
data transport operations and from which
the data is to be retrieved.
-
Attribute serviceType (optional) - type of
the target service.
- wsi - the target service is OGSA-DAI WSI
compliant.
- wsrf - the target service is OGSA-DAI WSRF
compliant.
- unknown - the type of the target service
is unknown. When the activity is run it will contact the service to get
its WSDL and so determine the type of the service from that.
-
If omitted the value
defaults to unknown.
-
Attribute resourceName - name of a
data service resource exposed by the data service and from which
the data originates.
-
Attribute streamId (required) - a
session ID and the name of an outputStream activity running under
that session on this other service.
-
The session name and stream name are expected to be conjoined with a
colon (:).
-
Attribute mode (required) - the data transfer
mode. One of:
-
block - the data is transferred in blocks.
-
full - all the data is transferred in one go.
- Attribute numberOfBlocks (optional - use
with mode="block" only)
- the number of blocks to transfer in one go. Using this setting can
improve performance of the data transfer, as a SOAP message does not
have to be generated for every single block. The multiple blocks will
be amalgamated into a single block before transport.
-
Element toLocal (required) - output stream.
-
Attribute name - the activity's output
stream.
Specifying message level security (WSRF version only)
Message level security can be used to secure the communcation between the
two OGSA-DAI servers. To specify that message level security is to be used
an additional GSISecureConversation element should
be included in the activity specification. For example:
<deliverFromGDT name="retrieve">
<fromGDT streamId="sessionID:outputStreamID" resourceName="MySQLResource"
mode="full">
http://host:port/path/DataService
</fromGDT>
<toLocal name="dataSink"/>
<GSISecureConversation
protectionLevel="integrity"
authorization="host" />
</deliverFromGDT>
The protectionLevel attribute specifies the GSI
protection level to be used. It can take the following values:
-
privacy - Use GSI Secure Conversation with
message privacy . Third-parties will be unable to
read or alter the data.
-
integrity - Use GSI Secure Conversation with
message integrity. Third-parties will be able to
read the data but be unable to alter the data
The authorization attribute specifies the type of
authorization the activity should peform on the remote service. It can
take the following values:
- host - host authorization.
- self - self authorization.
- none - no authorization.
- Any other string - identity authorization will be used. This will
require the remote server's identity to be identical to that specified
in this attribute
When using message level security the client's credential will be
used when the activity accesses the remote OGSA-DAI service. It is
therefore essential that the client's credential is delegated to
the activity. A delegation value of 'limited' or 'full' must threfore be
specified in the client's security descriptor.
Input and Output Types
- Inputs: none
- Output: toLocal - any Java
object received from the remote service via its data transport
operations. It can be confirmed that objects of the following
types delivered via data transport operations will be output from
this activity:
-
java.lang.String, or
-
byte[].
-
Other Java objects are treated as
java.lang.Strings
Data Resource Accessor
This activity can operate with any data resource accessor.
XML Schema
OGSA-DAI/schema/ogsadai/xsd/activities/deliver_from_gdt.xsd
Class
uk.org.ogsadai.activity.delivery.wsrf.DeliverFromGDTActivity
Client Toolkit Class
uk.org.ogsadai.client.toolkit.activity.delivery.DeliverFromDT