|
Windows Workflow Foundation is a framework that enables users to create system or
human workflows in their applications written for Windows Vista, Windows XP, and
the Windows Server 2003 operating systems. It consists of a namespace, an in-process
workflow engine, and designers for Visual Studio 2005. Windows Workflow Foundation
can be used to solve simple scenarios, such as showing UI controls based on user input, or complex scenarios encountered by large enterprises, such as order processing
and inventory control. Windows Workflow Foundation comes with a programming model,
a rehostable and customizable workflow engine, and tools for quickly building workflow-enabled
applications on Windows. |
|
Scenarios that Windows Workflow Foundation addresses include: |
- Enabling workflow within line-of-business applications
- User-interface page flows
- Document-centric workflows
- Human workflows
- Composite workflows for service-oriented applications
- Business rule-driven workflows
- Workflows for systems management
|
|
Windows Workflow Foundation provides a consistent and familiar development experience
with other .NET Framework 3.0 technologies, such as Windows Communication Foundation
and Windows Presentation Foundation. The Windows Workflow Foundation API provides
full support for Visual Basic .NET and C#, a specialized workflow compiler, debugging
within a workflow, a graphical workflow designer, and developing your workflow completely
in code or in markup. Windows Workflow Foundation also provides an extensible model
and designer to build custom activities that encapsulate workflow functionality
for end users or for reuse across multiple projects. |
|
The concepts in this section are inherent to Windows Workflow Foundation. They are
briefly described here to provide a basic understanding. The Programming Guide section
of this SDK provides implementation details and a deeper level of knowledge. |
Communicating with Workflows |
|
WF provides several ways to communicate with a running instance of a Workflow: |
- A Windows Communication Foundation approach to workflow communication was added in .NET Framework 3.5. Workflows which include a Receive Activity expose a selected interface method as a WCF service. This could allow external code to, for example, make a Web Services call to a running workflow instance. WF provides infrastructure to ensure that if a WCF call is made to a workflow instance that is idle (i.e. waiting for some external event like a WCF call or a timer event), then the instance will be loaded from storage into memory so that the message can be delivered. Workflows which include a Send Activity are, in turn, able to call external services via WCF.
- When a workflow instance is created, the host application can provide information in Dictionary objects. Similarly, the Workflow can pass the results of the workflow to the Host application through a Dictionary Object.
- The Workflow foundation also allows the Workflow to update the Host application of the progress of the workflow. This is done by raising events in the Workflow to which the host application will subscribe.
|
|
Types of Workflows |
|
Using the WF foundation, three different types of Workflow can be created::
|
- Sequential Workflow (Typically Flow Chart based, progresses from one stage to next and does not step back)
- State Machine Workflow (Progress from 'State' to 'State', these workflows are more complex and return to a previous point if required)
- Rules-driven Workflow (Implemented based on Sequential/StateMachine workflow. The rules dictate the progress of the workflow)
|
|
Localized link |
|
MSDN Library: Windows Workflow Foundation |