Applies to: Exchange Server 2007 SP3, Exchange Server
2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
Topic Last Modified: 2006-09-13
This topic describes the functionality that is available for developing custom applications and extensions for Microsoft Exchange Server 2007. For more information about Exchange 2007 development functionality, see the Microsoft Exchange Server 2007 Software Development Kit.
Developing with the Exchange Management Shell
The Exchange Management Shell is a command-line management interface that can be used for server administration in an Exchange 2007 organization. The Exchange Management Shell provides interfaces and objects that are used to develop applications that manage Exchange. For more information about the Exchange Management Shell, see the Microsoft Exchange Server 2007 SDK.
Developing with Transport Agents
The new Transport APIs in Exchange 2007 enable software developers to create Transport Agents. Transport Agents can be installed and enabled on computers that are running Exchange 2007 that have the Edge Transport or Hub Transport roles installed. Transport Agents have access to e-mail messages and their contents when the messages move through the transport services. For more information about Transport Agents, see the Microsoft Exchange Server 2007 SDK.
Developing with Exchange Web Services
Exchange Web Services is a programmable interface that enterprise and independent software developers can use to provide client access to Exchange store data and information management functions. Exchange Web Services handles Simple Object Access Protocol (SOAP) messages sent over HTTP. By using Exchange Web Services, you can improve the efficiency of administrators and information workers in your organization.
Exchange Web Services improves programmable access to core business data and functions. By using industry-standard technology, Exchange Web Services provides heterogeneous servers and clients access to the same business-critical data. Exchange Web Services includes the following Web services:
- Autodiscover Provides configuration
information for setting up client applications that connect to
- Availability Provides free/busy data
about a user's mailbox. The free/busy data is also used to identify
suggested meeting times and provides client Out of Office (OOF)
- Messaging Records Management
Enables the assignment of Managed E-Mail
folders to mailbox users.
- Notification Notifies the client
application of events that are associated with a mailbox. The
subscription model can be either push- or pull-based.
- Synchronization Provides a one-way
synchronized cached copy of a user's folders and items.
- Exchange Data Service Provides the
- Functions to create, update, delete, copy, find, get, and move
folders that are associated with a mailbox user, and also the
ability to find items that are contained in a folder.
- Access to the Exchange data store. A client application can
create, update, delete, copy, get, move, and send items by using
the Exchange Data Service Web service.
- Ambiguous name resolution.
- The ability to return the members of distribution list.
- Access to attachments in the Exchange store.
- Functions to create, update, delete, copy, find, get, and move folders that are associated with a mailbox user, and also the ability to find items that are contained in a folder.
For more information about Exchange Web Services, see the Microsoft Exchange Server 2007 SDK.
Developing with the Exchange .NET Framework Extensions
The Exchange .NET Framework Extensions provide useful classes and data structures that enable you to access and manipulate the various parts of e-mail messages. The Exchange .NET Framework Extensions includes the following namespaces:
- Microsoft.Exchange.Data.Mime Enables
stream-based and DOM-based access to Multipurpose Internet Mail
Extensions (MIME) data, including the ability to filter MIME
classes and data structures that enable custom filtering of e-mail
body content and conversion between several different formats,
including HTML, RTF, and plain text.
- Microsoft.Exchange.Data.iCalendar and
Microsoft.Exchange.Data.Tnef Provide classes
and data structures that let you read and write calendar items for
appointments, meetings, and events.
classes and data structures that let you easily convert the
encoding of an e-mail message.
For more information about the Exchange .Net Framework Extensions, see the Microsoft Exchange Server 2007 SDK.
Developing with Exchange Server 2003 Legacy Technologies
The following development technologies have been replaced at least in part by development technologies provided by Exchange 2007:
- Collaboration Data Objects for Exchange 2000 Server (CDOEX)
- Collaboration Data Objects for Exchange Management (CDOEXM)
- CDO for Workflow (CDOWF)
- Exchange OLE DB (ExOLEDB) provider
- Web Distributed Authoring and Versioning (WebDAV)
- Exchange store event sinks
For more information about Exchange legacy development technologies, see the Microsoft Exchange Server 2007 SDK.
CDOEX is used to develop messaging applications. CDOEX is used in applications that use messaging to send and process the following:
- Calendar and contact information
- Access to mailboxes and public folders
|CDOEX can only be run on a computer on which Microsoft Exchange is installed.|
CDOEX is de-emphasized in Exchange 2007. We recommend you develop new messaging applications using the Exchange Web Services, and migrate existing applications whenever feasible.
CDOEXM is used to develop applications that manage the Exchange store. CDOEXM is not available in Exchange 2007 and has been replaced by the Exchange Management Shell.
CDOWF is used to develop applications that create and manage workflows by using the Exchange store. CDOWF is not available in Exchange 2007 and has been replaced by Windows Workflow Foundation.
MAPI is used to develop applications that access items and folders within public and private stores. MAPI is de-emphasized in Exchange 2007. New applications should use Exchange Web Services, and developers should migrate applications to Exchange Web Services whenever feasible.
The ExOLEDB provider is used to develop messaging applications. The ExOLEDB provider is used by programmers to access the Exchange store by using OLE DB and ActiveX Data Objects (ADO). Items in the store are accessed by using Structured Query Language (SQL) queries.
|ExOLEDB cannot be used remotely.|
ExOLEDB is de-emphasized in Exchange 2007. We recommend that you develop new messaging applications using Exchange Web Services, and migrate existing applications when feasible.
WebDAV is used to develop messaging applications. WebDAV provides access to folders, items, and item properties in the Exchange store. WebDAV can remotely access Exchange. WebDAV is de-emphasized in Exchange 2007. We recommend that you develop new messaging applications using Exchange Web Services, and migrate existing applications when feasible.
Exchange Store Event Sinks
Exchange store event sinks are used to build procedures that react to events in the Exchange store. The Notification Web service provides an alternative to this technology.
SMTP and NNTP Protocol Event Sinks
Microsoft Exchange Server 2007 includes a completely new SMTP protocol and transport stack, and does not include any NNTP service. Installing Microsoft Exchange Server 2007 replaces the Windows SMTP and NNTP services. Therefore, the SMTP and NNTP protocol event sinks are no longer available using the CDOEX API.