Collaboration Data Objects for Exchange Workflow (CDOWF)

Collaboration Data Objects for Exchange Workflow (CDOWF)

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. This topic provides information about using Collaboration Data Objects for Exchange Workflow (CDOWF) to develop messaging applications.

Introduction

CDO for Workflow (CDOWF) is built-in functionality provided with Microsoft® Exchange 2000 Server. By using CDOWF, which is driven by the Exchange store event architecture, you can design workflow applications without having to write the fundamental code that accesses, modifies, and controls data. CDOWF includes a workflow engine, modeling tools, and an event sink.

Caveats

Consider using Microsoft BizTalk® for more complex workflow process implementations, especially those that require more complex workflow processing, must cross organizational boundaries, or are not messaging-related.

Functional Criteria

Criteria Collaboration Data Objects for Exchange Workflow (CDOWF)
Application Domain CDO for Workflow (CDOWF) is used within workflow processing systems, enabling them to define and control workflow processes, and to respond to workflow events that are part of those processes.
Major Objects CDOWF provides COM/Automation-compatible objects that support workflow processes. These include ProcessDefinition, ProcessInstance, and WorkflowSession. Custom events used in workflow processes are implemented by using the Exchange store events interfaces.
Data Access Model Mixed: collections of some object types can be accessed as ADO rowsets by using the DataSource object. Other CDOWF items are presented as hierarchical objects.
Threading Models No specific threading prohibitions. However, applications that use free-threading should never share CDOEX object instances among asynchronously operating threads. Multi-threading should not be used within Workflow events.
Application Architectures Typical uses are for applications that implement messaging-related business processes.
Remote Usage CDOWF can only be run on the Exchange server.
Transactions Transactions can be implemented as part of the overall workflow process, but CDOWF does not natively support transactions.
Management Capabilities CDOWF does not generate standard Windows Event Log entries. CDOWF does provide the ability to log workflow process events in special audit logs maintained by the process instances of the CDOWF system.
Availability Currently shipping with Exchange 2000 Server and Exchange Server 2003. CDOWF is expected to be enhanced or replaced in a future version of Exchange. Consider using BizTalk for more complicated, inter-organizational, and non-messaging related workflow process implementations.

Development Criteria

Criteria Collaboration Data Objects for Exchange Workflow (CDOWF)
Languages and Tools CDOWF can be used with any COM/Automation-compatible language, as well as with non-COM languages such as C/C++.
Managed Implementation CDOWF is an unmanaged component. Use of CDOWF is not supported under the COM Interoperability layer of Visual Studio .NET.
Scriptable CDOWF is scriptable by means of ASP and Windows Scripting Host. However, this scenario is rather unusual, because applications that define workflow processes are usually larger and more complex than is appropriate for a script-based application.
Test/Debug Tools No special debugging tools are needed to debug applications that use CDOWF. Custom applications might be created to analyze the process audit logs created during process execution. If you are using the Workflow Designer for Exchange 2000 Server, enable Just-In-Time (JIT) script debugging. JIT starts the Microsoft Script Debugger when the error occurs. The debugger starts on the server, so you need to have access to the server.
Expert Availability Relatively few people are considered experts at programming CDOWF; finding already-trained experts might be difficult.
Available Information Some Microsoft and third-party books describe CDOWF. In addition, CDOWF is documented in the Exchange 2000 Server SDK and the Exchange Server 2003 SDK. Use the documentation appropriate to the version of Exchange you are developing for. To access the Exchange 2000 Server and Exchange Server 2003 SDKs, see Microsoft Exchange Server Online link on MSDN.
Developer/Deployment Licensing Refer to your Exchange and MSDN subscription licensing agreements to determine whether additional licenses are required for the computers where your CDOEX applications are developed and deployed.

Security Criteria

Criteria Collaboration Data Objects for Exchange Workflow (CDOWF)
Design-Time Permissions The developer or workflow process designer must have permissions to access the mailboxes and folders used by the workflow process. Read the appropriate section of the Exchange SDK for more information about permissions required with workflow processes.
Setup Permissions Applications that use CDOWF are stored on the Exchange server. Direct access to that server, however, is not required. The Workflow Designer can be used to remotely deploy workflow applications on an Exchange server, with the requirement that the user have sufficient permissions to access the mailboxes where the application is to be installed.
Run-Time Permissions Workflow processes created by applications that use CDOWF are run under the Workflow System Account. That account needs access to the folders and other resources the workflow processing code uses. Read the appropriate SDK for more information about permissions required with workflow processes.
Built-in Security Features Workflow processes always run as the Workflow System Account. Workflow events can log entries in the workflow audit log.
Security Monitoring Features Workflow events can log entries in the workflow audit log.

Deployment Criteria

Criteria Collaboration Data Objects for Exchange Workflow (CDOWF)
Server Platform Requirements CDOWF can only be run on a computer on which Exchange has been installed.
Client Platform Requirements Workflows can be designed on any computer where the Workflow Designer for Exchange has been installed. Application clients that directly access CDOWF must be installed and run on an Exchange server.
Deployment Methods If the client or application being installed needs direct access to CDOWF, the installer should verify that the computer is an Exchange server, and that CDOWF is properly installed on the computer.
Deployment Notes

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

This topic last updated: June 2006

Build: June 2007 (2007.618.1)

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