Presentation is loading. Please wait.

Presentation is loading. Please wait.

Exchange Deployment Planning Services Exchange 2010 Developer Platform.

Similar presentations


Presentation on theme: "Exchange Deployment Planning Services Exchange 2010 Developer Platform."— Presentation transcript:

1 Exchange Deployment Planning Services Exchange 2010 Developer Platform

2 Agenda Exchange as a platform Exchange Web Services Exchange PowerShell Exchange Transport APIs API changes in Exchange 2010 Resources

3 Exchange API Evolution 199219951996199720002001200320061998 MS Mail 3.0 Simple MAPI 1.0 Windows 95 Extended MAPI Exchange 4.0 Directory API Electronic Forms Designer Exchange Developer Kit Gateway API OLE Messaging 1.0a (a.k.a. CDO 1.0a) Common Messaging Calls 1.0 Exchange 5.0 Active Messaging 1.1 (a.k.a. CDO 1.1) Exchange 5.5 Collaborative Data Objects 1.2 CDO Rendering Library (CDOHTML) Event Service Agents NT Option Pack 4.0 CDO for Windows NT (CDONTS) Exchange 5.5 SP1 CDO 1.2.1 Routing Objects HTML Forms Converter Exchange 5.5 SP3 Virus Scanning API 1.0 Exchange 2000 Server Backup and Restore API (a.k.a. ESEdbcli2) CDO for Exchange 2000 Server (CDOEx) CDO for Exchange Management (CDOExM) CDO for Workflow Exchange Installable File System Exchange OLEDB provider (ExOLEDB) WSS Forms + FrontPage Extensions OWA URL commands Queue Viewer API Store Events WebDAV WMI classes for Exchange management Workflow Designer for Exchange 2000 Server Windows 2000 CDO for Windows 2000 (CDOSYS) SMTP Transport Events Exchange 2000 Server SP1 Virus Scanning API 2.0 Exchange Server 2003 Virus Scanning API 2.5 2009 Exchange 2007 Exchange Web Services PowerShell Transport APIs Exchange 2010 Exchange Web Services Managed API 1.0 Remote PowerShell

4 The Exchange 2010 Platform Content, Management, Control API for interacting with Mailbox Content Email, Calendaring, Tasks, Contacts Mailbox Autodiscovery Authentication and Login Delegation and Impersonation Change Notifications User and Application Settings Configuration Exchange Web Services APIs API for Exchange Management Mailbox creation Server Configuration Resource Management PowerShell APIs API for controlling the flow of content Access to message properties and content in transport Transport APIs

5 Exchange Web Services Rich Experience −Enables full client functionality −Application logic consistent with Outlook Easy to Use −.NET-based EWS Managed API 1.0 −Full Visual Studio support Online-Ready −Single API for Server and Online 5 The power of Web Services and.NET NEW For more information: http://msdn.microsoft.com/Exchange http://msdn.microsoft.com/Exchange

6 EWS Functionality Enhancements Exposing the full power of Exchange through the APIs Exchange Server 2007 Full access to items, folders and attachments: Create Get Update Delete Availability OOF settings Notifications Synchronization Name Resolution Distribution Lists Expansion Search Exchange Server 2007 Full access to items, folders and attachments: Create Get Update Delete Availability OOF settings Notifications Synchronization Name Resolution Distribution Lists Expansion Search Delegate management Folder permissions Public folders Post items ID conversion Delegate management Folder permissions Public folders Post items ID conversion Exchange 2010 Exchange Web Services API MailTips information Full Private Distribution List support Get Service Configuration User Configuration Objects FAIs Unified Messaging (exposed through the EWS endpoint) SOAP-based AutoDiscover Message tracking Windows Live ID integration Contact and Calendar folder sharing Enhanced Time Zone support Room resource availability information Indexed Search Dumpster Access MailTips information Full Private Distribution List support Get Service Configuration User Configuration Objects FAIs Unified Messaging (exposed through the EWS endpoint) SOAP-based AutoDiscover Message tracking Windows Live ID integration Contact and Calendar folder sharing Enhanced Time Zone support Room resource availability information Indexed Search Dumpster Access Exchange Web Services Managed API 1.0 Exchange Server 2007 SP1 Exchange 2010 NEW

