Rough Road

Connecting to Exchange is a very challenging problem to solve. There are many different technologies, each with very different characteristics.

Moonrug addresses these issues with a best-of-breed solution that is flexible, powerful and very easy to use. With Moonrug you get:

  • Capable of performing every workflow.
  • Every version of Exchange is supported, from 2000 to 2010.
  • MAPI will not be discontinued for a long time.
  • Cross platform, 100% Pure Java.
  • High performance, multi-threaded API.
  • Minimizes load on your Exchange server.
  • Maximizes investment in current Exchange deployments.

Moonrug achieves all these benefits by writing to the MAPI protocol directly. This gives us the most complete functional coverage for any application's needs.


MAPI is a collection of C++ interfaces that can communicate with Microsoft® Exchange, though it has been multi-purposed to use with PST and 3rd party add-ins. MAPI is considered to be a very "raw" implementation. There are no business objects available, and items retrieved with MAPI are generic and have no context. This sacrifice of logic means it is very fast.

To use MAPI with Exchange, you MUST write C++ code to use the Windows-only DLLs. This will tie your application to Windows only, or force you to write an integration layer. If you must use MAPI, this is likely the basis of your solution.

The installable implementation of MAPI for Microsoft® Exchange is very highly thread sensitive. It can be very frustrating to see your application grind to a halt because of thread mis-timings.


Exchange Web Services is a technology introduced with Exchange 2007. It has been continued development for Exchange 2010. The underlying technology uses stateless SOAP requests to retrieve items and perform mailbox operations.

EWS represents the latest technology to access your mailbox. An increasing number of features continues to be added to it, and will eventually act as a replacement for a great number of MAPI functionality.

EWS is supported in Moonrug versions 1.2 and higher. This work means we plan to be here for all your Exchange needs.


WebDAV is a technology that allows access to mailboxes. It was introduced with Exchange 2000 and 2003. A lot of OWA functionality for those versions is built around WebDAV. It follows a stateless connection model.

The nature of WebDAV puts more load to Exchange to function, as Exchange itself serves content. This is a disadvantage for organizations that do not want to expose their Exchange servers to HTTP traffic with IIS.

WebDAV support is being pulled in the next version of Exchange. See the Exchange Developer Roadmap. The two preferred methods of communication will be Client MAPI (Outlook) and Exchange Web Services.


CDO is an object library that is easier to use than MAPI. It is a COM compliant library that can be consumed with technology such as VB and ASP. CDO is also a Windows-only implementation.

CDO is very popular, but is difficult to setup for enterprise-wide use. Memory management, thread-synchronization, and object model limitations make it frustrating at best.


The combination of IMAP and SMTP is a standards-based mechanism for retrieving email. There are numerous IMAP clients available. The major disadvantage of this protocol with regard to Exchange is its limitation. You may only read mail messages, and functionality for Appointments, Tasks, and Contacts is not supported.

In our experience, IMAP access to Exchange can be very slow depending on your configuration.

Quick Links