How does Windows Workflow Foundation (WF) compare to product X?

I get asked this question a bit from people who have heard of WF but have not read much about it. This applies to BizTalk Server 2006, Office SharePoint Server 2007, SourceCode K2, Skelta, Captaris, other BPM products, etc. Here's how I explain it. I'll try to avoid the million analogies that could be used here.

WF is a software developer technology

  • It's the programming model, engine and tools for building workflow-enabled software on Windows

  • It gives software developers a model driven tool which is higher level but still integrated with .NET code

  • It's seriously extensible to enable a wide range of software development projects that require process execution or business logic execution

  • It's targetted at Independand Software Vendors (ISVs) both Microsoft products and external product developers. We spend a lot of time planning the features for this audience

  • It's been successfully used by many MS products and customer projects despite only being released in Nov 2006

WF is not a software product

  • It doesn't have a server process that you can directly run in a data center, you have to build this or integrate with IIS

  • It doesn't have administrative tools, reporting tools, management tools or monitoring tools. We have some samples for these that you can work into your softwareproducts

  • The workflow designer is best suited to developers, not business analysts. Though I have heard of some projects using our designer with a business analyst buddying with a software developer and our designer is freely redistributable.

  • It doesn't have tools that IT Pros need or end users need. It's focussed only on what software developers need

To review WF is a great technology for building software that has process, workflow or business logic requirements. Software products can benefit from this by using a common low level engine and focus on implementing business value for their users. But don't think WF is a product you can directly deploy for an end customer.

Build versus Buy

Instead of asking whether you want to use WF or some product for your solution. I would recommend another question. Ask yourself whether you want to build a software development project or whether you would prefer to buy software from a vendor. WF is a technology that you could use to build the software yourself and by releasing it as part of the .NET Framework Microsoft has essentially made the build argument stronger. But we also made WF available for ISVs who are building the products you might otherwise consider. And that means they can build on top of it to provide all the higher level features and business value that isn't in WF.

Related Questions

I'll try to answer these in later posts. Feel free to comment on this post with other questions about WF you might have.

  • How does WF work with process related software products?

  • What types of software development is WF best suited to?

