OMG definition: WfRequester is the interface that has a direct concern with the
execution and results of a workflow process - it represents the request for some work
to be done. Its performer, a WfProcess, is expected to handle its request and
communicate significant status changes; in particular to inform the requester when it
has completed performing the requested work. A single requester can have many processes
associated with it.
Often WfRequester will also be the interface to the object that starts the process. As
a process starter some of the control actions on the process include setting up the
context, starting the process, and getting results and status. There are two usage
scenarios for the association of a WfProcess with a WfRequester:
1. Nesting of workflow processes - a WfActivity can be refined into a WfRequester and
may therefore request that a WfProcess be its performer (i.e., implementation). In this
case, the WfActivity would be registered as the requester with the implementing
sub-process when the WfProcess is created and would receive notifications of status
changes of that sub-process; upon completion of the subprocess, the WfActivity would
enter completed state.
2. Linking a workflow process to another (initiating or controlling) application. When
used as a linked process the requester should be a WfRequester, which is not the
linking WfActivity. Requesters that are not activities are roles or adapters for
external clients.
We extended OMG's interface by duplicating methods, and adding additional parameter
that represents transaction. If you use methods without SharkTransaction parameter, the
transaction will be implicitly created, and if you use it with SharkTransaction
parameter you must obey to some rules explained in HowTo documentation.
Also, we require that WfRequester implement Serializable interface.
|