Introduction to Workflows in Windows SharePoint Services

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

A workflow allows you to attach a business process to items in Windows SharePoint Services 3.0. This process can control almost any aspect of an item in Windows SharePoint Services 3.0, including the life cycle of that item. For example, you could create a simple workflow that routes a document to a series of users for approval.

Workflows can be as simple or complex as your business processes require. You can create workflows that the user initiates, or workflows that Windows SharePoint Services 3.0 automatically initiate based on some event, such as when an item is created or changed.

Using Window SharePoint Workflows

Windows SharePoint Services 3.0 workflows are made available to end-users at the list or document-library level. Workflows can be added to documents or list items. Workflow can also be added to content types. Multiple workflows may be available for a given item. Multiple workflows can run simultaneously on the same item, but only one instance of a specific workflow can run on a specific item at any given time. For example, you might have two workflows, SpecReview and LegalReview, available for a specific content type, Specification. Although both workflows can run simultaneously on a specific item of the Specification content type, you can't have two instances of the LegalReview workflow running on the same item at the same time.

SharePoint Workflow Technology Architecture

You can create workflows using the Visual Studio 2005 Designer for Windows Workflow Foundation. Each workflow is compiled into its own Dynamic Linking Library (.dll).

For more information on using the WWF Designer, see Visual Studio 2005 Designer for Windows Workflow Foundation Overview.

In addition, your workflows can interact directly with the user through custom workflow forms. Workflow forms enable you to gather information from the user at each stage of the workflow.

For information on using technologies such as ASP.NET to create workflow forms, see Workflow Forms Overview.

To install the workflow on a server farm, you need to create a workflow definition. A workflow template definition is an XML file that contains the information Windows SharePoint Services 3.0 requires to instantiate and run the workflow, such as:

  • The name, GUID, and description of the workflow

  • The location of any custom forms used in this workflow

  • The correct class within the workflow assembly to call

For more information on creating a workflow definition, see Workflow Definition Schema.

Each server farm contains a workflow associations table. Each entry in this table contains association data for a workflow as it applies to a specific content type, list, or document library. This association data typically includes whether the workflow is started automatically or by users, and the task and history lists for the workflow. If a workflow has been added to multiple content types, lists, or document libraries, it will have one entry for each such association. Likewise, if you add multiple workflows to a specific content type, list, or document library, then the table contains one entry for each workflow added to the content type, list, or document library.

For more information on workflow association, see Workflow Stages.

The figure below illustrates the conceptual workflow architecture in Windows SharePoint Services 3.0. Each content type, list, and document library in the farm is linked to the workflows added to it through the workflow association table. Each workflow has a workflow definition. This XML definition specifies the identity of the actual workflow assembly, and class within that assembly, as well as the location of any workflow forms the workflow needs to run.

See Also


Workflow Hosting Architecture

Workflow Development for Windows SharePoint Services