uk.ac.ucl.sse.omii.bpel.abr.generation
Class WorkflowAnalyzer
java.lang.Object
uk.ac.ucl.sse.omii.bpel.abr.generation.WorkflowAnalyzer
public class WorkflowAnalyzer
- extends java.lang.Object
Determines the type of a workflow. The three relevant types are defined in
WorkflowTypeEnum
.
Each of the three major types of workflows imposes slightly different rules
for the generation of correct PDD (ActiveBPEL deployment descriptor).
We determine the three types as follows.
An asynchronous provider workflow is one that has a partner with two roles
and the workflow has a Receive with this partner's myRole PT AND the process
has a subsequent invoke with this partner's partnerRole PT. Or, in case of
a Pick activity, process has partner with two roles AND process has an
onMessage with this partner's myRole PT AND process has a subsequent Invoke
with partner's partnerRole PT.
Similarly, an asynchronous client workflow of an asynchronous provider
workflow can be recognised by the fact that that it has a partner with two
roles and uses its partnerRole PT in an invoke followed by a subsequent
receive using this partner’s myRole PT.
Note that these two cases are not exhaustive and just serve as some rules
of thumb. For example, a workflow could just define a Receive activity for
an asynchronous callback operation. However, only in the cases described
above does it become necessary to generate the PDD according to different
rules.
- Author:
- Bruno Wassermann, written Aug 22, 2006
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
WorkflowAnalyzer
public WorkflowAnalyzer()
determineWorkflowType
public WorkflowTypeEnum determineWorkflowType(java.lang.Process process)