Overview

Use this cheat sheet to understand your technology choices for designing workflows. Your choice of workflow technology will be related to the type of workflow you are developing. Use the Workflow Technologies Summary to review each technology and its description.
Use the Benefits and Considerations Matrix to make an informed choice of workflow technology based on the advantages and considerations of each one. Use the Common Scenarios and Solutions to map your application scenario to common workflow technology solutions.

Workflow Technologies Summary

Windows Workflow Foundation (WF). WF is a foundational technology that allows you to implement workflow. A toolkit for professional developers and independent software vendors (ISVs) who want to build a sequential or state-machine based workflow,
WF supports the following types of workflow: Sequential, State-Machine, Data Driven, and Custom. You can create workflows using the Windows Workflow Designer in Microsoft® Visual Studio®.

Workflow Services. Workflow Services provides integration between Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) to provide WCF-based services for workflow. Starting with Microsoft .NET Framework 3.5, WCF has been extended
to provide support for workflows exposed as services and the ability to call services from within workflows. In addition, Microsoft Visual Studio 2008 includes new templates and tools that support workflow services.

Microsoft Office SharePoint® Services (MOSS). MOSS is a content-management and collaboration platform that provides workflow support based on WF. MOSS provides a solution for human workflow and collaboration in the context of a SharePoint server.
You can create workflows for document approval directly within the MOSS interface. You can also create workflows using either the Microsoft Office SharePoint Designer or the Windows Workflow Designer in Visual Studio. For workflow customization, you
can use the WF object model within Visual Studio.

Microsoft BizTalk® Server. BizTalk currently has its own workflow engine that is geared toward orchestration, such as enterprise integration with system-level workflows. A future version of BizTalk may use WF as well as XLANG, the existing orchestration
technology in BizTalk. You can define the overall design and flow of loosely coupled, long-running business processes by using BizTalk Orchestration Services within and between applications.

Human Workflow vs. System Workflow

The term workflow applies to two fundamental types of process:

Human workflow. Human workflow is a type of workflow in which a process that includes human collaboration is decomposed into a series of steps or events. These events flow from one step to the next based on conditional evaluation. The majority
of the time, workflow is composed of activities that are carried out by humans.

System workflow. System workflow, or orchestration, is a specific type of workflow that is generally applied to implement mediation between business services from business processes. Orchestration does not include human-performed activities.

Benefits and Considerations Matrix

The following table breaks down the benefits and key considerations for each of the workflow technologies.

Table 1 Benefits Consideration Matrix

Technology

Benefits

Considerations

Windows Workflow Foundation (WF)

A developer-centric solution for creating workflows.

Custom code is required if you want to host the designer in your application.