In my recent quest to implement Model Driven Engineering in all my designs, I am trying to use the features of Windows Workflow Foundation. I will be sharing you with the material that I understand. This is the first in the series of discussion, I will be sharing with you.
There are two types of workflow. They are as follows:
1. Sequential workflow
2. State machine based workflow
The difference between a sequential workflow and state machine based workflow is the same as the difference between a flowchart and graph.
Workflow Authoring Modes:
There are four authoring modes of workflow:
1. Markup only:
It is based on XAML which defines workflow structure logic and data flow.
2. Markup and Code:
XAML defines workflow and code beside defines extra logic. The code is written in a .net compliant language e.g. VB.net or C#.
3. Code Only:
The workflow is created by code in constructor.
4. Application generated:
Application creates activity tee and serializes into XAML or code (C# or VB.net)
Workflow developed through these authoring tools are compiled through a workflow compiler. The compiler for workflow is wfc.exe. The workflow compiler passes this on to C# or VB compiler, depending on the language used by developer, which compiles the code in the workflow. A .net assembly is generated with *.ctor extension which defines the workflow.