-
The definition layer negotiates a connecting with the
processing layer and receives a unique id, the dlid for which to
identify itself in future communication. This connection is
established by calling the following idl defined function:
interface Connection {
processorS setup(in dlIdT dlid, in passwordT password,
in connectionE connecttype) raises (IdInUse);
};
- The definition layer uploads an XML document representing
the programs to be processed and the connections between them.
This XML document will then be parsed by the brokering layer and
used to begin running the programs. The brokering layer returns a
URI id which the definition layer can then use to further communicate
with the brokering layer about the status of the processing.
The upload occurs through the following method:
interface Representation {
uriS upload(in string xmldocument, in dlIdT dlid,
in passwordT password) raises (UriUndefined);
};
- The definition layer then queries the brokering layer to
determine the status of different programs. When programs that
return results are finished, the definition layer will then retrieve
these results and return them to the user interface to be displayed.
Query and retrieval of processes are obtained through the following:
interface Obtain {
statusS uriStatus(in uriS uri, in dlIdT dlid,
in passwordT password) raises (UriNotFound);
string uriInfo(in passwordT processid, in uriS uri)
raises (InfoNotAvailable);
};