Getting started with Windows Workflow Foundation

Ever since we launched Windows Workflow Foundation (WF) at the PDC in Los Angeles last September, I have been devoting some of my time to getting to grips with it. It’s a very interesting, and pretty neat bit of technology, and one that many ISVs can immediately identify with, as many either already build some form of workflow into their existing application, or can immediately see a role for it with their own offerings.

The technology is still fairly new, and the amount of information out there is still somewhat limited, so I though I’d jot down a few pointers to get you up and going.

The first thing you need to do is get hold of the software itself. The current release is beta 1.2, and the easiest way to get hold of it is through the December CTP, which includes Windows Workflow Foundation. If all goes well, beta 2 should be out soon, but don’t let the forthcoming release of beta 2 put you off experimenting with beta 1.2 now. Though there are changes, the basic architecture is the same.

If you want a good, very high level overview of Windows Workflow Foundation, a good place to start is with an article by an old friend of mine, David Chappell, entitled “Introducing Microsoft Windows Workflow Foundation: An Early Look”. its very readable, and was published at the PDC.

The two main web sites for Windows Workflow Foundation information are:

They have lots of links to other resources. The community site tends to be more informal and updated more frequently, with lots of useful links. For example, the resources section has links to webcasts, etc, which are worth checking out.

If you attended the PDC, you should have by now received DVDs with the sessions on, so you may want to view the workflow related ones. If you didn’t go, the sessions are now on-line.

The best (and, at the moment, only) book out at on this topic is “Presenting Windows Workflow Foundation”. It’s a very good source of information, though a little uneven at times due to the multiple authors covering different topics. Personally, I don’t like the way the Visual Basic samples intrude into the text, but it is worth downloading the code samples, which are available in C# and Visual Basic.

Talking of samples, it’s also worth going through some of the WF SDK samples. The descriptions are not always that detailed, but looking through the code is a great way to get started, and the SDK has samples illustrating most of the major topics and areas of interest.

Once you have got a few samples and demos under your belt, I would recommend the Workflow Hands On Labs. They are some of the best I have seen, and take you through the different topics step by step. To get the best from them, I found it helpful to have a basic understanding of the topic up front, so it’s not just a case of blindly following the steps without understanding what is actually happening.

There are a few blogs from the workflow team – the ones I tend to track are:

There are quite a few articles about Windows Workflow Foundation, but a recent one is my current favourite, entitled “Simplify Development With The Declarative Model Of Windows Workflow Foundation” by Don Box and Dharma Shukla. I would definitely encourage you to read it.