Platform SDK: Exchange 2000 Server

Workflow

[This is preliminary documentation and subject to change.]

Workflow is an application that models a business process such as expense report approvals. Microsoft supports CDO Workflow for Microsoft® Exchange 2000 Server; which includes a workflow engine, modeling tools, and an event sink. CDO Workflow enables you to design workflow applications without having to write the fundamental code that accesses and manipulates data in the Web Store.

You generally use the term "workflow" to describe applications that are modeled as business processes. Typical workflow applications include forms routing/approval, document review/publishing, and issue tracking. While you can implement such applications in nearly any programming language or development environment, you can simplify the task with the use of a workflow engine and specialized workflow modeling tools. Such tools allow the overall design, or "flow," of a business process to be specified in a simple, high-level representation called a process definition. You can easily modify or extend the process definition without rewriting all of the low-level application code. The workflow engine executes and manages individual instances of a process definition also known as process instances.

CDO Workflow Objects for Microsoft Exchange provide a built-in workflow engine, and an object model for programming that engine. Applications built for Microsoft® Exchange 2000 Server use the object model to create process definitions, consisting of a table of actions, or "rules," that define the business process. At runtime, the applications call the workflow engine to create and manage process instances. The workflow engine evaluates the process definition to see which actions should be run, and in turn executes either Microsoft® Visual Basic® Script code, or compiled COM objects, to perform application-specific business logic.

Microsoft Exchange 2000 Server includes a Workflow Event Sink to further simplify integrating workflow into existing applications. You register the event sink in a folder, where it intercepts all changes made in that folder, and automatically calls the workflow engine, on your application's behalf, to create and manage process instances. If you have existing applications in the folder already, they continue to create, modify, or delete items as always. The event sink also hooks into system timer events to automate expiring items, overdue work, or other cleanup tasks. The event sink works well in scenarios where users are creating or editing documents using off-the-shelf applications such as Microsoft® Word or Microsoft® Excel.

CDO Workflow applications build on the Web Store architecture, and must run on a Microsoft Exchange 2000 Server. You typically install them into an application folder—either a public folder, or private Inbox folder. Authorized folder owners register the Workflow Event Sink in application folders that they own. On a per-server basis, administrators control the following:

Some earlier versions of Microsoft® Exchange Server (5.5 SP1+) included Routing Objects libraries—helper objects for building simple document routing applications. While similar to the new CDO Workflow Objects in some ways, the Routing Objects were designed only for MAPI-based e-mail routing applications, and don't take advantage of the new Web Store features. Exchange 2000 Server is still compatible with existing MAPI applications, including Routing Objects. If you want to build a routing application that runs on both Microsoft® Exchange 5.5 and Exchange 2000 Server servers—you use MAPI and the Routing Objects libraries. If you want to write Web-based workflow applications or use new Web Store features, you should focus on Exchange 2000 Server and CDO Workflow Objects.

This topic covers the following information:

Application Architecture

Workflow Components

CDO Workflow Objects

Workflow Variations

Workflow Process Definitions

Workflow Security

Deployment

Testing and Debugging Workflow Applications