Windows Workflow Foundation and Business Process Modeling
I have an ongoing professional interest in business process modeling (BPM). I did an afternoon workshop on the topic at the FTP Enterprise Architect Summit last month, and I played to a packed and very engaged room full of professionals. That's why I attended the Microsoft TechEd session on using the upcoming Windows Workflow Foundation (WWF – now in beta version 2.2, if you can believe that numbering scheme) and using a state-based approach to building workflow applications.
I gave a brief demonstration of WWF in my workshop at the Enterprise Architect Summit. My sense at the time was that it was useful in tying together both modeling and the actual code that implements the model, but I was disappointed that it didn't follow one of the already-established standards. Both the Business Process Modeling Language (and the accompanying Business Process Modeling Notation) and the Business Process Execution Language (BPEL) have significantly more industry backing and tool support than WWF. The new technology, which will be in beta until at least the release of Windows Vista, seeks to establish yet another standard, and one that is tied closely to Vista and Visual Studio.
The principal advantage of WWF is that it provides a seamless interface between the workflow model and the code that implements that model. In contrast, BPMN is a notation language only, and while BPML provides the execution language for the notation, there is not the tight integration that Microsoft has created between model and code. As a state machine, WWF can probably be modeled by a state-based approach such as BPMN or Petri nets, but that removes the link between model and code.
While I came away impressed with the power and simplicity of WWF, I still can't help but think that it confuses rather than solidifies the BPM world. It is a good approach for those who rely on Windows and a Microsoft language for their workflow applications, but few enterprises fall entirely into this category. Instead, I would like to see Microsoft support one of the established standards while providing a similar link to Visual Studio and .NET code.
Posted by Peter Varhol on 06/13/2006