19.1. Introducing Workflow Concepts

Most businesses have processes that involve steps or stages in which work is performed. Every stage might have its own logical implementation related to or completely oblivious of other stages. These stages and the actions performed in them form a workflow for a process. To facilitate implementation of such workflows in applications, Microsoft provides a framework for developing workflow-based applications. This framework is part of .NET Framework 3.0 and is called the Windows Workflow Foundation (WF).

Workflow applications, like many business processes are, can be very complex and long-running. They might involve human interactions that are unpredictable and have to accommodate dynamic changes that are inherent in today's business processes. For example, it might take weeks for an approver to review a document and decide what action needs to be taken next in the workflow process. If the workflow application is allowed to keep running for the entire duration while the approver reviews the document, it would just be a waste of resources of the machine on which it's running. There might be many approvers and many more documents. Think of the multiple long-running workflow applications running at the same time on the machine. You can imagine that the computer running these workflow applications will soon run out of all resources.

This and many such design considerations and issues with workflow applications have been innovatively addressed in the ...

Get Microsoft® Office SharePoint® Designer 2007 Bible now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.