7 EWS Functionality Enhancements Exposing the full power of Exchange through the APIs Exchange Server 2007 Full access to items, folders and attachments: Create Get Update Delete Availability OOF settings Notifications Synchronization Name Resolution Distribution Lists Expansion Search Exchange Server 2007 Full access to items, folders and attachments: Create Get Update Delete Availability OOF settings Notifications Synchronization Name Resolution Distribution Lists Expansion Search Delegate management Folder permissions Public folders Post items ID conversion Delegate management Folder permissions Public folders Post items ID conversion Exchange 2010 Exchange Web Services API MailTips information Full Private Distribution List support Get Service Configuration User Configuration Objects FAIs Unified Messaging (exposed through the EWS endpoint) SOAP-based AutoDiscover Message tracking Windows Live ID integration Contact and Calendar Folder sharing Enhanced Time Zone support Room resource Availability information Indexed Search Programmatic access to Dumpster MailTips information Full Private Distribution List support Get Service Configuration User Configuration Objects FAIs Unified Messaging (exposed through the EWS endpoint) SOAP-based AutoDiscover Message tracking Windows Live ID integration Contact and Calendar Folder sharing Enhanced Time Zone support Room resource Availability information Indexed Search Programmatic access to Dumpster Exchange Web Services Managed API 1.1 Exchange Server 2007 SP1 Exchange 2010 SP1 Exchange 2010 Create, retrieve, and modify Inbox Rules Programmatic access to Archive Mailbox Firewall traversing Notifications Improved Administration features Improved Mixed Version support Throttling Protection Support Control Application access to EWS Client Certificate Authentication support Create, retrieve, and modify Inbox Rules Programmatic access to Archive Mailbox Firewall traversing Notifications Improved Administration features Improved Mixed Version support Throttling Protection Support Control Application access to EWS Client Certificate Authentication support NEW

8 EWS 2010 Application Functionality Tasks Create/Delete/Update Tasks Search for Tasks Contacts Create/Update/Delete Contacts Set picture Set all properties like e-mail addresses, phone numbers, location Create Contact Groups E-mail Send/Retrieve/Forward/Reply Mail Retrieve MIME Content Search/Delete/Move/Copy Mail Folder Move/Copy/Create/Permissions Setting Auto-Response Message Calendar Create/Modify/Retrieve Appointments Retrieve Availability Information Suggest Best Appointment Time Time Zone Service Retrieve Available Rooms

9 Client Applications Like: Email Clients Outlook Entourage Free/Busy Microsoft Office Communicator Service Applications Like: Synchronization CRM Contact Synchronization Notifications Auto-Scheduler Applications Mailer Applications Sample Application Models Using EWS Portal Applications Like: Web Parts Shared Calendar Views 5 Most Recent E-mails PIM Systems Course Management Room Availability

10 Client Applications Entourage 2008

11 Portal Applications Conference Room Booking Application

12 Service Applications Conference Room Appointment Display

13 GetFolderType request = new GetFolderType(); request.FolderShape = new FolderResponseShapeType(); request.FolderShape.BaseShape = DefaultShapeNamesType.AllProperties; DistinguishedFolderIdType inboxId = new DistinguishedFolderIdType(); inboxId.Id = DistinguishedFolderIdNameType.inbox; request.FolderIds = new BaseFolderIdType[] { inboxId }; GetFolderResponseType response = serviceBinding.GetFolder(request); FolderInfoResponseMessageType responseMessage = response.ResponseMessages.Items[0] as FolderInfoResponseMessageType; if (responseMessage.ResponseClass == ResponseClassType.Success) { FolderType inbox = responseMessage.Folders[0] as FolderType; } <m:GetFolderResponseMessage ResponseClass="Success"> NoError IPF.Note Inbox... AllProperties Folder inbox = Folder.Bind(service, WellKnownFolderName.Inbox); Easy: EWS Managed API Simplifies Coding Coding in the various EWS APIs paradigms available Raw XML Cross-platform No client-side logic Manual plumbing Cross-platform No client-side logic Manual plumbing Auto-generated proxies Multiple platforms Class-based access No client-side logic Multiple platforms Class-based access No client-side logic EWS Managed API Windows only (.NET 3.5) Fully Object Oriented Smart client-side logic Windows only (.NET 3.5) Fully Object Oriented Smart client-side logic Increased Productivity “After working with Exchange for about 10 years I can say that this is by far the most intuitive and easy to use API ever and developers who never worked with Exchange before have little trouble using it. “ – Denis Khodak - Morgan Stanley

