This articlemay be too technical for most readers to understand. Pleasehelp improve it tomake it understandable to non-experts, without removing the technical details.(July 2019) (Learn how and when to remove this message) |
| Windows Workflow Foundation (WF) | |
|---|---|
| Developer | Microsoft |
| Initial release | November 21, 2006; 19 years ago (2006-11-21) |
| Stable release | WF45 / August 15, 2012; 13 years ago (2012-08-15) |
| Operating system | Microsoft Windows |
| Platform | .NET Framework |
| Type | Software framework |
| Website | docs |

Windows Workflow Foundation (WF[2]) is aMicrosoft technology that provides anAPI, an in-processworkflow engine, and a rehostable designer to implement long-running processes as workflows within.NET applications. The latest version of WF was released as part of the.NET Framework version 4.5 and is referred to as (WF45).[3]
A workflow, as defined here, is a series of distinct programming steps or phases. Each step is modeled in WF as an Activity. The .NET Framework provides a library of activities (such as WriteLine, an activity that writes text to the console or other form of output). Custom activities can also be developed for additional functionality. Activities can be assembled visually into workflows using the Workflow Designer, a design surface that runs withinVisual Studio. The designer can also be hosted in other applications.
Encapsulating programming functionality into the activities allows the developer to create more manageable applications; each component of execution can be developed as aCommon Language Runtime object whose execution will be managed by the workflow runtime.
Windows Workflow Foundation is used to create applications that execute an ordered business process, such as the steps needed to approve a document, hire a candidate for a position, or make a purchase. These processes can execute in a short amount of time, but are typically long-running, in which the application will need to shut down to conserve memory between steps. Typically, business processes to be modeled as workflows have the following features:
Workflows are created either by being defined in XAMLExtensible Application Markup Language using the workflow designer, or by being assembled programmatically in a .NET language such as C# or VB.NET.If the designer is used, activities are assembled on the workflow designer canvas by dragging them from the toolbox. Workflow arguments and variables are also created and assigned within the designer. If a workflow is assembled in code, activities are instantiated like other CLR objects, and assembled into collections of a single parent activity, usually a Sequence or Flowchart. The single parent activity is then executed using WorkflowApplication or WorkflowInvoker, and runs as a workflow. The term "Workflow" here usually refers to the root activity that is executed by the host. Workflows can use both out-of-box activities and custom activities. Out-of-box activities include flow control activities such as DoWhile, Flowchart-related activities such as FlowDecision, WCF Messaging activities such as Send, and primitive activities that perform simple tasks like Assign and WriteLine. Custom activities are user-created CLR objects that derive from the class System.Activities.Activity, and provide declarative functionality by allowing the developer to define the execution behavior of the activity in code. Custom activities can benefit from having a custom activity designer associated with them to enhance the visual authoring experience in the Visual Studio IDE.
WF is an acceptable abbreviation for Windows Workflow Foundation. WWF is not acceptable because it is a registered trademark of the World Wildlife Fund