jump to navigation

Windows Workflow Foundation (WF) and you… October 28, 2008

Posted by gcorbin in .NET.
Tags: , ,

I’ve recently spent some time playing around with Windows Workflow Foundation (WF). I wanted to see why all these magazines are praising it as a great new technology, after all workflow based technologies have been around for many decades now. It didn’t take to long for me to realize how cool WF really is. For beginners it has two workflow models that can be used. The first is the “Sequential Workflow” and the second is called the “State machine workflow”. Both of these models allow you to use the same set of tools to create them. The big difference when trying to determine which to use needs to be based on your line of business. One of the big deciding factors that I’ve found is based on the amount of time needed for the workflow to process. If the process is going to be a quick inline sequential thought, then “Sequential Workflow” is what you want. If the time to process the workflow is going to involve state changes and possibly long running decision points, then “state machine workflow” is for you.


In any case, when digging into workflow it exciting to notice the many tasks and controls that is available to developers. The greatest assets that I’ve found with this are the tools that Microsoft gives developers for creating and maintaining workflows. These tools are far better than anything else I’ve seen.


If you haven’t check into WF yet, I strongly recommend it. The best place I’ve found for a good intro to it is the DNR TV series on WF. It’s very helpful and informative.


You can find that at http://www.dnrtv.com

Look in the archives section.





1. Jim Gorman - November 21, 2008


WF demos great. And initially, I was very excited. (http://elegantcode.com/2008/04/04/on-windows-workflow-and-biztalk/#comment-19242)

But let me ask you two questions:

1. If you were developing a complicated logistics engine for FedEx or UPS, would you use Windows Workflow?
2. Assuming that you would use WF, and assuming that you deployed that engine to production with -zero- defects, would you feel comfortable adding enhancements and maintaining the system over the next few years?

Perhaps an even better question is this:
– Would you feel comfortable acting as a team lead, supervising four developers who were developing with WF?

As you can tell, I’ve already pondered answers to these questions.

My take is this: WF gives you too little return for too much investment (i.e. learning curve, awkward IDE, etc.) Most specifically, WF’s XML markup obscures check-ins and prevents a team from conducting sensible code reviews.

As for that hypothetical logistics engine, I’d much prefer a Console App with LINQ.

2. gcorbin - December 1, 2008


I absolutly see your point. The biggest stumbling block for alot of the new MS technology is the learning curve. The most flexible way to implement work flow is by just writing your own C# assembly. This also means that you may need to create your own tools to authoring rules.

Its a great learning technology for geeks that love to play with new things, but the pragmatic programmer in me tells me that its not a good idea to use an unproven, new technology in a real work application.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: