MAPI provides a comprehensive set of features that separate the programming interface used by the front-end messaging client applications from the programming interface used by the back-end service providers. MAPI thus removes any programming dependencies placed on the application by the messaging system. In the BackOffice family, MAPI provides the primary link to communication with Microsoft Exchange Server.
MAPI is a messaging architecture that enables multiple applications to seamlessly interact with multiple messaging systems across a variety of hardware platforms. The interfaces are used to create and access diverse messaging applications and messaging systems, offering a uniform yet separate environment for development and use and providing true independence for both.
In a BackOffice environment, MAPI client applications are divided into three categories:
MAPI supports these types of client applications by providing in its subsystem different levels of programming interfaces. Most client applications will use one of the following client APIs: Active Messaging Library, Active Messaging Rendering Library, Simple MAPI, or CMC MAPI. However, some clients can use more than one client API. These clients will use MAPI for some tasks and a simpler API for others. The MAPI architecture makes this fairly easy by providing several API functions for converting between the environments.
The Microsoft® Active Messaging Library exposes messaging objects for use by tools supporting Automation, such as those applications created in Microsoft® Visual Basic® and Visual C++®. The messaging library enables developers to quickly and easily add to a Visual Basic application the ability to send and receive mail messages and to interact with folders and address books. The developer can create programmable messaging objects, then use their properties and methods to meet the needs of an application. When messaging objects are combined with other programmable objects exposed by Microsoft® Access, Microsoft® Excel, and Microsoft® Word, the developer can build custom applications that, for example, would allow users to extract information from a database, copy it to a spreadsheet for analysis, and then create a report and mail the report to several users. With these powerful building blocks, the developer can create custom applications that cover entire line-of-business needs.
The Microsoft Active Messaging Rendering Library is associated with the Active Messaging Library, and the two are interdependent. Active Messaging Rendering entails displaying Active Messaging objects and collections over the World Wide Web.
Automation defines programmable objects that can be used to extend the capabilities of clients such as Microsoft Schedule+. The scheduling Automation interface enables the developer to create instances of programmable scheduling objects. After the new objects are created, they can be referenced with tools that support Automation, such as Visual Basic and Visual C++.
For more information about MAPI and Active Messaging, see the "Database and Messaging Services" section of the Microsoft Platform SDK. Information about the Schedule+ Automation interface can be found under "Microsoft Exchange Server" in the "Database and Messaging Services" section of the Platform SDK.