Applying task management through Workflow Foundation (WF).Our goals
The goal for investigating implementing task management with WF is the technology that it provides for handling tasks. When taking a look at our normal ADP way of handling tasks, the mechanisms supported by WF seems to come very close to the implementation we have already implemented for task management. Besides the similarities WF can be configured to use persistant state. The WF seems to be a good alternative to our custom build tasks manager.
Current knowledge
The knowledge of implementing dynamic workflows has been developed during one of our projects. These findings have been published in the .NET Magazine #12 2007
Dynamic Workflow. Today we are Implementing workflows on the MOSS 2007 platform with infopath. This knowledge, together with our current way task management has created a clear view on how to implement WF in our task management process.
Workflow alternatives
When working with WF, two typical alternatives can be implemented. Sequential workflows and state machine workflows. Reading into this material you come to the conclusion that working with smart use cases comes close to a state machine approach. A state machine states that several states exist and that every state does not know from where it will be activated, but only knows what to do to complete its tasks. This also means that it can call other states that help to complete its job. Suppose the next figure.
Smart use cases
The big point here is to map our normal unit of work (the smart use case) one of the most essential parts in building software based on the
Accelerated Delivery Platform. See
Smart use case for indepth information about this kind of use cases. The next figure shows a use case diagram.
Similarity
After looking into both techniques and the consequences of the techniques, they look very similar. Their goals come very close. Exactly this reason triggered us to investigate the possibility to implement state machine workflows. The next step will be creating the different parts to integrate with the
Accelerated Delivery Framework. A new component library has to be created that is responsible for creating and maintaining the runtime, state and navigation of workflow instances.
Implementation path