State Machines in WWF 4
Published on 1/26/2010 11:30:00 PM by Philip
This post is long overdue but I couldn't believe that State Machine workflows aren't a first class citizen in .NET 4.0.  This revelation came after reading a few articles last year.  They tried to make it seem OK and that this was a good decision.  They are wrong.  At Tech Ed in LA I was able to speak to several product team members, industry thought leaders, and program managers in the connected systems teams.  After explaining that a State Machine is the best design for processes that are similar to "application processing" like a car loan or life insurance where the process takes from 1 day to 2 weeks or more, they all agreed that Microsoft's decision wasn't right.  They should have brought the State Machine along before creating the Flowchart Workflow.  Some suggested a design with a Pick Activity that would loop and have a leg for each state.  Again, a bad upgrade scenario for customers.

Along with that major complaint, I couldn't believe that they switched completely from DependencyPropertys to passing arguments to activities.  I don't agree with this decision either.  I will agree that DependencyPropertys are hard to understand at first, but in the end they are the best design for workflows.  In my opinion it seems that the team working on this version of workflow didn't understand the previous version and decided to rewrite it.  Some at Tech Ed said that this isn't true.  The team did understand it but need to make this huge change because this is where Microsoft wants to be going forward.  Thanks for the terrible upgrade scenarios for the early adopters!

Regardless, WWF 3 will still work side by side with version 4 and VS10 supports v3 in the designer!  Win for us even though the designer pretty much sucks.  For now our team will stick with v3 because it is the right design and we will continue to enhance it with new activities and possibly an open source designer.

I am very excited for some upcoming posts.  I would like to share with everyone some cool activities we are using as well as a design pattern and best practice for using a State Machine Workflow.  It allows the State Machine to call Sequence workflows synchronously.  It will also show a best practice for WCF hosting without Microsoft's WCF activities (which, also in my opinion, stink because they tie you to a communication technology).
0 Comments
Tags:
Bookmark and Share
Design downloaded from Free Templates - your source for free web templates