Understanding and Replacing Microsoft Exchange

The hardest-to-replace Microsoft server software is the expensive, frustrating Exchange. Here's how IBM and Bynari sent it packing.

When you look at Exchange and study its components, you find they number only four. The first is an information store or message store. The store holds individual user messages and has an access control list (ACL) engine associated with them. Similar to RFC-compliant IMAP servers, namespace differs according to whether the stores belong to individual users or whether the folders are public. Microsoft uses an Access database for storing message stores. The limitation of Microsoft's Jet Engine technology and the Access MDB file prevents vertical scalability.

Secondly, Exchange has a directory. Microsoft structured their Exchange directory with object classes and attributes. The Exchange directory structure resembles the RFC-compliant LDAP protocol. However, Microsoft added Object Classes and changed the attribute names within those and other classes.

Next, Exchange has a mail transfer agent or MTA. Microsoft's MTA appears similar to the MTA used in an earlier product called Microsoft Mail 3.5. The Microsoft Mail MTA requires connectors or gateways, which rewrite their proprietary mail headers to those that comply with foreign systems, such as Lotus Notes, X-400 and RFC 822 internet mail standards. Unlike sendmail and similar internet MTAs, Exchange's MTA lacks configuration options.

Finally, Exchange has a component called a system attendant. The attendant handles every action taken within Exchange, from sending and receiving e-mail to filling requests for addresses from the Exchange directory. In many ways the system attendant resembles an attempt to provide interprocess communication (IPC), which Microsoft's operating systems lack.

Out-Scaling Microsoft Using Berkeley DB

Our Linux server-side solution included similar components to those found in Exchange. The first is the Cyrus IMAP message store. Cyrus stores hold individual user messages and have an ACL engine associated with them. Namespace differs according to whether the stores belong to individual users or whether the folders are public. Cyrus uses the Berkeley Database from Sleepycat Software. Where Microsoft's Jet Engine and Access database technology prevents scaling, Berkeley DB's high performance and scalability support thousands of simultaneous users working on databases as large as 256 terabytes.

Secondly, Linux has a directory. While Microsoft structured their Exchange directory to resemble the Lightweight Directory Access Protocol (LDAP), the Linux solution uses OpenLDAP software, an open-source implementation of LDAP. To accommodate Outlook clients, we added the Exchange object classes and their noncompliant attribute names. We indexed the Microsoft-based distinguished names and created a high-performance global address list.

Like Exchange, the Linux solution has an MTA that can be managed and configured internally and doesn't need external connectors. The University of Cambridge developed the Linux MTA we use, called Exim. Exim has numerous configuration options, including file lookups, local delivery and regular expression support. In the context of the Linux MTA, users provide regular expressions to filter content coming in and going out.

Replacing Exchange

In the “Exchange Replacement HOWTO”, Johnson and Mead leave the tasks of adding server-side messaging and the administrative console to the next generation of Linux developers. In this article, we explain how one could transform Exchange transports and message stores. We accomplish this in two steps. First, we capture Outlook messages and decode their TNEF objects. Secondly, we use the Exchange client extension architecture to add IMAP functionality to Outlook in its Corporate Workgroup mode.

These two steps can allow a programmer or a seasoned administrator to create an alternative service provider for Outlook and serve a number of conventional mail clients. Linux mail servers do not discriminate based on the platform one uses. One can use Netscape Mail, Outlook Express, Ximian Evolution, mutt or Pine, to mention a few of the available MUA.

Highly scalable Linux components, such as Cyrus IMAP, OpenLDAP and Exim, can replace dozens of Exchange servers on a single Intel platform. The layers of interfaces and outdated DCE components used by Exchange do not hinder Linux. With Linux on the zSeries mainframe, we can replace hundreds of Exchange servers.

If you're looking for a graphical administrative console, projects such as PHP Cyrus tools, cyrus_imap-sql, Webmin and Replex can make administration of the server a simple task.

