Windows Workflow Foundation

From Wikipedia, the free encyclopedia

This subsystem is a part of .NET Framework 3.0
This subsystem is a part of .NET Framework 3.0

Windows Workflow Foundation (WF) is a Microsoft technology for defining, executing, and managing workflows. This technology is part of .NET Framework 3.0 which is available natively in the Windows Vista operating system, and can be installed on the Windows XP SP2 and Windows Server 2003 operating systems.

Contents

[edit] Authoring Workflows

A new XML-based language XAML is commonly used for declaring the structure of a workflow. However, the workflow may also be expressed in code using any .NET-targeted language (VB.NET, C#, C++/CLI, etc.).

WF provides .NET developers with the ability to separate the logic of their application from the underlying execution components thus providing a clearer, more manageable representation of the application. This approach lends credence to the growing process-driven application methodology which aims to separate an application's logical flow from its executable components at an enterprise level.

Workflows comprise 'activities'. Developers can write their own domain-specific activities and then use them in workflows. WF also provides a set of general-purpose 'activities' that cover several control flow constructs.

Windows Workflow Foundation is supported by a companion set of extensions to Visual Studio 2005. These extensions contain a visual workflow designer which allows users to design workflows, a visual debugger which enables the users to debug the workflow designed, and a project system which enables the user to compile their workflows inside Visual Studio 2005. In Visual Studio 2008 WWF functionality is included.

[edit] Moving data through Workflows

Activities that require or provide data can use properties to expose them, and enable the Workflow author to bind them to the containing workflow by declaring 'dependencies'.

[edit] Hosting Workflows

The .NET Framework 3.0 "workflow runtime" provides common facilities for running and managing the workflows and can be hosted in any CLR application domain, be it a Windows Service, a Console, GUI or Web Application.

The host can provide services like serialization for the runtime to use when needed. It can also hook up to workflow instance's events such as their becoming idle or stopping.

[edit] Communicating with Workflows

WF workflows define interfaces with methods and events to communicate with the outside world. A host application typically sets up an environment before running a workflow, providing objects that implement those interfaces.

When an object implementing such interfaces raises an event, the corresponding workflow is retrieved and the data passed on to it.

Methods on the interface may be used by the workflow to communicate with its host. Data can also be transferred from the host to the Workflow through dictionary objects that are passed to the Workflow when the Workflow is created.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.

[edit] 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 a sequential workflow. The rules dictate the progress of the workflow)

[edit] Books

[edit] Third Party Activity Libraries

Pegasus Imaging Workflow Activities This is good for third party Activity

[edit] Localised links