In Exchange 12 (“E12”), we have focused our public API story on:
- Web Services for accessing information stored on the server
- Managed Agents for processing mail flowing through the server
- Windows Scripting Shell (Monad) “cmdlets” for managing the server itself
The Sep 15 PDC presentation, Future Directions - Building Custom Applications for Exchange 12 APIs, provides a great overview of these great new developer interfaces. Our new Web Services will offer remotely-accessible Outlook-compatible business logic for all PIM types. Our new Managed Agent APIs for processing mail flow provide full access to either the raw MIME or message parts Outlook renders. Our new Monad scripting experience delivers the power and ease-of-use that our customers deserve. All of these new API’s have been designed with Visual Studio development in mind.
We use these API’s ourselves to build layers of the E12 product (i.e. Outlook “12” calls the Web Services, E12 anti-spam is completely implemented as Managed Agents, and our new admin GUI is entirely coded to the new cmdlets). This first-hand experience with the new API’s gives me confidence that you’ll find it much easier when you write applications which interface with E12.
The introduction of the new web services has freed us to “de-emphasize” three of the APIs introduced in previous generations of Exchange. These de-emphasized API’s will be fully supported in E12 (i.e. existing applications will work unchanged), and will be supported for 10 years after E12 releases, based on our standard Microsoft Support Lifecycle. These APIs may not be in future releases of Exchange beyond E12. All new applications should be written using the new Exchange Web Services. The 3 “de-emphasized” APIs are:
The architectural improvements in E12 mean that some APIs can no longer be supported at all. Applications that use these APIs will not function correctly against E12:
API |
Will need to be replaced by |
ExWin32 (aka M: or IFS) |
Web Services |
Managed Agents | |
Managed Agents | |
Monad “cmdlets” | |
Monad “cmdlets” | |
Windows Workflow Foundation | |
ASP.net |
For each of the transitions, we plan to provide great guidance and samples within the E12 SDK. I look forward to your feedback on these new APIs, and our SDK support for the transition.
Thanks,
Terry Myerson
General Manager, Exchange Server