[openmapi.org devel] Understanding OpenMAPI architecture and rationales

Johannes Roith johannes at jroith.de
Wed Mar 11 10:53:11 CET 2009


Hello, Florian!

2009/3/2 Florian von Kurnatowski <florian at scalix.com>:
> I would, however, like to better understand the role of the MAPI Proxy
> component within the architecture, in particular why there is a specific
> protocol defined for proxy access. There are already a number of approaches
> out there that layer MAPI-type services on top of various network
> architectures, a prominent one obviously being Microsoft's WebDAV entry
> point into Exchange. I understand that there are various areas where a

Right. While there are several protocols built on top of MAPI there is
not one (open) one that is actually capable of implementing the MAPI
API efficiently. Furthermore the protocol we are using is based on
ONC-RPC/XDR, which is an open standard, defined in some RFCs. It is
also very small and efficient, by the way and works well on mobile
platforms.


> dedicated proxy server component may provide additional benefits (probably
> with regards to notification), etc, yet I am still wondering if the "cost"
> of having an extra component in the code path (debugging, performance,
> latency, maintenance, complexity of architecture, etc.) isn't too high to

Actually the cost is reduced significantly. The proxy already works
and has debugging features built in. Backends only need to implement
the NMapi interface which is much easier, obviously, than implementing
a network protocol in addition to the API. The proxy/NMapi will also
be able to provide caching, performance improvements, etc.

You are also free to implement the protocol used by the proxy, of
course, but it's not required.

> Furthermore, as we'd like to fully understand the architecture and benefits
> of the NMAPI proxy, where can we currently find/acquire the source code of
> this component?

The proxy is part of the nmapi module.

Johannes.


More information about the Devel mailing list