Today, I found out about workflow patterns which are done by initiative is a joint effort of Eindhoven University of Technology (led by Professor Wil van der Aalst) and Queensland University of Technology (led by Professor Arthur ter Hofstede) which started in 1999. These patterns which has grown from 20 to 40, has been adopted by major BPM players such as IBM, oracle and others BPM vendors. They also responsible for the creation of YAWL which a language and workflow engine, implemented in java.
According to the site, there are four major type of workflow patterns:
- Control-flow pattern – (captures aspects related to control-flow dependencies between various tasks (e.g. parallelism, choice, synchronization etc)
- Data pattern - deals with the passing of information , scoping of variables, etc (more for programming purposes)
- Resource pattern - deals with resource to task allocation, delegation, etc.
- Error handling pattern - deal with the various causes of exceptions and the various actions that need to be taken as a result of exceptions occurring
And what are we doing for our workflow software are very much related on resource pattern. Our Hydra workflow are very much specialized in resource pattern workflow as we deals with delegation of task, and routing of workitems (a term we use in our workflow system to denotes workflow process). Apparently there are tons of ways to describe these human centric workflow. Among these are :
a. Creation Patterns:
b. Push Patterns
d. Detour Patterns
e. Auto-Start Patterns
f. Visibility Patterns
g. Multiple Resource Patterns
These are sure a long, long list of type of workflow patterns (43 items here). Well, I'm still at the process reading and understanding these patterns. Maybe in next coming article, i might come out on how to implement some these in our workflow system. Maybe we can't support all of it now but i believe a great percentage of them are achievable.
So what you think of resource pattern workflow? And will this helps in real organization in terms helping organization dealing with process everyday? Do give us feedback on this. Till then, take care!