I have recently posted a question regarding the Windows Workflow running in a web application. Granted it was a fairly technical question that contained terms like ManualWorkflo
hi Tom i really dont think WF shines well when we are using web applications cause most likely we are gonna use DB to persist state you have exactly asked the question which i had on my mind we had used WF in our production environment and its giving lots of problem when we are upgrading from one version to another secondly it has lots of limitations i.e. it does not support ambient transaction i think we should wait for Version 4 or 5 to see if it has anything better to offer
I have deployed 3 applications. 2 are ASP.NET applications and 1 of the workflow was deployed to a SharePoint environment. Looking back, I think the investment was worth it. Like the previous guy said, WF is a framework that you have to build upon. It's one more layer to worry about but the benefits outweigh the costs.
My experience was simillar to Out Into Space, we had looked at using WF to control a compelx and varried ordering process, in variuos B2B scenarios. Last I heard they were in the process of gutting it.
I think it is hard for many developers to think in terms of workflow.
We use the state machine workflow to manage a couple service request processes with about 10 states each. I am not sure if it is was 100% the right choice, because implementing a simple state machine design would have been simpler(maybe we suffered here from BDUF).
The biggest downside for us was the learning curve. I mean, workflow is practically a stripped down version of biztalk(for free!).
Off the top of my head, these are the areas we've benefited from WF:
I always try to keep in mind that it really is a foundation. As a developer/architect, you have to commit to building something useful on top of it.
I used Windows Workflow in a web application designed to manage the lifecycle of change control requests in an enterprise system. I admittedly fumbled around in it, and definitely didn't do a lot of things correctly, but it worked pretty well and I was satisfied with how easily I could change the rules without writing even more code.
However, once I rolled off the project, the person who inherited it decided he didn't like WF or didn't want to learn it, so the application died and they went back to using emails and phone calls. So the the implementation was successful, but the investment was ultimately a waste.