Windows Workflow Foundation

Windows Workflow Foundation ( WF, formerly WWF and WinWF ) is a library within the. NET programming environment from Microsoft. Its purpose is to simplify development of program-controlled, complex workflows (English workflows). This type of software is referred to as a workflow application software.

The Windows Workflow Foundation enables a declarative programming. Here, a graphical description of the sequence is created, rather than to model it in the form of program code. The WF creates higher levels of abstraction, which puts the developer away from the coding and closer to the professional business processes.

They are supported by the developers on the one hand by prefabricated classes and constructs that represent typical nodes and activities of a flow chart, and on the other by a graphical editor in Microsoft Visual Studio, in which the processes can be designed.

The Windows Workflow Foundation separates between the logic of the process and the technology necessary programs to the individual steps within this logic. An activity ( Terminus: Activity ) can range from mundane statements (such as "Print text on screen " ) to complex programs (eg " Compute shortest path from A to B"). In addition, an activity in itself may consist of a workflow with other activities again.

A current activity can at any time be interrupted and to be recorded at a later time.

The Windows Workflow Foundation is a part of. NET since version 3.0. In version 4.0 of the. NET all have been revised for the relevant aspects of Windows Workflow Foundation and significantly improved.

Benefits within the Microsoft product family

The Windows Workflow Foundation is a key component of Microsoft to provide its software for business customers with an interface for customizing (customizing). The following products offer a variety of forms of support for the Windows Workflow Foundation, either by built-in editor or an API for integration with other workflow systems:

  • SharePoint ( From 2007 )
  • Microsoft Speech Server ( From 2007 )
  • Microsoft Forefront Identity Manager ( From 2010 )
  • Microsoft Dynamics CRM ( from version 4.0)
  • Microsoft Dynamics AX ( From 2009 )
  • Team Build ( As of 2010, only for build process )


Using System; using System.Activities; using System.Activities.Statements;   namespace HelloWorld Workflow {      class Program      {          static void Main ( string [ ] args ) {              WorkflowInvoker.Invoke (new Hello Workflow ()); / / Execution of a workflow              WorkflowInvoker.Invoke ( Program.GetWF ()); / / Execution of dynamic workflows          }            public class Hello Workflow: Activity {              public Hello Workflow ( ) {                  this.Implementation = () = > new Sequence {                      Activities = {                          new WriteLine () {                              Text = " Hello"                          }                      }                  };              }          }            public static DynamicActivity GetWF () {              return new DynamicActivity () {                  Implementation = () = > new Sequence ( ) {                      Activities = {                          new WriteLine () {                              Text = " World"                          }                      }                  }              };          }      } } Using the Windows Workflow Foundation, the same program can be implemented with various display options.


  • . NET 3.0: Initial release of the Windows Workflow Foundation
  • . NET 3.5: Extension of the Windows Workflow Foundation through activities for exchange of information about the Windows Communication Foundation
  • . NET 4.0: Large-area update with new features, such as the Flow Chart Designer and the corresponding actions. All previous workflow elements inherit from the base class now Activity., Which significantly simplifies the work
  • To use update with additional features, such as finite automata and the possibility for C # expressions. 4.5 NET.


The Windows Workflow Foundation was first considered by developers and trade press as an inhomogeneous, complex, and in comparison to other parts of. NET frameworks are difficult to access library. A major reason for this is that their use besides a good understanding of the theoretical aspects of process control also requires sound practical knowledge of. NET in general, and the concepts of the Windows Workflow Foundation in particular. In version 3.0, developers also had to contend with many bugs. The implementation is not error-free until today.

Besides the high learning threshold, due to the complexity, a major criticism was in version 3.0, the slow processing speed, the Microsoft version 4.0 but could increase significantly. This version has also won over your predecessors clearly on quality and consistency.

Nevertheless, the Windows Workflow Foundation is currently viewed in applications in business as a good tool to reduce the complexity of the software. It achieves this through the above separation between the business process and the coding of the individual steps. This is especially true for processes that change by external circumstances often.