I have come across Windows Workflow (WF) a few times and it appears to be a powerful framework, but it’s been a bit too daunting to use. In this post I takes some time to dig into WF, with the hope that tinkering with it will make it less daunting.
To start, I did some quick googling. Here are the resources I found very helpful:
- Good (long) Lesson: http://msdn.microsoft.com/en-us/library/ee342461.aspx
- Sample Code: http://www.microsoft.com/en-us/download/details.aspx?id=21459
- Good Videos: http://msdn.microsoft.com/en-us/netframework/aa663328
- Similar to what I’m trying to do: http://msdn.microsoft.com/en-us/magazine/gg535671.aspx
It comes with a powerful designer for creating workflows. The designer can be embedded into a WPF application allowing end users to use it, which is very slick. It has support for long-running activities; data can be persisted to SQL Server.
I am trying to host the following workflow on IIS and expose it via WCF.
After a couple hours, I still haven’t figured out how to get the Email to be sent consistently. For something so simple, I would expect it to be more straight forward. I do have a bit better understanding of what it supports. Currently I feel the value with Windows Workflow Foundation is that it allows non-developers to generated rich work flows. It does not allow novice developers to build rich work flows similar to how ASP.Net Web Forms allows novice web developers to build rich web sites. If I need to build the workflow defined above, I’ll stick with the tools I have and avoid Windows Workflow Foundation for now; with the tools I already know I probably could have implemented the workflow above in the time I spent reading about Windows Workflow Foundation.