Purpose

To provide, through a standard web-service interface, a simplified tuple-space-like capability which can be used by other services and by applications running in the ELF container.

We have chosen to implement this service instead of using JavaSpaces, the tuple-space which has long been part of the Jini Technology package (see http://java.sun.com/developer/products/jini and also http://javaspaces.org), for the following reasons:

  1. There are serious problems with using multicast technologies on NCSA's production resource subnets.
  2. We do not require the full peer-to-peer capabilities offered by Jini.
  3. We do not require the full generality of JavaSpaces with respect to serializable classes; our service accepts an open-ended (i.e., basically untyped) wrapper object containing as its payload element a serialized XML blob (which usually, but not necessarily, will implement ncsa.tools.common.UserFacing).

API

Service WSDL

ITupleSpace

public interface ITupleSpace
{
	Integer write( String entryXML ) throws Throwable;
        Integer[] writeB( String[] entryXML ) throws Throwable;
	String[] read( String matchXML, int max ) throws Throwable;
	String[] take( String matchXML, int max, long timeout ) throws Throwable;
	String[] takeNB( String matchXML, int max ) throws Throwable;
}
NOTES

ncsa.service.vizier.tspace.TspaceEntry

The object stored in the service's data store and which can be retrieved through the read or take ports. A fuller description of the object is found on the ncsa.tools.ogrscript.tspace page.

NOTE

When passing this object to the write port, it is important that the id attribute/field be handled correctly.

If the id is set, it is not necessary to provide a complete description of the entry; only the XML elements or attributes corresponding to the 4 updateable fields above will be processed. See further the ncsa.tools.ogrscript.tspace page.

ncsa.service.vizier.tspace.TspaceMatchRequest

The object used to express the match query parameter required by the read or take ports. A fuller description of the object is found on the ncsa.tools.ogrscript.tspace page.