Share via


Introduction

Introduction

This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.

The term workflow generally describes applications that are modeled on business processes. Typical workflow applications include the following:

  • Forms routing and approval
  • Document review and publishing
  • Issue tracking

You could write these types of applications in almost any programming language, but this task is simplified by using the built-in workflow engine and specialized workflow modeling tools provided with Exchange Server 2003.

Using the modeling tools, you can specify the overall design or flow of a business process in a high-level representation called a process definition. For example, in an expense report approval application you could define a process in which reports totaling less than $50 are routed directly to your accounting department, and reports equal to or greater than $50 are routed to a manager for approval.

You can also use the modeling tools to define the various states of the document, such as submitted, needs approval, or approved. You use actions to control workflow activities. You can also include script in a workflow process by using a scripting language such as Microsoft Visual Basic® Scripting Edition (VBScript). You can modify or extend the process definition without rewriting all of the fundamental application code.

You use the modeling tools to associate the process definition with a folder. When anything happens in the folder, the Workflow Event Sink calls the Workflow Engine, which runs your application. The workflow engine executes and manages individual instances of a process definition, known as process instances.

CDO for Workflow (CDOWF) provides a built-in workflow engine and an object model for programming that engine. You can create process definitions, which consist of a table of actions or rules that define the business process. The workflow engine evaluates the process definition to see which actions it needs to run. Next, it executes scripts or Component Object Model (COM) objects to perform application-specific business logic.

Using a CDOWF event sink makes it easier for you to integrate workflow into existing applications. For example, you can register the event sink in a folder, where the event sink intercepts all changes made in that folder, and automatically calls the workflow engine on the application's behalf. If you have existing applications in that folder, they continue to create, modify, or delete items. The event sink can also connect to the system timer events to automate expiring items, overdue work, or other cleanup tasks. The event sink works well in scenarios in which users are creating or editing documents using off-the-shelf applications such as Microsoft Word or Microsoft Excel.

CDOWF applications build on the Exchange store architecture, and they must run on an Exchange 2000 server. You install workflow applications into either a public folder or a private Inbox folder. You can register event sinks only in folders that you own. Server administrators must determine and configure the following for each server:

  • Who is authorized to register workflows on that computer.
  • Who can write unlimited workflow scripts as opposed to scripts that cannot create objects, which are also known as "sandboxed" scripts.

Some earlier versions of Exchange (5.5 with Service Pack 1 and later) included Routing Objects libraries, which are helper objects for building simple document routing applications. Although Routing Objects are in some ways similar to the new CDOWF, they were designed only for e-mail routing applications based on MAPI, and don't take advantage of the new Exchange store features. Exchange Server 2003 is still compatible with existing MAPI applications, including Routing Objects. If you want to build a routing application that runs on both Exchange Server 5.5 and Exchange Server 2003, you can use MAPI and the Routing Objects libraries. If you want to write Web-based workflow applications or use new Exchange store features, you should use Exchange Server 2003 and CDOWF.

Before you begin writing workflow applications, you must first add the workflow system account and register workflow authors, as described in the following topics:

Adding the Workflow System Account

Registering Workflow Authors

Send us your feedback about the Microsoft Exchange Server 2003 SDK.

Build: June 2007 (2007.618.1)

© 2003-2006 Microsoft Corporation. All rights reserved. Terms of use.