One of the "big deals" about Exchange 2000 Server is its powerful development platform. If, like me, you've always focused on Exchange for its messaging capabilities, you need to learn more about what Exchange 2000 offers as a solutions development platform. Because this is no small topic, I'll begin the discussion this week and conclude it in next week's (July 28) column.
The Web Store is the core enabler for Exchange 2000 as a development platform. With features such as item URL-addressing and universal access via OLE DB, ADO, Collaboration Data Objects (CDO), HTTP-DAV, and Win32, programming applications to use the Web Store has never been easier. The Web Store also provides an architecture for defining schemas for Exchange resources. A schema defines the resource's purpose and properties and how it interacts with other applications, such as SQL or XML. By default, Exchange 2000 has several resource objects that are described by published schemas, including messaging, contacts, calendar, documents, folder, and configuration. You can also customize schemas. By supporting a wide range of access methods and customization, the Web Store provides a highly interoperable development platform.
The tricky part of understanding Exchange 2000 as a development platform—at least for me—involves all the acronyms for programmatic access (e.g., ADO, CDO, OLE DB). Technically, application developers can access the Web Store via either HTTP-DAV or OLE DB. OLE DB-based access seems to be more complicated than HTTP-DAV. OLE DB works in conjunction with ADO to provide access to the Web Store. Think of the design as a hierarchy of access. The Exchange 2000 store provides OLE DB access via a server-side OLE DB Provider (exoledb.dll). On the client side, Microsoft provides another OLE DB Provider (commonly called "Rosebud" or OLE DB for Internet Publishing) that lets Microsoft Office applications access Web servers using HTTP-DAV. OLE DB is an open interface for uniform access to various information sources ranging from semi-structured data sources (e.g., Exchange) to structured data sources (e.g., SQL Server or Oracle). OLE DB leverages the success of Microsoft's ODBC (designed for relational data) to allow access to any kind of data. The current version of OLE DB, included with Exchange 2000, is OLE DB 2.5. This version adds important new features, such as scoped operations (the ability to manipulate hierarchies) and direct URL binding to data objects (http:// or file://). The Exchange 2000 OLE DB 2.5 Provider also allows direct SQL queries against Web Store data. OLE DB is at the heart of developer access to the Exchange 2000 Web Store, and the new features in version 2.5 provide an extremely rich provider mechanism upon which to build powerful solutions.
Next week, I'll continue our discussion on the Exchange 2000 development platform and look at the next layers in the hierarchy: ADO and CDO.