Charteris Community Server

Welcome to the Charteris Community
Welcome to Charteris Community Server Sign in | Join | Help
in Search

Chris Dickson's Blog

January 2007 - Posts

  • Windows Workflow: what it is and isn't

    I have been meaning for some time to post about my enthusiasm for Dharma Shukla and Bob Schmidt's wonderful book Essential Windows Workflow Foundation. In the best tradition of "Essential ..." titles started by Don Box's book on COM, they explain what WF is for, and how it is built, in a clear and thorough way. The emphasis is on explanation of the principles and the abstractions which make up the framework, at a good level of technical detail but in an easy to follow way. Quite a contrast with the MSDN documentation for WF, it has to be said.

    The first chapter by itself is a masterpiece: not a single line of WF code, but a methodical deconstruction of a simple "Hello, World!" console application which along the way elucidates brilliantly all the reasons why WF exists.

    This is so, so much more helpful than all those courses, presentations and magazine articles which start and end with the Visual Studio Workflow Designer, and foster the widespread misconception that WF is all about programming with pictures. This book places discussion of graphical designers where it deserves to be, in a few short sections at the end of the last chapter ("Miscellanea"), after a comprehensive demonstration, over the previous 7 chapters, of what can be achieved with WF without once invoking the VS designer.

    I would urge anyone who found the last paragraph surprising or controversial, to get and read a copy of the book as soon as possible. Because WF is NOT about drawing flowcharts and turning them into programs: it is about the efficient implementation of distributed systems for executing long-lived processes (perhaps very many concurrent instances of each process) which may spend much of their time in a passive state waiting for some external stimulus to reawaken them to execute their next step.     

    Posted Jan 30 2007, 05:50 PM by chrisdi with no comments
    Filed under: