Microsoft Internet Information Services
Microsoft® Exchange Server 2003 is very closely integrated with the Microsoft Internet Information Services (IIS). With a few exceptions (for example, MAPI and installable file system (IFS)), Exchange uses IIS protocol virtual servers to transfer all data among servers and to messaging and collaboration client applications.
Internet Information Services Configuration
IIS stores configuration data in the IIS metabase store. When Exchange Server 2003 is installed onto a computer, the IIS metabase configuration information is copied into Microsoft Active Directory®. Exchange modifies the information in Active Directory, and the Exchange Server 2003 Metabase Update service replicates the information from Active Directory to the Metabase every couple minutes. This replication occurs only from Active Directory into the IIS metabase, and changes made directly to the IIS metabase will be lost.
Exchange Interprocess Communication Layer
The Exchange store and message routing facilities communicate with the IIS virtual servers through the Exchange Interprocess Communication (ExIPC) layer. Each protocol server is decoupled from the Exchange services by unidirectional queues: one for incoming, and one for outgoing messages. The ExIPC layer uses Local Remote Procedure Calls (LRPCs), and a shared-memory heap to efficiently transfer data between Exchange and IIS.
Protocol Virtual Servers
Exchange uses IIS virtual servers for communications with other Exchange servers, and messaging and collaboration applications. Additional virtual servers can be created to support dedicated or secure communications for custom collaborative applications. Use the Exchange System Manager Microsoft Management Console (MMC) snap-in to create and configure Exchange virtual servers.
The following describes the types of protocol services that Exchange provides, and the ways that they can be accessed programmatically.
Simple Mail Transfer Protocol (SMTP)
Exchange extends the base Microsoft Windows® server operating systems SMTP protocol engine, using it as the sole controller for routing messages. Exchange uses SMTP to transport e-mail messages, and for communicating routing link status information between servers.
To support more efficient server-to-server communication, Exchange also implements extended SMTP verbs. The standard SMTP protocol is typically used by e-mail clients and simple Web applications to transmit e-mail messages. Specialized applications that need secure or exclusive access to an SMTP service can also send messages to non-default SMTP virtual servers configured using the Exchange System Manager.
Applications can also extend the SMTP service by registering SMTP Protocol Events. Handling of inbound and outbound messages, and timers can trigger the events, and the protocol server then calls the event sink registered for that event on the virtual server. There are event hooks for all of the significant steps used in processing messages for delivery by Exchange Server 2003.
Post Office Protocol (POP3)
Exchange configures a default Post Office Protocol version 3 (POP3) virtual server instance during setup. Additional POP3 virtual servers can be created using the Exchange System Manager. Applications and simple e-mail clients can use POP3 to retrieve incoming messages from Exchange Server 2003.
Internet Mail Access Protocol version 4 (IMAP4)
Exchange configures a default Internet Message Access Protocol version 4 (IMAP4) virtual server instance during setup. Additional IMAP4 virtual servers can be created using the Exchange System Manager. Applications and e-mail clients that require access to both mailbox and public folder hierarchies can use the IMAP4 protocol.
Network News Transfer Protocol (NNTP)
Exchange configures a default Network News Transfer Protocol (NNTP) virtual server instance during setup. Additional NNTP virtual servers can be created using the Exchange System Manager. NNTP virtual servers support connecting to Exchange public folder stores using Microsoft© Outlook® and other NNTP news readers.
Hypertext Transfer Protocol (HTTP) and Web Distributed Authoring and Versioning (WebDAV)
By default, every item in the Exchange store is assigned a URL name, which can be used to access, and potentially to modify, the item. This includes messages in the user's mailbox, as well as items within the public folder hierarchy.
Requests from applications or Web browsers for individual items addressed by URL pass through IIS and the ExIPC layer, and are ultimately handled by the Exchange store drivers. Information about item properties, or the item content, is passed through the ExIPC queue, through the HTTP protocol server, and then through the network to the client.
WebDAV is an extension to the HTTP protocol. Requests and responses between the client application and the WebDAV server are transmitted with XML messages. The Exchange WebDAV server provides access to individual items, collections of items, and item properties in the Exchange store.
Microsoft Outlook® Web Access also uses the default HTTP virtual server. Outlook Web Access is implemented as several Internet Server Application Programming Interface (ISAPI) filter DLLs, and uses WebDAV to communicate between the browser client and the Exchange store. Outlook Web Access supports e-mail, calendar features, and contact management, which represent essential information management features. However, advanced features of Outlook 2000, such as tasks or journal items, are unavailable. Applications that extend Outlook Web Access are typically created through new Exchange Web forms.