Monday, November 20, 2006 11:33 AM
by
nick
.NET Framework 3.0 and Workflow Foundation
I don't know how everyone is holding up with what seems like a constant, never ending stream of new technology to learn and utilize. With release of the .NET Framework 3.0, I'm trying to keep my eye on the Windows Workflow Foundation (WF). If some common complaints can be resolved, I believe WF has the potential to further revolutionize software development by allowing designers to extract hard-coded business logic from their applications and put it into XAML files for editing or changing by the installers/administrators of the software. This becomes especially apparent when you try to develop church modules for many different churches.
As a mental example, consider the software you use for handling the submission of prayer requests from your web site. In our software, the workflow for a prayer request is:
- a prayer request is submitted by a person (the requester)
- an email is sent to the requester's account for validation
- after validation the request is queued for approval (and editing) by a prayer admin
- after approval the request is placed into the "pool" for a period of time (1 week).
- while praying for a request, a member of the prayer team can optionally create a "response" for the requester
- the response is queued for approval/editing by a prayer admin
- after a period of time, an update is sent to the requester asking them if there have been any updates
- if the requester updates the request, it is placed into the queue for approval/editing
- after the prayer request has reached it's expiration date, an email is sent to the requester to notify them of the completion of the request and giving them a chance to extend the expiration date by another week.
- if extended by the requester, the request goes back into the pool with a new expiration date
- after the final expiration date, another email is sent to the requester.
While some of this is somewhat configurable (via config settings), I think this is a good example of an application which would benefit greatly from a WF refactor.
Read Hello, Workflow by K. Scott Allen for a good primer on WF.
Also check out this MSDN site for more info on WF.
And if all that was not enough, check out this WF site (http://wf.netfx3.com/) where you'll also find some links to free (currently) Microsoft material for learning more about WF as well as links to these 24 free screencasts.