1 / 20

Exchange Web Services Managed API Unified Communications Development For Exchange

Exchange Web Services Managed API Unified Communications Development For Exchange.  Jason Henderson Senior Program Manager Microsoft Corporation. Agenda. Software plus services Microsoft Exchange 2007 Architecture Microsoft Exchange 2007 APIs “Cloud Ready” Exchange Web Services

betty_james
Download Presentation

Exchange Web Services Managed API Unified Communications Development For Exchange

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Exchange Web Services Managed APIUnified Communications Development For Exchange  Jason Henderson Senior Program Manager Microsoft Corporation

  2. Agenda • Software plus services • Microsoft Exchange 2007 Architecture • Microsoft Exchange 2007 APIs • “Cloud Ready” • Exchange Web Services • Overview • Drilldown • Exchange Web Services Managed API

  3. Moving Exchange Into The Cloud Complexity Control

  4. Exchange 2000/2003Mailbox Server Exchange 2007Mailbox Server Exchange N-Tier Architecture CDOEx ExoleDB WebDAV CDO 1.2.1 Exchange 2000/2003 HTTP RPC Windows Client Exchange Web Services Exchange 2007 RPC WS-* X-Platform Client Exchange 2007Client Access Server

  5. Simplifying The API Matrix Outlook interop responsibility Developer Microsoft OleDB CDO for Exchange Local Access CDO 1.2.1 MAPI Intranet Remote access from WebDAV Exchange Web Services Internet

  6. Exchange Web ServicesOverview • Open Standards-based protocol • XML/SOAP/WSDL-based Web Service • Implements Exchange/Outlook business logic • Strongly typed access • Message/tasks/contacts/calendar/folders • Workflow • Free/busy • Suggested meeting times • Accepting/sending/updating meeting requests • Delegation and permissions • Replying to messages • Notifications • Synchronization

  7. EWS Overview Exchange mailboxes Public folders Business logic layer (shared with Outlook Web Access) Public folders Post items Create, get, update, delete items, folders and attachments Availability OOF settings • Utilities • ResolveNames • ExpandDL Delegate management Folder permissions OWA/Availability Id conversion Exchange 2007 Exchange 2007 Service Pack 1 HTTP/SOAP HTTP/SOAP Auto-generated proxies, raw XML EWS Managed API or

  8. Did You Say Easy? GetFolderType request = new GetFolderType(); request.FolderShape = new FolderResponseShapeType(); request.FolderShape.BaseShape = DefaultShapeNamesType.AllProperties; DistinguishedFolderIdTypeinboxId = new DistinguishedFolderIdType(); inboxId.Id = DistinguishedFolderIdNameType.inbox; request.FolderIds = new BaseFolderIdType[] { inboxId }; GetFolderResponseTyperesponse = serviceBinding.GetFolder(request); FolderInfoResponseMessageTyperesponseMessage = response.ResponseMessages.Items[0] as FolderInfoResponseMessageType; if (responseMessage.ResponseClass == ResponseClassType.Success) { FolderTypeinbox = responseMessage.Folders[0] as FolderType; } <soap:Envelope> <soap:Body> <m:GetFolder> <m:FolderShape> <t:BaseShape>AllProperties</t:BaseShape> </m:FolderShape> <m:FolderIds> <t:DistinguishedFolderIdId="inbox" /> </m:FolderIds> </m:GetFolder> </soap:Body> </soap:Envelope> <s:Envelope> <s:Body> <m:GetFolderResponse> <m:ResponseMessages> <m:GetFolderResponseMessage ResponseClass="Success"> <m:ResponseCode>NoError</m:ResponseCode> <m:Folders> <t:Folder> <t:FolderIdId="..." ChangeKey="..." /> <t:FolderClass>IPF.Note</t:FolderClass> <t:DisplayName>Inbox</t:DisplayName> ... </t:Folder> </m:Folders> </m:GetFolderResponseMessage> </m:ResponseMessages> </m:GetFolderResponse> </s:Body> </s:Envelope> Folder inbox = Folder.Bind(service, WellKnownFolderName.Inbox); Increased Productivity Raw XML Auto-generated proxies EWS Managed API • Cross-platform • No client-side logic • Manual plumbing • Multiple platforms • Class-based access • No client-side logic • Windows only (.NET 3.5) • Fully Object Oriented • Smart client-side logic

  9. Exchange Web Services Managed APIDesign Goals • Exchange development is easy! • Object oriented design • Smart client features • AutoDiscover built in • Expose full power of web services • Batch processing • Delegate Access • Custom Properties • Cloud/On-Premises same code

  10. Let’s Start Coding! • Initialize the service • Authentication • Windows integrated • Basic • Use AutoDiscover • Locate service endpoint • Bootstrap on smtpaddress

  11. Calendaring • Rich Calendaring Support • Retrieve/Create appointments • Recurring meetings • Recurrence expansion • Meeting Requests • Accept/tentative/decline/update/cancel • Automatically send responses/updates • Free/Busy views • Meeting suggestions

  12. Item Class Hierarchy

  13. Folder Class Hierarchy

  14. Recap • Always use AutoDiscover to boostrap based on mailbox address • Use Tracing to understand underlying SOAP protocol • Use FindAppointments/FindItems to efficiently query and retrieve Items • Use Load*/Bind to retrieve streamed and calculated properties

  15. Call To Action • Learn about Exchange Online • http://microsoft.com/online • Learn more about Exchange Web Services • MSDN • http://msdn.microsoft.com/en-us/library/bb204119(EXCHG.80).aspx • “Inside Microsoft Exchange 2007 Web Services” • Hands On Lab • http://blogs.msdn.com/exchangedev/ • Watch for the Managed API Beta Release • Fill out session evaluations

  16. Final Slide For PDC Presentations • Are you interested in receiving the VPCs for Microsoft Exchange 2007 and Microsoft Office Communications Server 2007 R2 after RTM in early 2009? If yes, please email ucvpc@microsoft.com with your contact information and subject line: UC VPC Download Request

  17. PDC UC Sessions

  18. Appendix

  19. © 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.

More Related