| <body> |
| Facade interfaces to represent a workflow instance within the enactor. |
| <p>Although T2 has no 'real' concept of a workflow instance, using |
| identifiers on data instead, it is useful to treat it as if it does. The |
| facade classes are the external 'invoke only' interface to the enactment |
| system, providing wrappers around the actual single instance model. This |
| also hides the shared state tree, exposing only the sub-tree rooted at |
| the base ID internal to the facade layer. The state tree acts both as |
| monitoring and steering infrastructure, the facade therefore prevents a |
| process accessing the state of another workflow either maliciously or |
| inadvertently. |
| <p>The construction of these facade objects is not defined here, a |
| factory method in the implementation package is the most likely |
| candidate but there are other options, for example a peer to peer cloud |
| may expose services to create new facades and allow access as might a |
| web service based interface. The interfaces here are intended to be as |
| easy to access remotely as possible. |
| <p>For the same reasons there are no methods in the workflow facade |
| concerning security or the management of data access - it is assumed |
| that the constructor of the facade layer has embedded such concerns |
| within it. There is therefore a clear split between initiation of the |
| workflow session and manipulation of it with this package only |
| addressing the latter of the two. |
| </body> |