Editorials

Workflow Patterns

I have been working designing rules engines for years. In many ways a rules engine may be similar, or even overlap with a workflow engine. Often you can use a workflow engine to write rules because they follow similar patterns of processing.

I am also an advocate of using software development patterns where they are the best fit. Today I was challenged to consider workflow patterns; a concept new to me as a formal pattern. A quick google search brought me to , guess who, Robert Fowler, once again. Robert has in interesting white paper put together by a group of people, the purpose of which is to review workflow patterns, and demonstrate how they fit with different workflow engines available today.

See http://martinfowler.workflowpatterns.com/documentation/documents/coopis.pdf

In the same google search I come across a tweet from Robert Fowler pointing to a blog from Udi Dahan of NServiceBus fame, dramatically denouncing centralized workflow engines in favor of an SOA-EDA style/approach. See http://www.udidahan.com/2011/07/13/the-danger-of-centralized-workflows/

Udi’s point is that workflow engines do not replace code, they write it. They are bloated, difficult to test, do not lend themselves to merging, and become difficult to maintain as applications mature.

Perhaps this can get the little grey cells working for you, and encourage you to look into workflow patterns. You are already doing them most likely. Now you can put some strategic patterns around your processes.

Cheers,

Ben