The Premier Resource for Microsoft Collaboration Data Objects
With Microsoft Exchange Server 5.5, Microsoft introduced a new and very important feature, called Microsoft Exchange Scripting Agent. This feature enables developers to build powerful Groupware and Workflow applications running server-side scripts on top of the Microsoft Exchange Server 5.5, without using a Microsoft Exchange client or Microsoft Outlook 9x/2000.
With Microsoft Exchange Server 5.5 Service Pack 1 Microsoft introduced the Microsoft Exchange Server Routing Engine extension. The Microsoft Exchange Server 5.5 Routing Engine is a set of tools that simplifies the development of e-mail-based routing and approval applications. Using Microsoft Exchange Server 5.5 Routing Engine, developers can create applications, which allow users to define and create the steps in routing/approval application.
An example, the Microsoft Exchange Routing Wizard (written in Microsoft Visual Basic) is included with Microsoft Exchange Server 5.5 Service Pack 1 (note that the most current version is included with Microsoft Exchange Server 5.5 Service Pack 2). It allows the owner of a particular folder to define simple routes. After a route is installed in a particular folder, any item posted or dropped into that folder is automatically routed to the specified recipients, and the status of the item is automatically tracked by the Microsoft Exchange Server 5.5. The Microsoft Exchange Routing Wizard must be installed separately on each machine. Also, it requires that Microsoft Outlook 9x/2000 is installed on the same machine. You can find the Microsoft Exchange Routing Wizard on the Microsoft Exchange Server 5.5 Service Pack 2 CD-ROM on the Eng\Server\Support\Collab\Sampler\Routing directory. It is also included at the SP2_55SS.EXE file, which is available for download from the Microsoft FTP Server.
Microsoft Exchange Server 5.5 Scripting and Routing is limited to medium-volume workflow and administrative applications, because writing e. g. inbox agents in Microsoft Visual Basic Scripting Edition does return poor results. The Microsoft Exchange Server 5.5 Scripting and Routing is not designed to replace mailbox agents written in C/C++. The reason is that the Microsoft Exchange Server 5.5 Scripting and Routing script must be interpreted and this can slow down the performance of the Microsoft Exchange Server 5.5 computer.
There is another limitation you must keep in mind before you start to develop your own Microsoft Exchange Server 5.5 Scripting and Routing scripts, that is that all events are fired asynchronously. That means, before the event has fired and your script started processing the item, the same item can be deleted by a rule, for example. This is a known issue and there is currently no way to prevent this from happening. According to Microsoft, it is planed to include a synchronous event technology in the next version of Microsoft Exchange Server (named Exchange 2000). For more information about Microsoft Exchange 2000, please take a look at Microsoft Exchange Server Future.
It is possible to create custom agents with programming languages such as Microsoft Visual Basic, Microsoft Visual C++, Microsoft J++, or any other language that supports the Component Object Model (COM). For more information about creating custom agents, please take a look at the Advanced Topics: Custom Agents in the Microsoft Exchange Event Scripting and Routing AGENTS.HLP file, which can be found on the Microsoft Exchange 5.5 Server CD-ROM. Note that there is an updated version of this file included in the Microsoft Exchange Server 5.5 Service Pack 2. You can also download the most current version from CDOLive agents.zip (206 Kbyte). Microsoft has released a sample for building custom agents. For more information, please take a look at The Secrets of Exchange Server Scripting and Routing, Useful Links.
You may also take a look at the excellent technical article Using the Exchange Event Service to develop Workflow Applications by Micro Eye, Inc., a company with a high knowledge in building solutions using Microsoft Exchange Server and Microsoft Outlook.
The Microsoft Exchange Server 5.5 Scripting and Routing script uses the Microsoft Collaboration Data Objects (CDO) 1.x to access objects of the Microsoft Exchange Server 5.5. For more information about CDO 1.x please take a look at Digging deeper into CDO.