Presentation is loading. Please wait.

Presentation is loading. Please wait.

Redmond Protocols Plugfest 2016 Andrew Davidoff Exchange 2016 Protocol Overview Senior Software Engineer.

Similar presentations


Presentation on theme: "Redmond Protocols Plugfest 2016 Andrew Davidoff Exchange 2016 Protocol Overview Senior Software Engineer."— Presentation transcript:

1 Redmond Protocols Plugfest 2016 Andrew Davidoff Exchange 2016 Protocol Overview Senior Software Engineer

2 Agenda Brief introduction to Exchange Server Open Specifications An overview of the protocol architecture for Exchange Important protocol families that are used to communicate with Exchange Server

3 Introduction to Open Specifications Normative language Designed to document bits over the wire No APIs – only Protocols MUST, SHOULD, MAY are used to document version-specific behavior Strict document structure Windows/Exchange or product API knowledge not required… Microsoft Products are not mentioned in normative content, only in endnotes

4 Exchange Protocols

5 Overview Document [MS-OXPROTO] Defines Exchange protocol families Scenario-Based How multiple protocols work together in typical scenarios How to complete the same task using different protocol families Walkthroughs and examples Send email using different protocols Resolve a recipient from an Address Book Synchronize items Many other scenarios

6 Protocol families RPC/ROPS (Remote Operations, the core protocol family behind MAPI) Name Service Provider Interface (NSPI) provides access to Address Book New in Exchange 2013 – MAPI over HTTP, combines ROPS and NSPI bypassing RPC layer Exchange Web Services (EWS) Exchange ActiveSync (EAS) Other groups of protocols Autodiscover Content Conversion Standards Support

7 Client communication with ExchangeEAS EWS MAPIHTTP POP/IMAP SMTP Storage NSPI RPC/ROPs MAPI

8 Exchange RPC/ROPs protocols Implemented in some form from “Day 1” (such as Exchange 4.0), extended and re-architected several times Low-level access to Exchange Storage Workhorse for Outlook communication with Exchange Used by MAPI Transport layer: ROPs (Remote Operations) within an RPC binary blob Optimized to minimize traffic on the wire; very complex parsing RPC can use HTTPS or TCP connections (HTTPS-only in Exchange 2013) New [MS-OXCMAPIHTTP] as alternative to use ROPs over HTTP; no RPCs

9 Exchange RPC/ROPs: Transport Header RPC : Binary Blob ROP1ROP2… RopID ROP Data HSOT Table RopSize RopID ROP Data Note: No ROP Data size or end marker. Every ROP Data in the blob must be parsed. Every RopID has different ROP Data structure. Number of documented RopIDs: 130 (EcDoRpcExt2)

10 RPC/ROPS protocols - continued RPC/ROPs protocols define both Exchange (server) and Outlook (client) behaviors Client (not Server) is handling logic behind complex items – messages, folders, calendar items, contacts, tasks, etc. Naming: [MS-OXO*] and [MS-OXC*] (few exceptions) 40+ Protocols, ~3000 pages

11 Exchange Web Services (EWS) Alternative to RPC protocols Higher level of abstraction compared with RPC protocols EWS implement messages, attachments, calendar events, contacts on server side in a way that is interoperable with Outlook. First implemented in Exchange Server 2007 Current support in Exchange 2016 as well as Exchange Online Outlook uses subset of EWS protocols Unified Messaging, MailTips, Availability, OOF, Office Apps, Room List, Archive, Mailbox Policies, Calendar Sharing, Site Mailboxes, etc. New Exchange features are likely to be implemented in EWS Intuitive/readable XML (vs MAPI) (easier troubleshooting)

12 Exchange Web Services (EWS) - continued Versioning Clearly defined Versioned by schema for the SOAP bodies RequestServerVersion header element in each request let’s client to request version-specific behavior Transport: SOAP over HTTP(S) Code against it using any language/platform that supports making HTTP/SOAP calls Naming: [MS-OXW*] 43 Protocols, ~2000 pages

