inset
Web Services Link Exchange to .NET
Apr. 29, 2002

The new Exchange 2000 XML Web Services Toolkit delivers documentation and code samples for creating Web services that access Exchange data. Web services—software components that communicate using XML data formats and standard Internet protocols—can provide a relatively simple and future-proof way to integrate Exchange e-mail, calendaring, or contact management into applications, particularly applications created with the new .NET development platform. However, companies must be ready to reengineer any Web services they create on Exchange even with the toolkit, because of changes coming to the Exchange development platform in two to three years.

SDK for Web Services, .NET Code

The toolkit updates the existing Exchange SDK, adding material on building Web services that expose Exchange functions, and on building applications that use such Web services. In addition to code samples and documentation, the kit includes a Web service development video from the 2001 Microsoft Exchange Conference. Samples include a Web service for retrieving an Exchange user's free/busy information and scheduling appointments with the user, and a SQL Server–based customer tracking application that uses a Web service to work with Exchange contacts.

The kit demonstrates several possible internal architectures for Exchange Web services. (See the illustration "Architectures for Exchange Web Services".) As with the similar Web service toolkit for SQL Server, the Exchange toolkit explains how to create custom Web services to access specific data on an Exchange server; it doesn't provide a generic, out-of-the box Web service for access to arbitrary data in Exchange. The kit also does not deliver any new development tools or server components specifically for developing Web services, although it includes all the Exchange development tools of the Exchange SDK (such as the Exchange Workflow Designer).

.NET Platform for Web Services and Applications

The kit demonstrates creation of Exchange Web services on the .NET development platform and includes a self-paced training course on the platform. (See the Feb. 2002 Research Report, "The .NET Development Platform.") A .NET-based Web service cannot access Exchange data directly, because Microsoft has not created a .NET class library or "managed provider" for accessing Exchange data. However, a Web service built on the .NET platform can access Exchange data indirectly, via the platform's COM interoperability features and a COM library (such as Microsoft's Collaboration Data Objects for Exchange), or via the platform's class libraries for Hypertext Transfer Protocol (HTTP) and XML.

Microsoft expects that most developers will use the toolkit for building client applications that access e-mail, calendaring or task management functions through Web services built by others, rather than building Web services themselves. The .NET tools make it relatively easy to create a client application that calls Web services, so the quickest way to integrate Exchange functions into a .NET application might to have the application call those functions through an Exchange-based Web service.

Two- to Three-Year Life for Web Service Code

The code of any Exchange-based Web service could have a limited lifespan, because Microsoft plans to radically redesign the Exchange development platform. Specifically, Microsoft plans to replace Exchange's Web store database with the database engine that will also power the next SQL Server release, "Yukon", and that engine might not support the APIs and protocols of the Web store. (See "Microsoft Rethinks Exchange Storage Architecture" on page 3 of the May 2001 Update.) A Yukon-based Exchange probably won't appear until 2004 at the earliest, so the code of Exchange-based Web services should last at least until then.

In fact, Web services might be the best way to isolate client applications from the changes Yukon will bring to the Exchange development platform. Companies can future-proof client applications by having them call Exchange functions through Web services, rather than calling them directly through APIs and protocols that could disappear with Yukon. Only the code of Web services themselves will then need revision when Yukon arrives.

The Exchange 2000 XML Web Services Toolkit is available only on CD-ROM and costs US$7.95 in the United States and US$9.90 elsewhere. To order the toolkit or find other information about Exchange development, see msdn.microsoft.com/exchange.