So in all my years at Microsoft, as email has become more and more important in peoples live, the Messaging product groups over the years have also tried to keep on top of things by developing programming interfaces to help application developers give more functionality within their processes and applications. Did you know that in the last 20 years, Microsoft have come out with about 42 different sets of API to service the developer community!!

 

Lets take a step back and remember what's been around, what's gonna get shelved as well as whats coming!

1992 MS Mail 3.0
    Simple MAPI 1.0
   
1995 Windows 95
    ***Extended Mapi
   
1996 Exchange 4.0
    Directory API
    EFD - Electronic Forms Designe
    **EDK - Exchange Developer Kit Gateway API
    OLE Messaging 1.0a
    CMC - Common Messaging Calls
   
1997 Exchange 5.0
    Active Messaging 1.1
  Exchange 5.5
    CDO - Collborative Data Objects 1.2
    CDOHTML - CDO Rendering Library
    ***Event Service Agents
  NT Option Pack 4.0
    CDONTS - CDO for Windows NT
   
1998 Exchange 5.5 sp1
    ***CDO 1.2.1
    **Routing Objects
    HTML Forms Converter
   
2000 Exchange 5.5 sp3
    Virus Scanning API 1.0
  Exchange 2000
    *ESEdbcli2 - Backup and Restor API
    *CDOEx - CDO for Exchange 2000
    ***CDO for Workflow
    ***Exchange Installable File System
    ***ExOLEDB - Exchange OLEDV Provider
    ***WSS Forms + Frontapge Extensions
    ***OWA URL Commands
    *Queue Viewer API
    ***Store Events
    ***WebDAV
    *WMI Classes for Exchange Management
    ***Workflow Designer for Exchange 2000
  Windows 2000
    **CDOSYS - CDO for Windows 2000
    **SMTP Transport Events
   
2001 Exchange 2000 sp1
    Virus Scanning API 2.0
   
2003 Exchange 2003
    Virus Scanning API 2.5
   
2006 Exchange 2007
    Exchange Management API - Monad
    Agent/Transport API
    Web Services for Exchange/ASP.NET
   


* Replaced by New Management API
These will be Exchange management tasks written as Exchange 12 Monad cmdlets

** Replaced by E12 Agent/Transport API
This will be a new Managed Code SMTP stack which will allow for clear disctinction between SMTP protocol events and mail routing events.
SMTP events (onHeloCommand, OnEndOfHeaders, OnDisconnect)
Mail routing events (OnSubmittedMessage, onRoutedMessage)

*** Replaced by Web Services for Exchange/ASP.NET
Good Visual Studio.Net integration, replaces many commands fropm webdav, cdo and OWA
 

Exchange will use the same apis that are exposed to development and all api's will be unified into:
- mail transport
- pim data storage
- exchange managent - monad

The Developer impact on this means that everything is rewritten in managed code with great VS.NEt integration. The next generation will be drastic and we'll be cutting a lot of those 42 apis in future versions so there may be breaking changes possible within the next 5 years, older apis may/will not be supported.