MAPI

MAPI is a key industry-standard API because it lets Windows-based applications interact with many different messaging services by using a single interface. The MAPI architecture defines the way in which MAPI applications and messaging clients, such as the Microsoft Exchange client, interact with various messaging services such as Microsoft Mail; Microsoft Exchange Server; MSN, The Microsoft Network; CompuServe®; and the Internet. The MAPI architecture is shown in the following figure below:

The MAPI architecture

MAPI divides messaging applications into four components: MAPI applications and messaging clients, MAPI subsystem, MAPI service providers, and messaging services.

MAPI Applications and Messaging Clients

MAPI applications and messaging clients communicate with MAPI service providers through MAPI interfaces. MAPI client applications can be divided into three general categories, as follows:

MAPI Subsystem

MAPI applications and messaging clients communicate with service providers through the MAPI subsystem. The client interface interacts with the MAPI subsystem to access MAPI-compliant service providers. Through Microsoft's broad publication of its messaging APIs, and because of the robust messaging and groupware functionality defined therein, MAPI has become the de facto industry standard for messaging and groupware clients and providers.

The figure above illustrates how MAPI clients and applications span a broad range of messaging and groupware-based applications. As can be inferred from the figure, neither the client nor the service provider must be provided by Microsoft. Because MAPI is an openly defined and distributed standard, any third party can write its own MAPI-compliant client or service provider. The advantage in doing so is obvious. Just as applications that use the Windows printing subsystem do not have to have drivers for each printer on the market, so too can applications access the service provider functionality needed without having to have a specific interface for each provider.

Messaging applications that require messaging services can use any of four MAPI subsystem interfaces: sMAPI (Simple MAPI), common messaging calls (CMC), OLE Messaging (an OLE Automation interface to MAPI), or MAPI itself. Client requests for messaging services are processed by the MAPI subsystem either as function interface calls, as in the case of sMAPI or CMC, or as manipulations of MAPI objects, as in the case of OLE Messaging or MAPI itself, and passed on to the appropriate MAPI-compliant service provider. The MAPI service providers then perform the requested actions for the client and pass back action through the MAPI subsystem to the MAPI client.

Each MAPI subsystem interface has its uses. The sMAPI interface contains 12 Windows-based function calls that let messaging-enabled applications perform basic messaging tasks such as sending e-mail, resolving e-mail names, and so on. The CMC interface is an API layer defined by the X.400 API Association (XAPIA). (With Microsoft Mail 3.2, Microsoft was the first company to support and ship CMC.) This interface provides virtually identical function call interfaces as sMAPI, but has been designed to support cross-platform scenarios. OLE Messaging is an OLE Automation Idispatch interface (object oriented) to MAPI that will allow Visual Basic®, C, or C++ developers to leverage much of the messaging and groupware functionality inherent in MAPI. MAPI itself is an object-oriented C or C++ interface that allows MAPI objects such as messages, forms, and folders to be manipulated. It is designed to be used by more complex messaging-based and groupware applications, such as Microsoft Exchange public folder applications.

MAPI Service Providers

MAPI defines three types of service providers:

All service providers share a single Windows-based user interface. For example, the Microsoft Exchange client can receive messages from a fax, a bulletin board system, and an electronic mail system. Messages from all these systems, each with a different transport service provider, can arrive in the Microsoft Exchange universal inbox. Similarly, MAPI selects between message store and transport providers, as necessary, and merges the address books presented to it, so that the client application sees one combined address book interface.

Other vendors can add or replace messaging service providers to enable the Microsoft Exchange client to work with their mail systems, workflow systems, database storage systems, or directory services.

Messaging Services

Messaging services have evolved to encompass much more than just electronic mail. Today, messaging services include fax and voice support, Internet mail, rich information sharing applications such as Microsoft Exchange Server and network based information services such as MSN. Through MAPI, MAPI applications and messaging clients can take advantage of the growing number of these messaging services.

 


Zurück zum Glossar Roger Morgan / 1998 L.Änderung 01. January 2003