14 Sending An Email ExchangeService service = new ExchangeService(); service.AutodiscoverUrl(“bobk@contoso.com"); EmailMessage message = new EmailMessage(service); message.Subject = "Email Subject"; message.Body = "The is the email body"; message.ToRecipients.Add("user1@litwareinc.com"); message.ToRecipients.Add("user2@litwareinc.com"); message.SendAndSaveCopy(WellKnownFolderName.SentItems); Code sample with the Exchange Web Services Managed API 1.0

15 Moving Exchange into the Cloud Roadmap for Exchange Cloud Development Hybrid S+S Software Exchange in the cloud (Exchange Online)Exchange in the cloud (Exchange Online) Applications on PremiseApplications on Premise Hybrid S+S Software Exchange in the cloud (Exchange Online)Exchange in the cloud (Exchange Online) Applications on PremiseApplications on Premise Pure Cloud Development Exchange in the Cloud (Exchange Online)Exchange in the Cloud (Exchange Online) Applications in the Cloud (Azure)Applications in the Cloud (Azure) Pure Cloud Development Exchange in the Cloud (Exchange Online)Exchange in the Cloud (Exchange Online) Applications in the Cloud (Azure)Applications in the Cloud (Azure) Traditional Development Exchange on PremiseExchange on Premise Applications on PremiseApplications on Premise Traditional Development Exchange on PremiseExchange on Premise Applications on PremiseApplications on Premise Exchange 2007 SP1 Exchange 2010 Exchange 2010+

16 PowerShell in Exchange Exchange server configuration User administration −User/resource management −Mailbox creation/modification Distribution list creation/modification Public folder creation/modification For Exchange administrative tasks

17 PowerShell with.NET Improved Runspace APIs −New PowerShell class simplifies invocation of cmdlets Unleashes Exchange management from within compiled code −PowerShell.Create(“get-process”).Invoke(); NEW

18 Invoking Exchange cmdlets from C# Code Sample SCredential credential = new PSCredential(username, password); // Set the connection Info WSManConnectionInfo connectionInfo = new WSManConnectionInfo( new Uri(liveIdconnectionUri), http://schemas.microsoft.com/powershell/Microsoft.Exchange, credential); connectionInfo.AuthenticationMechanism = AuthenticationMechanism.Basic; // create a runspace on a remote path; the returned instance must be of type RemoteRunspace Runspace runspace = System.Management.Automation.Runspaces.RunspaceFactory.CreateRunspace(connectionInfo); // open the runspace runspace.Open(); // Set the runspace as a local variable on the runspace PowerShell powershell = PowerShell.Create(); // create the command command = new PSCommand(); command.AddCommand("Get-Mailbox"); command.AddParameter("Identity", mailboxname); powershell.Command = command; try { // open the remote runspace runspace.Open(); // associate the runspace with powershell powershell.Runspace = runspace; // invoke the powershell to obtain the results return powershell.Invoke(); } finally { // dispose the runspace and enable garbage collection runspace.Dispose(); runspace = null; // finally dispose the powershell and set all variables to null to free up any resources. powershell.Dispose(); powershell = null; }

19 PowerShell Remoting Allows cmdlets to be run from remote machines without Exchange administration tools installed −Only requires PowerShell v2 installed locally Access to Exchange administration from the internet when published though the firewall Solves cross-forest management issues Utilizes RBAC model NEW

20 What are Transport Agents and APIs? Allow access to e-mail messages and their contents while the messages transverse the transport servers −Change message properties and content during transport Transport agents are installed on Edge and Hub transport server roles Agents handle transport events and extend behavior

21 Transport API Events Manipulate messages at many different levels of transport −SmtpReceiveAgent −RoutingAgent −DeliveryAgent −StoreDriverAgent Use transport agents to implement functionality that is not covered/available with transport rules Replacement for much of store event sink functionality NEW

22 Editing Email Subject namespace MyAgents { public sealed class MyAgentFactory : SmtpReceiveAgentFactory { public override SmtpReceiveAgent CreateAgent(SmtpServer server) { return new MyAgent(); } public class MyAgent : SmtpReceiveAgent { public MyAgent() { this.OnEndOfData += new EndOfDataEventHandler(MyEndOfDataHandler); } private void MyEndOfDataHandler(ReceiveMessageEventSource source, EndOfDataEventArgs e) { // The following line appends text to the subject of the message that caused the event. e.MailItem.Message.Subject += " - this text appended by MyAgent"; } Code Sample with SmtpReceiveAgent

23 Exchange Server 2010 API Changes API Deprecation Roadmap Exchange Server 2007Exchange 2010Exchange Server 2007Exchange 2010 Transport Server Agents Transport APIs ClientClient Exchange MAPI Client Outlook MAPI Outlook Obj. Model NET.Mail Mailbox Server MAPI WebDav ExOLE DB CDOEx (3.0) Store Events Virus Scan API VSS Client Access Server Exchange Web Services Transport Server Agents Transport APIs ClientClient CDO 1.2.1 Outlook MAPI Outlook Obj. Model NET.Mail Mailbox Server Virus Scan API VSS Client Access Server Exchange Web Services MAPI EWS Managed API Deprecated Deemphasized Roadmap Non- Exchange API EWS Managed API CDO 1.2.1 Exchange MAPI Client

24 Legacy API Overview Fragmented experience Local Access Intranet Access Internet Access Outlook User Experience CDO 3.0 for Exchange CDO 1.2.1 Build-your-own User Experience ExOleDBMAPIExchange WebDAV

25 EWS: Comparing against Legacy APIs EWS is the one API to support all application models ExOleDB CDO 3.0 for Exchange CDO 1.2.1 Exchange MAPI Client Exchange WebDAV Exchange Web Services EWS Managed API 1.0 Supports User Experience Consistent with Outlook √√√√ Supports to Build your own Client User Experience √√√√√ Supports Local Access √√√ Supports Intranet Access √√√√ Supports Internet Access √√√ Supports New Exchange Server 2007 and Exchange 2010 functionality √√ Mainstream Support Available √√ Works on Exchange Server 2003 √√√√√ Works on Exchange 2007 SP1 √√√√√√√ Works on Exchange 2010 √√√√

26 Exchange 2010 API Changes Exchange Server 2003 client APIs are in to extended support −Collaboration Data Objects 1.2.1 −Microsoft Exchange Server MAPI Client Both can be replaced by Exchange Web Services Deprecated APIs and alternatives APIFunctionalityReplacement CDOEXMailbox AccessEWS Exchange WebDAVRemote Mailbox AccessEWS ExOleDB (ADO provider)Mailbox AccessEWS OWA URL CommandsFree/Busy and Name Resolution EWS Store EventsAsynchronous and Synchronous Events Transport Delivery Events/ EWS

27 Extended Support Policy Exchange MAPI client and CDO 1.2.1 are in Extended Support Exchange MAPI client+CDO remain available for download for Exchange 2010 Using the Exchange MAPI Client and CDO package against Exchange 2010 is supported Download Center is updated to reflect end-of-life status During the Extended Support phase for Exchange Server, Microsoft provides: Paid support only Non-security related hotfix support requires a separate Extended Hotfix Support Agreement to be purchased (per-fix fees also apply) −A hotfix can not be redistributed Critical and Important Security update support at no additional cost Please note: Microsoft will not accept requests for warranty support, DCRs, or new features during the Extended Support phase −This could include Daylight Saving Time updates Exchange MAPI Client and CDO 1.2.1 in Exchange 2010

28 End of Exchange 2010 Developer Platform Module

29 For More Information Exchange Server Tech Center http://technet.microsoft.com/en-us/exchange/default.aspx http://technet.microsoft.com/en-us/exchange/default.aspx Planning services http://technet.microsoft.com/en-us/library/cc261834.aspx http://technet.microsoft.com/en-us/library/cc261834.aspx Microsoft IT Showcase Webcasts http://www.microsoft.com/howmicrosoftdoesitwebcasts http://www.microsoft.com/howmicrosoftdoesitwebcasts Microsoft TechNet http://www.microsoft.com/technet/itshowcase http://www.microsoft.com/technet/itshowcase

30 © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "Exchange Deployment Planning Services Exchange 2010 Developer Platform."

Similar presentations


Ads by Google