Cross-platform groupware opens up with Openmapi
Under the name Openmapi, German firms Wilken, VIPcom and Topalis are working with Dutch groupware provider Zarafa to develop a cross-platform, open source API that implements the functions of Microsoft's MAPI protocol.
MAPI is Microsoft's Windows API for accessing its email services. Microsoft didn't have a messaging system until the purchase of Consumers Software's Network Courier in 1991. This became the original Microsoft Mail program supplied with Windows 3 and Windows 95; its API was termed MAPI version 0. This evolved into Simple MAPI, a basic interface supported by Outlook Express and Windows Mail on more modern versions of Windows.
It has also been extended into the more sophisticated COM-based Extended MAPI, which has sometimes also been known as Exchange/RPC and Outlook-Exchange Transport Protocol. This is the basis of communications between Microsoft's Outlook client and Exchange server, which is what Openmapi intends to re-implement as open source.
This offers two interesting sets of possibilities – firstly, connecting open-source groupware clients such as Evolution to Microsoft Exchange servers on an equal basis to Microsoft clients, and equally, connecting Microsoft Outlook clients transparently to open source groupware servers. Currently, third-party clients can only perform basic polling email delivery using standard Internet protocols such as POP3 and IMAP, and only if the Exchange Server has been set up with the relevant additional modules. Similarly, Outlook has considerably less functionality when connected to an IMAP or POP3 server than when talking to Exchange.
Openmapi would enable Microsoft's push email delivery to non-Microsoft clients, along with server-based address books, distributed calendars and other advanced features of Exchange Server.
The libraries will be offered in C#, Java, PHP and Python under GNU LGPL 2.1. The developers are focussing most of their attention on the NMAPI library, a MAPI-compatible API written in C# for the .NET framework and Mono. NMAPI is planned to have an expandable backend architecture. The project is also working on a modular proxy server, which will facilitate functions such as load-balancing and logging. The proxy uses the XMPP protocol, as used in Jabber and Google Talk, which presents the interesting possibility of XMPP-compatible clients connecting to MAPI servers.
The project plans to provide these components soon at the portal website.