Exchange and Active Directory - Are We Related?

Aug 7 2008 by Michael B. Smith, MCSE/Exchange MVP
google ad 120x240 white banner - Exchange pages

Long long ago at Microsoft there was a project known as LanMan 3.0. One of the first things a new guy named Jim Allchin did when he joined Microsoft was to cancel LanMan 3.0. Before joining Microsoft, Mr. Allchin was responsible for the development of a directory service known as Banyan Vines. In 1991, when all this was occurring, there were three network operating system contenders: Novell, Banyan, and Windows NT.

A couple of things survived from the LanMan 3.0 project - a small directory service and an X.400 MTA. These two items were picked up by the email group at Microsoft and ported to Windows NT. The LanMan 3.0 project was (in these almost pre-historic days!) being based on OS/2. The email group took this opportunity to use a new database called JET as the basis for the directory service.

JET was brand new in 1990. JET stood for Joint Engine Technology and referred to a project - code-named Cirrus - designed to produce a robust database engine. JET produced two separate products: Jet v1 (called JET RED - for the color of the flag of Russia) and Jet v2 (called JET BLUE - for the color of the flag of Israel). Jet Red and Blue had a completely common API, but they shared no code at all.

Jet Red went on to become the backend for the product we know as Microsoft Access.
Jet Blue is now known as ESE - the Extensible Storage Engine.

Next after basing the directory service on Jet Blue, the email group decided to continue with open standards, and built a communications protocol based on the X/Open XDS API - this is what became the basis for all Exchange communications - RPC.

Microsoft acquired an email system that used MAPI called Network Courier. MAPI stands for the Messaging Application Programming Interface - that is, it is a way for a program to manipulate messages. Microsoft used this early version of the MAPI protocol (which is now known as Simple MAPI), on top of RPC and merged it with the directory service and the X.400 MTA. This product, after lots of performance work and redesign, became Exchange 4.0.

There were also other familiar features present in Exchange 4.0: the KCC for Knowledge Consistency Checker, the ISTG for Inter-site Topology Generator, a modifiable schema, etc. All of these represent the beginnings of what became Active Directory.

When Exchange 4.0 shipped, there was very little of the original code left. After Exchange 4.0, the email team continued to develop the directory service and added LDAP v2 and the X.500 directory interface and the Internet Mail Connector. This product shipped as Exchange 5.0 and with the inclusion of LDAP v3, became Exchange 5.5. (Note that there were lots of other feature and changes involved too!)

In 1995, Cairo (which was the project that replaced LanMan 3.0) was cancelled. This left the operating system group at Microsoft in need of a directory service for the “next big operating system” (Windows 2000) and they didn’t have one. So, the code for the directory service from Exchange was “forked”. That is, a copy was made, moved over to the operating system group along with some of the personnel, and began life anew.

The rest is pretty much history. Exchange’s original directory grew up to be Active Directory as we know and love it. Starting with Exchange 2000, Exchange divorced itself from the old original directory and merged back into its descendant named Active Directory. They both still extensively use JET v2 - Jet Blue - also known as ESE.

Links

 

More Information