The MAPI Extensions for HTTP enable a client to communicate with a server to access personal messaging and directory data. When the client initiates communication with the server, the server creates a virtual Session Context and returns a session context cookie to the client. Once established, the Session Context allows the client to perform operations on the server. Even if network connectivity is interrupted, use of the virtual Session Context, in conjunction with the session context cookie, allows the server to keep the messaging object open and gives the client the ability to reconnect with the Session Context and to continue using the open objects. The client does not have to maintain a persistent, long-lived connection with the server.
Communications with the server are divided into three major function areas: (1) initiating and establishing connection with the server; (2) issuing remote operations (ROPs) to the mailbox server and sending commands to the address book server; (3) terminating communications with the server. If events on the server require more than a configured length of time, the client can either terminate the network connection and re-establish the connection at a later time or continue to keep the connection alive until the processing is completed and the server is ready to return the results to the client.
The following figure shows a simplified overview of client and server communications for a mailbox.
Figure 1: Client/server communications for a mailbox