13 EWS Schema versions Archiving eDiscovery Personas Retention policies Unified Contact Store User photos Full access to items, folders, and attachments (Create, Get, Update, Delete) Availability Out of Office settings Notifications Synchronization Name resolution Distribution list (DL) expansion Search MS-OXWSCDATA 2.2.5.14 t:ExchangeVersionType Simple Type

14 Exchange ActiveSync (EAS) Lightweight synchronization protocol for Microsoft Exchange Optimized to work on high-latency and low-bandwidth networks High level of abstraction, similar to EWS in complexity Provides access to email, calendar, contacts, tasks, documents, etc. Designed to maximize battery life Device management enforcement for enterprise organizations Industry standard, several non-Exchange Server implementations Wide range of clients – Windows, iOS, Android, … Server support from Exchange Server 2003 to latest Exchange Server 2016

15 Exchange ActiveSync (EAS) - continued Versioning Clearly defined version negotiation Version-specific features documented in open specifications Transport WBXML over HTTP(S) Naming: [MS-AS*] 15 Protocols, ~900 pages Licensing requirements

16 Typical Usage of Exchange ActiveSync Mobile phones “De-facto standard” supported by email applications on all major platforms. Tablets Allows for low-bandwidth and high-latency data (Internet) connections while scaling reasonably on high-speed connections. Lightweight desktop applications Windows 8/8.1/10 Mail application uses EAS. Mobile Applications Not all Exchange features are accessible through EAS

17 Version History 2.5- Exchange Server 2003 SP2 12.0- Exchange Server 2007 12.1- Exchange Server 2007 SP1 14.0- Exchange Server 2010 14.1- Exchange Server 2010 SP1 16.0- Exchange Server 2016

18 Other Exchange protocols Autodiscover Content Conversion Standards-based protocols – Extensions and Compliance [MS-OXPROTO] is a good reference

19 Exchange Server and Outlook Standards Support Microsoft is currently seeking feedback on support for mail and calendaring standards in the next major versions of Exchange and Outlook. Exchange and Outlook currently support several mail and calendar standards, including: IMAP (RFC 3501) POP3 (RFC 1939) iCalendar (RFC 2445, RFC2446, and RFC 2447) The feedback period is 90 days, ending on August 10, 2016. During this time please provide suggestions and feedback via the following mechanisms: o EmailStand@Microsoft.com EmailStand@Microsoft.com o Tweet at us at @OSpecifications o Let us know in our forums: https://social.msdn.microsoft.com/forums/en- us/home?forum=os_specificationshttps://social.msdn.microsoft.com/forums/en- us/home?forum=os_specifications o Talk to us at this event or any other plugfest during the feedback period! We are listening!

20 Exchange test tools update New parsers for Message Analyzer Protocol families: EAS, EWS, RPC, and MAPIHTTP New test suites for EAS, EWS, RPC, and MAPIHTTP Fiddler Inspectors for MAPIHTTP and other protocols

21 Exchange protocols resources All Exchange protocol documents https://msdn.microsoft.com/en-us/library/cc425499(v=exchg.80).aspx Microsoft Message Analyzer http://www.microsoft.com/en-us/download/details.aspx?id=44226 Fiddler inspectors for Office and Exchange protocols https://github.com/OfficeDev/Office-Inspectors-for-Fiddler Protocol Test Suites https://github.com/OfficeDev/Interop-TestSuites Help with Open Specifications: mailto:dochelp@microsoft.com Office Interoperability blog: http://blogs.msdn.com/b/officeinteroperability/

22 Redmond Protocols Plugfest 2016 Questions or Comments?

23 Redmond Protocols Plugfest 2016 Thank You!


Download ppt "Redmond Protocols Plugfest 2016 Andrew Davidoff Exchange 2016 Protocol Overview Senior Software Engineer."

Similar presentations


Ads by Google