The Only Way Is Up:
At a recent ADS at Microsoft UK I had an interesting debate with a customer over what should drive which! In this case should Workflow drive Business Process?
In this particular case we were discussing their home-grown workflow engine and BizTalk 2004. They initial argument was that workflow should drive multiple mini orchestrations. Now while this sounds quite appealing it misses the point somewhat. In the ADS we were discussing a scenario in an isolated manner. By this I mean we were not considering anything other than the one scenario without thought for the consequences of the relationship between it and other scenarios. In this isolated case there may have been a small argument for workflow driving orchestration(s)but the point is in the real world we cannot consider stuff in isolation.
The argument moved up a notch when another and another and another scenario was added. What became clear was that when considering the full picture workflow is merely and aspect of business process. Furthermore the power of BizTalk 2004 Orchestration means that an all encompassing process can intelligently route to other processes and workflow based simply on the content or message type.
In the real world Business Process can be:
- System to System
- Application to Application
- System to Person or Person to System
- and finally Person to Person
All but the last one can be covered by orchestration and therefore the last one should be covered off by workflow. The consensus on this was that Orchestration indeed should drive workflow from an overall architectural standpoint.
Of course this standpoint is open to debate and I’m sure the discussions will continue!