Download Workflow Patterns - Information Systems
Transcript
pattern (e.g. Staware, Visual WorkFlo). In some workow engines (MQSeries/Workow, Verve) the workow designer has to emulate the exclusiveness of choice by specifying exclusive transition conditions. In another workow product, Eastman, a post-processing rule list can be specied for an activity. After completion of the activity, the transition associated with the rst rule in this list to evaluate to true is taken. 2 Pattern 5 (Simple Merge) Description A point in the workow process where two or more alternative branches come to- gether without synchronization. It is an assumption of this pattern that none of the alternative branches is ever executed in parallel (if this is not the case, then see Pattern 8 (Multi-merge) or Pattern 9 (Discriminator)). Synonyms XOR-join, asynchronous join, merge. Examples - Activity archive claim is enabled after either pay damage or contact customer is executed. - After the payment is received or the credit is granted the car is delivered to the customer. Implementation - Given that we are assuming that parallel execution of alternative threads does not occur, this is a straightforward situation and all workow engines support a construct that can be used to implement the simple merge. It is interesting to note here that some languages impose a certain level of structuredness to automatically guarantee that not more than one alternative thread is running at any point in time. Visual WorkFlo for example requires the merge construct to always be preceded by a corresponding exclusive choice construct (combined with some other requirements this then yields the desired behavior). In other languages workow designers themselves are responsible for the design not having the possibility of parallel execution of alternative threads. 2 2.2 Advanced Branching and Synchronization Patterns In this section the focus will be on more advanced patterns for branching and synchronization. As opposed to the patterns in the previous section, these patterns do not have straightforward support in most workow engines. Nevertheless, they are quite common in real-life business scenarios. Pattern 4 (Exclusive choice) assumes that exactly one of the alternatives is selected and executed, i.e. it corresponds to an exclusive OR. Sometimes it is useful to deploy a construct which 9