Lesson 2: Messaging Application Programming Interface

MAPI is only a specification and not a messaging system in and of itself. It provides only a common way to access messaging backbones. Therefore, you always need to have a MAPI information service available for your existing messaging backbone before you are able to use any MAPI-based client in conjunction with it.

This lesson deals with the architecture and features of the MAPI subsystem. Important information services that come with Outlook are briefly introduced.


At the end of this lesson, you will be able to:

  • Describe the general components of the MAPI subsystem.
  • Explain the purpose of information services and their three main categories.

Estimated time to complete this lesson: 45 minutes


MAPI Subsystem

MAPI defines standardized interfaces at two layers, which allows the creation of client applications and the development of information services. The client-side specification is called the client interface, and the system-side specification is known as the service provider interface (see Figure 9.2).

click to view at full size

Figure 9.2 Transport provider configuration via messaging profiles

MAPI Advantages

The MAPI subsystem provides many advantages over system-specific interfaces because it frees the developer from learning how to program different messaging systems separately. In other words, no matter which backbone and information services you use, MAPI stays the same.

The following are the advantages of MAPI:

  • The client can run MAPI against multiple messaging systems, even simultaneously.
  • MAPI is built into Windows.
  • MAPI provides separation of messaging backbone and client.
  • MAPI is a vendor-independent API.

MAPI Subsets

To simplify messaging programming, the MAPI client interface has been broken down into several subsets. Available subsets are Simple MAPI, Common Messaging Calls (CMC), and Collaboration Data Objects (CDO). (CDO was formerly known as Active Messaging.) The entire client interface is sometimes called Extended MAPI. All programming interfaces are documented in the Microsoft Platform System Development Kit.

Information Services

Information services reside on the lower level of the MAPI subsystem at the level of the service provider interface (see Figure 9.2). They are separated into transport services, address books, and message stores. The MAPI-based client uses them as appropriate whenever it needs to access messaging resources. As discussed earlier, the client uses transport services to access the various backbones, regardless of their data formats or their mechanisms of sending and receiving messages, and it uses address book services to resolve recipient addresses.

Address Books

An address book provider maintains and provides information about recipient objects to the client. The address book provider is an essential component of the MAPI subsystem because without available recipient objects, it would be impossible to send newly composed messages.

For example, you compose a new message and enter the name of the desired recipient in the To box. At this point, the recipient is nothing but a string, which means the recipient name still needs to be resolved to become a unique recipient object. Otherwise, the messaging backbone will not know how to deliver the message. The address will be resolved automatically when the message is sent. If you want, you can also resolve the addresses manually by using the Check Names command on the Tools menu of the New Message window. To resolve the address, the client communicates with the MAPI address book service—for example, the Exchange Server address book. If the address resolution succeeds, the display name of the recipient becomes underlined.

Server-Based Address Books

The server-based address book contains the recipient objects that exist within the Exchange organization, specifically Active Directory directory service. EMSABP32.DLL maintains this service, which is part of the Exchange transport driver. The addresses of all possible recipients in the organization are grouped together within the global address list, which is also used by default for address resolution.

Offline Address Book

The offline address book—also maintained by the Exchange transport service (EMSABP32.DLL)—contains a local copy of the server-based global address list. Once downloaded, it will be used in all situations where the server-based address book is unavailable during offline operation. To download the address information from the server, open the client's Tools menu, point to Synchronize, and then click Download Address Book.

Personal Address Book

The personal address book is maintained within a local .pab file by MSPST32.DLL, which represents the personal address book and the personal folder store service. It is used as the repository for all kinds of personal addresses, especially those that do not exist within the organization.

Outlook Address Book

The Outlook address book implemented in CONTAB32.DLL provides similar functionality to the personal address book, but maintains the address information in Contacts folders rather than a local .pab file. For example, the Contacts folder from your mailbox is added to the Outlook address book by default, so when you create personal contact objects and specify e-mail address information for them, or create distribution lists, these items are available in the client's Outlook address book automatically.

NOTE


It is advisable to use the Contacts folders and the Outlook address book instead of local .pab files to maintain your personal e-mail address information.

Message Repositories

MAPI-based clients generally store e-mail messages, word processing documents, spreadsheets, voice mail files, electronic forms, and other items in folder structures, which can reside on a server or the local computer. Based on their purpose, these folders are named public, private, offline, or personal folders. Public folders are used to store collaborative information that is intended to be available to many users in an organization. Private folders refer to those folders that reside on a user's server-based mailbox and are typically available to only one user. They can be synchronized with offline folders, which are nothing more than direct copies of the server-based information placed in a local file with an .ost extension. Offline folders provide access to the information stored in private folders even when the server is unavailable. Messages are also stored locally in personal folders, but personal folders are not synchronized with a server-based mailbox. They are typically used in conjunction with the client's Remote Mail option and reside in local .pst files.

Message Store Providers

Whenever you open a message, save it, copy it to another folder, or delete it, your client communicates with a message store service. EMSMDB32.DLL is involved if you are working with items stored on an Exchange 2000 server. EMSMDB32.DLL is part of the Exchange transport service and provides the services required for accessing public folders and the private folders of your mailbox. EMSMDB32.DLL is also involved if you are working with an offline folder store. When you are working with a personal folder store, on the other hand, you are using the provider that is implemented in MSPST32.DLL.

Transport Providers

A message transport provider is responsible for physical message delivery. This service takes outgoing messages from the MAPI subsystem and transfers them to the underlying messaging backbone to which it corresponds. The message transport provider also hands received messages over to the MAPI subsystem for delivery to the client. Within the Exchange transport service, EMSMDB32.DLL is responsible for message delivery to the Information Store service. Outlook 2000 allows you to install additional transports, including the Internet, fax, Lotus cc:Mail, and the MS Mail transport. Other providers for additional messaging systems such as Lotus Notes are also available and are provided by independent software vendors.



MCSE Training Kit Exam 70-224(c) Microsoft Exchange 2000 Server Implementation and Administration
MCSE Training Kit Exam 70-224(c) Microsoft Exchange 2000 Server Implementation and Administration
ISBN: N/A
EAN: N/A
Year: 2001
Pages: 186

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