Platform SDK: Exchange Server

Operation of the Routing Engine

As described previously, the routing engine is a state engine component designed to execute and track multiple process instances in a Microsoft Exchange folder. The engine is driven by events — specifically the OnMessageCreated and OnTimer events that occur in the Microsoft Exchange folder where the engine is installed. Whenever a new message arrives in the folder, or a timer (expiration) event is evaluated, the execution state of a process may get updated.

The primary focus of the engine is to simplify e-mail-based routing applications. The engine routes work items (such as forms or documents) to participants through e-mail. Participants send e-mail replies back to the engine in order to approve, reject, or comment on the item being routed. On the server, the engine tracks the responses and comments and provides support for exception handling in the event a time-out occurs, duplicate mail is received, and so forth. E-mail-based applications are only one class of workflow-enabled application, but they are an important one for Microsoft Exchange Server.

Note  Routes can be built using either public folders or private mailbox folders as routing hubs. However, routes built on private folders other than the Inbox will fail unless incoming mail is redirected to the folder that is acting as the routing hub. The redirection can be performed by an Inbox rule.