Collaborative Applications

Collaborative applications cover a broad range of uses. The SDK provides a number of different ways to access information held within Exchange, but there are three main interfaces:

  • Collaboration Data Objects for Exchange (CDOEX, CDOEXM, and CDOWF)

  • Messaging Application Programming Interface (MAPI)

  • Web Distributed Authoring and Versioning (WebDAV)

The following sections look at these interfaces along with what has changed in each.

Using Collaboration Data Objects for Exchange

If you have developed ASP Web applications that send email messages, you might already be familiar with CDOSYS, which is used to create and send messages via Simple Mail Transfer Protocol (SMTP) or Network News Transfer Protocol (NNTP). Where Exchange 2000 or 2003 has been installed on a server, the CDOSYS components are replaced by the Collaboration Data Objects for Exchange (CDOEX), which provide Exchange-specific features on top of the base functionality found in CDOSYS.

graphics/shortsig_icon.gif A MILLION CDOS

As you'll read in a bit, there are many CDO-related libraries. Make sure you know which one you want to use, and don't confuse them with less functional, older versions such as CDO-NTS, which came with Windows NT and Windows 2000.


CDOEX provides the base COM classes and interfaces to work with information held in an Exchange store and is a popular integration method when you're creating server or Web-based collaborative applications. Developers can use CDOEX with C/C++ or any COM-compliant programming language. CDOEX exposes objects that correspond to information held within Exchange, including messages, appointments, attendees, folders, items, persons, and so on.

Exchange Server 2000 had a version of CDOEX available, and not much has changed between the two versions. Applications that were written for Exchange Server 2000 using CDOEX should run under Exchange Server 2003 without many problems.

In addition to CDOEX, another interface under the CDO moniker is used to create collaborative applications: Collaboration Data Objects for Workflow (CDOWF).

CDOWF creates workflow applications that use the internal Exchange workflow engine to route and approve forms, review and publish documents, and for issue tracking. As with CDOEX, not much has changed in the CDOWF interface or Exchange's workflow capabilities.

For those installations that are still using Exchange 5.5 and its routing engine, you need to be aware that the samples provided in the Exchange 5.5 Development Kit are no longer supported. If you are still running these Exchange 5.5 components, it might be time to look at the features that CDOWF provides and upgrade your application.

ONE TO WATCH OUT FOR

The SDK documentation points out that the workflow engine and CDOWF engine are scheduled to be "enhanced or replaced" in a future version of Exchange and recommends using Microsoft BizTalk Server for anything other than simple workflow applications.


ANOTHER CDO INTERFACE

Another CDO interface, Collaboration Data Objects for Exchange Management (CDOEXM), is used exclusively for managing the Exchange store, so you'll look at CDOEXM a little later in the chapter when you explore creating applications to manage Exchange.


Several updated sample applications and new sample code snippets are available for both CDOEX and CDOWF that are clearly marked in the documentation.

Using WebDAV

WebDAV is a protocol that is an extension of the HTTP/1.1 protocol. WebDAV adds methods and headers to the HTTP protocol that you can use to send and receive information through HTTP requests. Using WebDAV, you can create applications in a variety of programming and scripting languages that can access information held within an Exchange store, including emails and appointments. For more information on the WebDAV protocol, visit http://www.webdav.org.

The WebDAV protocol has not changed between Exchange 2000 and Exchange 2003; therefore, developers who are using WebDAV can hit the ground running. The SDK does include a number of new code samples for WebDAV, including samples that demonstrate how to do a hierarchical search (to find folders within folders) as well as how to create a write-lock on an item.

THE MISSING M

Exchange 2000 introduced a new M: drive that was automatically mapped to the Exchange information store and that could directly access information held within Exchange folders. This drive mapping has been discontinued, but you can continue to reference the information through the //backoffice/ mapping path.


graphics/shortsig_icon.gif WHY DID THEY DROP M?

Microsoft originally pushed Exchange as a great place to store all your documents and everything else, and the M: drive was intended to make that easier to do. With Microsoft moving to other storage methodologies (mainly based on Yukon, the forthcoming release of SQL Server), and for security reasons and the ease of using WebDAV, the M: drive was deemed a fifth wheel and dropped.


Another part of the WebDAV toolset is WebDAV Notifications, which were also present in Exchange 2000. You can use them to fire events when documents are changed or moved or when a new email message has arrived.

Again, if you are a developer who has worked with WebDAV Notifications before in Exchange 2000, you will be in familiar territory.

Using MAPI

MAPI is a Windows messaging subsystem used to add mail functionality to many different types of applications. Using the MAPI interface provided with Exchange Server 2003, developers can create applications in C/C++. However, they need to be aware that some of the MAPI interfaces or technologies that were supported in the past have been deprecated.

Simple MAPI was a basic implementation of MAPI that offered limited functionality for sending and receiving email messages. It was only intended for use from Windows to provide an easy hook into MAPI for sending emails from applications. Exchange Server 2003 no longer supports the Simple MAPI interface, but anything you can do with Simple MAPI, you can also do with Extended MAPI, which Exchange Server 2003 still supports.

Another deprecated MAPI technology is the Common Message Calls (CMC) API, which was a cross-platform wrapper around basic MAPI functionality provided for C developers. Again, anything you could do with the CMC API you can do with Extended MAPI.

A limitation of creating Exchange-based applications with MAPI in previous versions that has been overcome is that MAPI communicates using Remote Procedure Calls (RPCs), which in previous versions might have been blocked by a firewall. With the introduction of RPC over HTTP support in Exchange Server 2003, you can now create MAPI clients that can communicate with Exchange even if they are outside your organization.

graphics/weblink_icon.gif WEB RESOURCE

For a tutorial on configuring RPC over HTTP access, go to the Delta Guide series Web site at http://www.deltaguideseries.com and enter article ID A030701.


MAPI LIMITATIONS

Even with the RPC limitations gone, an application that is created using the MAPI interface holds an open connection for the entire session. Because of that, you might want to consider using another interface (such as WebDAV) to create your application.


As with previous versions of Exchange, you can access only a single Public folder tree using the MAPI interface. If you need to access other Public folders, you might need to use the WebDAV protocol or the OLE DB Provider.

INCREMENTAL CHANGE SYNCHRONIZATION

Another overlooked area of MAPI functionality is the Incremental Change Synchronization (ICS) feature that is included with the MAPI interface. ICS synchronizes information held in an Exchange store with a third-party system or data store. ICS has not changed since version 5.5 of Exchange, and the SDK is quick to point out that future versions of Exchange might not support this functionality.


Other Interfaces

Another collaborative interface that is still in use in some organizations is the Microsoft Exchange Discussion Wizard, which allowed users to host a discussion using Active Server Pages (ASP), storing the actual conversation messages and thread within Exchange. This technology is no longer available because it requires Front Page Server Extensions, which have been deprecated in Exchange Server 2003.

You also might have noticed when installing Exchange that the instant messaging (IM) components are missing. Exchange 2000 introduced an IM server that provided real-time messaging to corporate environments. With this release of Exchange, that functionality has been removed and is now part of a new, separate server product that is part of the Office 2003 system.

The Microsoft Real-Time Communications Server provides IM and real-time communications for a variety of clients and leverages industry-standard protocols for real-time communication.

FOR MORE INFORMATION

For more information about the functionality provided with the Real-Time Communications Server, visit http://www.microsoft.com/office/preview/rtcserver/.




Microsoft Exchange Server 2003 Delta Guide
Microsoft Exchange Server 2003 Delta Guide
ISBN: 0672325853
EAN: 2147483647
Year: 2003
Pages: 109

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net