Purpose
To provide, through a standard web-service interface, a 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:
- There are serious problems with using multicast technologies on NCSA's production resource subnets.
- 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 a serialized xml blob as payload, corresponding to the
ncsa.tools.common.types.Configuration
object. - We do not require the full peer-to-peer capabilities offered by Jini.
API
package ncsa.services.vizier.tspace; public interface IConfigurationSpace { void write( 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; }