blob: 898ccdf242b4c676dfd8c8e511d280bf60f9f6c9 [file] [log] [blame]
<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>