In general, few people would consider replacing Exchange with Linux an easy task. In spite of that, our development team proved that it could be done. Hopefully, we have taken much of the mystery and intimidation out of the Exchange server.


email: adelste@netscape.net

Tom Adelstein works for Xandros, Inc. and heads up the company's server division in Dallas, Texas. His current interest lies in the field of web services and supporting Xandros Linux Desktop. Tom welcomes your comments at tadelstein@xandros.com.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.


Keylogger's picture

Key Logger keystroke recording software records keystrokes of every user activity performed on the computer in encrypted log files records all typed emails conversations, chat records, website visited, password and documents lists. It can record keystrokes, Clipboard monitoring, records voice chat conversations, captures screen snapshots visual surveillance, records passwords, records chat conversation, records application activity, Monitor all users’ accounts. Key logger will not appear on the desktop, add/remove Programs, control panel and even hidden in installation path folders. It cans easily records voice chat conversation. Secretly monitor users activity hidden utilities store messenger chat visited website URLs save word excel power point documents files folders.

Exchange is easy to replace

Digital Networking's picture

There isn't anything that exchange can do that open source components can't. I found an article which explains exactly how to replace exchange here http://digitalnetworking.biz/how-tos/how-to-replace-exchange-with-open-s...

good article,thn

greymarkus's picture

These two steps can allow a programmer or a seasoned administrator to create an alternative service provider for Outlook and serve a number of conventional mail clients. Linux mail servers do not discriminate based on the platform one uses. One can use Netscape Mail, Outlook Express, Ximian Evolution, mutt or Pine, to mention a few of the available MUA. celebrex 200 mg

Microsoft Outlook the most stable software????

Wong Seoul's picture

"Microsoft Outlook the most stable software"
I can not disagree more. I am not sure how much email you receive everyday.. My MS Outlook crashes all the time.. I lose my emails all of a sudden.. I do not also use MS Exchange and recommend it..


Just a comment

Jairo's picture

Funny how things are... I've been using Outlook for (at least) 10 years now. Without a single "hard crash" as you say, *never* lost any email, *never* had a reason to change. In the (few) times it began to crash from time to time, the reason always was some other software installation that turned it unstable. But it can happen with any other windows software.
In time: except for the extremely high cost, I use (also for several years now) and recommend MS Exchange Server. Having a good (and simple-tasks-based maintenance) you can run it for years with no complaints.

Zarafa full mapi implementation on Linux

Anonymous's picture

Take a look at the Exchange alternative Zarafa (www.zarafa.com). This product has a native MAPI implementation on your Linux server and even support for advanced Exchange features, like Freebusy times, Global Address Book and full TNEF support.

The best thing of the product is the AJAX based webaccess, which is completely in the Outlook "Look & Feel". See demo.zarafa.com.

Awesome work. Thanks for

Anonymous's picture

Awesome work. Thanks for saving the world. You're definitely earned your success and money.

I am a windows developer and

Anonymous's picture

I am a windows developer and worked primarily on windows. I still support linux and love it. I have just thrown windows out of my home computer (will love to do this at work when time comes). I am more than impressed by this effort. Keep up the good work.

Microsoft is doomed!

Anonymous's picture

I am so happy to see efforts like this. I wish for Microsoft to lose their stronghold in the marketplace as soon as possible because diversity in choice of Operating Systems means better security for everyone. Replacement of Microsoft's product lines, one by one, is a truly wonderful move in this direction.


I must admit to being more im

Outlook Express repair's picture

I must admit to being more impressed for it. I've even recommended it to all my friends.

what a waste of time... So

Anonymous's picture

what a waste of time... So have you kept up with Exchange 2007?

I thought not. This is a pointless excercise... How many programmer for how many
years will it take to keep up with Exchange? It would cost you a couple hundred grand
to keep up and you still couldnt handle it. Programmers arent cheap.

Exchange has competitors but they stink and exchange is cheap.

There's nothing "cheap"

Anonymous's picture

There's nothing "cheap" about Exchange!