Jason Henderson Principal Program Manager Microsoft Corporation SESSION CODE: UNC310.

download Jason Henderson Principal Program Manager Microsoft Corporation SESSION CODE: UNC310.

If you can't read please download the document

description

3

Transcript of Jason Henderson Principal Program Manager Microsoft Corporation SESSION CODE: UNC310.

Jason Henderson Principal Program Manager Microsoft Corporation SESSION CODE: UNC310 3 4 Content, Management, Control API for interacting with Mailbox Content, 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 Rules Transport APIs 5 API Deprecation Roadmap Exchange Server 2007Exchange Server 2010 Transport Server Agents Transport APIs ClientClient Exchange MAPI Client Outlook MAPI Outlook Object Model System.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 NET.Mail Mailbox Server Virus Scan API VSS Client Access Server Exchange Web Services MAPI EWS Managed API Deprecated Deemphasized Roadmap Non- Exchange API CDO Exchange MAPI Client PowerShell Outlook Object Model Outlook MAPI 6 7 The power of Web Services and.NET NEW For more information: 8 9 Tasks Create/Delete/Update Tasks Search for Tasks Contacts Create/Update/Delete Contacts Set picture Set all properties likeaddresses, phone numbers, location Create Contact GroupsSend/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 Client Applications Like:Clients Outlook Entourage Apple Mail.app Free/Busy, Voic , Contacts Microsoft Office Communicator Service Applications Like: Synchronization Project Server 2010 CRM Contact Synchronization Notifications Auto-Scheduler Applications Room Availability 10 Portal Applications Like: Web Parts Shared Calendar Views 5 Most Recents PIM Systems Course Management 11 Exchange 2007 Full access to items, folders and attachments: Create Get Update Delete Availability Out of Office settings Notifications Synchronization Name Resolution Distribution Lists Expansion Search Exchange 2007 Full access to items, folders and attachments: Create Get Update Delete Availability Out of Office 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 Full Private Distribution List support User Configuration Objects Folder Associated Items Message tracking Unified Messaging SOAP AutoDiscover Enhanced Time Zone support Room resource Availability information Indexed Search Dumpster Access MailTips information Exchange Web Services Managed API 1.1 Exchange 2007 SP1 Exchange 2010 SP1 Exchange 2010 Create, retrieve and modify Inbox Rules Programmatic access to Archive Mailbox Conversations Actions 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 Conversations Actions Firewall traversing Notifications Improved Administration features Improved Mixed Version support Throttling Protection Support Control Application access to EWS Client Certificate Authentication support NEW 12 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; } NoError IPF.Note Inbox... AllProperties Folder inbox = Folder.Bind(service, WellKnownFolderName.Inbox); 13 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. Fortune 500 Financial Services Company Developer Exchange 2010 SP1 Mailbox Server Exchange 2010 SP1 Client Access Server Client Application Subscription Request Subscription Response Event Data OpenStreamingConnection Request Notification Subscription 16 17 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 Client Application Server Exchange 2010 Mailbox Server Exchange 2010 Client Access Server AppServer$\ NetworkService Impersonating John John authenticates withRequest for calendar data made as John AppServer granted the ApplicationImpersonation role to Johns department John AppServer verifies Johns identity AreaExchange 2010 On- PremisesExchange 2007 ServiceExchange 2010 Service URL DiscoveryAutoDiscover AuthenticationWindows Integrated HTTP Basic AuthorizationDelegation Application Impersonation Delegation Application Impersonation ThrottlingN/AService LevelService and User Level You have learned Sign up for TechEd 2011 and save $500 starting June 8 June 31 stYou can also register at the North America 2011 kiosk located at registration Join us in Atlanta next year