Access Keys:
Skip to content (Access Key - 0)

WS-Enumeration


WS-Enumeration 1.3 Administrators Guide


Navigation
caGrid caGrid 1.3 Documentation
WS-Enumeration WS-Enumeration 1.3 Documentation WS-Enumeration 1.3 Administrators Guide
Contents


Prerequisites


The caGrid WS-Enumeration infrastructure requires use of the Globus Java WS-Core patched with WS-Enumeration support. The special caGrid distribution of this package meets this requirement.

Obtaining the Service


Find information on obtaining the caGrid WS-Enumeration infrastructure on the Downloads Page.

Configuration


When a caGrid service is built with Introduce and the WS-Enumeration extension, a special service property is added that controls the default server-side implementation of the enumeration. This service property is "caGridWsEnumeration_iterImplType", and it may be set to one of five values:


WS-Enumeration Implementations


  • GLOBUS_SIMPLE
    • The Globus-provided simple enum iterator
    • A concrete implementation of the EnumIterator interface. It is a very simple implementation that can enumerate over in-memory data passed either as an array of objects or a list (java.util.List). The enumeration contents can be of javax.xml.soap.SOAPElement type, simple types such as java.lang.Integer, etc. or Axis generated Java beans. The SimpleEnumIterator can only be used with transient type of enumerations.
  • GLOBUS_INDEXED_FILE
    • The Globus-provided indexed file enum iterator
    • A memory efficient implementation that can enumerate over data stored in an indexed file created by IndexedObjectFileWriter. The indexed file format is optimized for retrieving objects in a sequential and random manner. The IndexedObjectFileEnumIterator uses the IndexedObjectFileReader to read the indexed file and quickly locate and retrieve the next set of objects of the enumeration. The IndexedObjectFileEnumIterator can be used with transient and persistent types of enumerations.
  • CAGRID_SIMPLE
    • A simple iterator which persists objects to disk
    • This iterator makes no attempt to respect any values of IterationConstraints except for maxElements.
  • CAGRID_THREADED_COMPLETE
    • A relatively complete implementation of the EnumIterator spec
    • This iterator uses threads to respect maxTime constraints, as well as respecting maxCharacters. Elements overflowing either of these constraints, however, are lost, and waits for threads are not optimized.
  • CAGRID_CONCURRENT_COMPLETE
    • The default and most complete implementation of the EnumIterator spec
    • This iterator uses the Java 5 java.util.concurrent package to fully support the WS-Enumeration specification for an EnumIterator implementation. All iteration constraints are respected, and elements which cause maxCharacters to be exceded are queued for later retrieval.

The default implementation is CAGRID_CONCURRENT_COMPLETE. If the service property is not found, contains no value, or contains an invalid value, this implementation will be used and a warning will be logged.

Installation


The caGrid WS-Enumeration infrastructure is not a stand-alone service so much as a set of tools and interfaces that work together to build a consistent grid service interface. It provides tools to develop enumeration-supporting services. It can be installed into the Introduce toolkit as an extension by executing the command "ant installIntroduceExtensions" from either the top level of a source distribution or from the cabigextensions project; the latter is in projects/cabigextensions under the top level of a source distribution.

Validation


You can verify the correct installation of the caGrid WS-Enumeration framework by building, deploying, and executing a caGrid service that supports WS-Enumeration (i.e. a Data Service).

Last edited by
Knowledge Center (1512 days ago) , ...
Adaptavist Theme Builder Powered by Atlassian Confluence