Comments (16)
  1. I get asked this question a bit from people who have heard of WF but have not read much about it. This

  2. moredotnet says:

    Hi Paul

    Im new to WWF. Been exploring the WWF for 2 days now and landed in this blog. As you said above, WF is more of a developer’s sw than a business analyst’s pie. I intend to make a workflow application, for some business purpose, using the VS 2005 IDE, and I hope this is what I’m looking for. Just wanted to know if there is any good link where I may get some kind of starter’s development kit on how to create sample applications step by step using the WF designer & VS 2005.

    Till now, I’ve downloaded & installed .NET Framework 3.0 & VS 2005 Extensions for WF. I’ve seen the VS IDE & added New Project, Selected Workflow, & here I see some Visual Studio installed templates for creating a project. I really donno wer to head next. Any advise? Cant find any WWF SDK on google 🙁

    Is there a Designer that I can use step by step to create a workflow, & then change the activity logic through code (C#,

    Would be indebted with your answers.

    Thanks n Cheers!


  3. Paul Andrew says:

    Hello moredotnet,

    First, I assume you mean WF as in Windows Workflow Foundation rather than WWF as in the World Wildlife Fund.

    I’d recommend you use these two resources:

    1. Free Microsoft Training

    2. WF Hands on Labs

    Get these from the download box at the top right of

    Once you’ve been through both of those you should be ready to start development. You may want to buy a book on the topic too, there are several available.



  4. Era da tempo che macinavo l’idea di scrivere questo post e finalmente….eccolo. Il titolo è, se volgiamo,

  5. moredotnet says:

    Thanks so much for the links Paul. They seem to be really good.

    Yeah I mean Windows Workflow foundation (not wildlife fund :).

    I have a few books in my list, though yet to purchase atleast one of them…

    Foundations of WF: an Introduction to Windows Workflow Foundation (Expert’s Voice

    in .Net) (Paperback) by Brian Myers

    Essential Windows Workflow Foundation (Microsoft .NET Development Series) by Dharma Shukla and Bob Schmidt (Paperback – Oct 13, 2006)

    Programming Windows Workflow Foundation: Practical WF Techniques and Examples

    using XAML and C# by K, Scott Allen (Paperback – Dec 21, 2006)

    Microsoft Windows Workflow Foundation Step by Step (Pro Step By Step Developer) by Kenn W. Scribner (Paperback – Mar 28, 2007)(aint released yet)

    Any suggestions which on these books?



  6. Chandu Tonape says:


    Is it something similar to Oracle Workflow?



  7. Hi Paul,

    Great post.

    I have a technical question about WorkflowMarkupSerialization. I hope you can help me.

    I have a BaseActivity with a DependencyProperty named "Comment", it’s a string.

    Also I have other activity named CompositeActivity, it’s a SequentialSActivity. I put the BaseActivity inside the CompositeActivity.

    If I, programmatically, create a SequentialActivityWorkflow and add the CompositeActivity and I set the Comment property to "It’s a comment", and I serialize using WokflowMarkup, I lost the value of the property. The result is something like:

     <SequenceActivity x:Name="SequenceActivity" …

       <ns0:CompositeActivityx:Name="requestActivity1" />


    How can I serialize and preserve the value of the property. I want to save the XOML to after create the workflow when the user request for that?

    Thank you for your attention.

    Daniel Oliveira.

  8. Pat Keating says:

    Thanks for the post, Paul.  I am sharing it with many prospects, customers, and members of my user group!


    pkeating at

  9. moredotnet says:


    Request you to please push the publishers. There is no book on Windows workflow foundation available in India yet. Inspite of so many Developers being here.



  10. Paul Andrew says:

    Hi Daniel Oliveira,

    I can’t quite follow what your problem is. I’d recommend you expand on what you’re doing and the symptoms on the WF Forums on MSDN. See



  11. Charles Chen says:

    As I’ve been working with WF these last few weeks, I’ve come to form another view of WF and what it means for developers: in a way, it *forces* developers away from some bad design practices since a WF itself has no GUI and no visual user interface.  

    To expand on that, it forces developers who would otherwise readily hash their ASP.Net and WinForms GUI code in with the business logic to think in  a manner that separates the core business logic from the visual interface code.

    The number of developers that still write monolithic projects that contain the UI and business logic is still all too high.  In studying from simplified working examples in text books, in MSDN documentation, and various articles one finds online, many developers do not gain a good understanding of how to separate the concerns of their code.

    The downsides of this approach are immediately apparent after a little exposure to alternative design methods, yet for many developers, they simply don’t see the light and continue to write their data access code right into the Click event of a Button.

    I see WF as a way of moving developers away from this model by encouraging developers to encapsulate code in a WF (a unit of business logic) or an activity.

  12. 我们在上次的文章已经提及了WF工作流不是一个终端用户的产品。在这篇文章里我想表明一下我的观点:开发人员到底应该使用WF来干嘛?WF是.net3.0框架中的一个新技能,开发人员必须在他们创建的解决方案使…

  13. Jesus Peregrina says:

    I’m working in a project using sharepoint 2007, is the first time I use share point and in the project we need to trigger different infopath forms in a single state workflow depending in a initial condition and I want to know if it is posible or what can I do?. I have been searching around and haven found nothig. The only thing I think know is to creat a single work flow for each form and make a master workflow to manage wich sub workflow is called.

  14. If you have some questions regarding BTS and WF and when to select one, the following may be useful:

  15. Siguiendo con el rescate de algunos de los posts publicados en nuestro blog , en este post voy a hacer

  16. 徐布 says:


Comments are closed.

Skip to main content