Friday, 11 March 2011

Process patterns and the P4

As far as processes are concerned, the process community has identified and codified different sets of common problems. This action was a result of previous similar approaches taken by the programming community. Previous works on the programming patterns include the GOF’s book which is a catalog of 23 patterns related to the creation of objects, the structural relationship of objects, the behavior of objects and so on. The best thing about using a pattern is the standardization. Each pattern is documented according to a standard template with sections such as intent, motivation and known uses.
Similar approach happened by the process community and by a group of 4 which we call process 4(P4). The article workflow patterns lists 20 patterns which are used for processes. This catalog is an account of process control flow.
Well what changes from the programming approach of GOF’s documentation is that the GoF patterns are documented as object models whereas P4 patterns are spatial and visual. Process patterns are clusters or constellations of process activities arranged in just the right way to solve difficult problems.

The categories which P4 patterns are included are:
• Basic patterns
• Advanced Branch and join patterns
• Structural patterns
• Multiple instances patterns
• State based patterns
• Cancellation patterns


BASIC PATTERNS

Basic patterns cover fundamental process capabilities: running activities in a sequence; spawning, and later joining,parallel lines of execution; and branching intone of several directions based on a conditional choice. The five basic P4 patterns are:
• Sequence
• Parallel split
• Synchronization
• Exclusive choice
• Simple merge


Sequence

Intent
To run activities sequentially. For example run activity A followed by B followed by C

Need for activity sequencing
Almost every process has at least one segment of two or more steps to be performed sequentially.
And the activity sequencing is essential part of the notion of process, it is not surprising that all BPM vendors and specifications support the Sequence pattern.

We can give an example of this activity sequencing in BPEL for a registration in a service


sequence
invoke name=”give certifications”
invoke name=”get approval ”
invoke name=”update DB data”
invoke name=”send confirmation email”
invoke name=”send welcome page”
sequence
 * we removed the <> so as not to read as html code



Giannis Giataganas IS Consultant, BPM Analyst Bsc in Informatics, AUEB MscIS, Athens University of Economic and Business

No comments:

counter