/
Discover Exchange Protocols & Discover Exchange Protocols &

Discover Exchange Protocols & - PDF document

williams
williams . @williams
Follow
345 views
Uploaded On 2021-01-05

Discover Exchange Protocols & - PPT Presentation

advancements in ActiveSync Exchange Web Services and MAPI Andrew Davidoff Senior Software Engineer Agenda Brief introduction to Exchange Server Open Specifications An overview of the proto ID: 827925

protocols exchange rpc server exchange protocols server rpc x0000 protocol eas ews rops enumeration microsoft http mapi activesync client

Share:

Link:

Embed:

Download Presentation from below link

Download Pdf The PPT/PDF document "Discover Exchange Protocols &" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Discover Exchange Protocols & advanceme
Discover Exchange Protocols & advancements in ActiveSync, Exchange Web Services, and MAPIAndrew DavidoffSenior Software EngineerAgenda•Brief introduction to Exchange Server Open Specifications •An overview of the protocol architecture for Exchange Server•Important protocol families that are used to commu

nicate with Exchange Server•Exchang
nicate with Exchange Server•Exchange Protocols Tools and ResourcesIntroduction 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/Ex

change or product API knowledge not requ
change or product API knowledge not required…•Microsoft Products are not mentioned in normative content, only in endnotes•Open Specifications document on-premises Exchange Server protocolsExchange ProtocolsOverview Document [MS-OXPROTO]Defines Exchange protocol familiesScenario-BasedHow multiple p

rotocols work together in typical scena
rotocols work together in typical scenariosHow to complete the same task using different protocol familiesWalkthroughs and examplesSend email using different protocolsResolve a recipient from an Address BookSynchronize itemsMany other scenariosProtocol families•RPC/ROPS (Remote Operations, the core protocol

family behind MAPI)•Name Service P
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 SupportClient communication
Standards SupportClient communication with ExchangeEASEWSMAPIHTTPPOP/IMAPSMTPStorageNSPIRPC/ROPsMAPIRPC/ROPSOn-the-wire protocols behind MAPIExchange RPC/ROPs protocols•Implemented in some form from “Day 1” (such as Exchange 4.0), extended and re-architected several times•Low-level a

ccess to Exchange Storage•Workhorse
ccess 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 [M

S-OXCMAPIHTTP] as alternative to use R
S-OXCMAPIHTTP] as alternative to use ROPs over HTTP; no RPCsExchange RPC/ROPs: TransportHeaderRPC :Binary BlobROP1ROP2…RopIDROP DataHSOT TableRopSizeRopIDROP DataNote: 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)RPC
documented RopIDs: 130(EcDoRpcExt2)RPC/ROPS protocols -continued•RPC/ROPs protocols define both Exchange (server) and Outlook (client) behaviors•Outlook behaviors are very complicated –server here is a very complex storage for items generated and maintained by the client•This is wrapped in MAPI laye

r on the client, but that is not part of
r on the client, but that is not part of protocol documentation. Remember, we don’t document APIs in Open Specifications, only traffic over the wire.•Client (not Server) is handling logic behind complex items –messages, folders, calendar items, contacts, tasks, etc.•Naming: [MS-OXO*] and [MS-OXC*]•

40+ Protocols, ~3000 pagesExchange Web
40+ Protocols, ~3000 pagesExchange Web Services (EWS)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 impleme

nted in Exchange Server 2007•Current
nted 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/readab
implemented in EWS•Intuitive/readable XML (vs MAPI) (easier troubleshooting)Exchange Web Services (EWS) -continued •Versioning•Clearly defined •Versioned by schema for the SOAP bodies•RequestServerVersionheader element in each request let’s client to request version-specific behavior•Tra

nsport: •SOAP over HTTP(S)•Code
nsport: •SOAP over HTTP(S)•Code against it using any language/platform that supports making HTTP/SOAP calls•Naming: [MS-OXW*]•43 Protocols, ~2000 pagesEWS Schema versions•xs:simpleTypename="ExchangeVersionType�"xs:restrictionbase="xs:string�"xs:enumeration�value="

Exchange2007"/xs:enumeration�v
Exchange2007"/xs:enumeration�value="Exchange2007_SP1"/xs:enumeration�value="Exchange2010"/xs:enumeration�value="Exchange2010_SP1"/xs:enumeration�value="Exchange2010_SP2"/xs:enumeration�value="Exchange2013"/xs:enumeration�value="Exchange2013_SP1"/xs:enumeration

�value="Exchange2015"/xs:enume
�value="Exchange2015"/xs:enumeration�value="Exchange2016"/xs:restriction�xs:simpleType�ArchivingeDiscoveryPersonasRetention policiesUnified Contact StoreUser photosFull access to items, folders, and attachments (Create, Get, Update, Delete)AvailabilityOut of Office setting

sNotificationsSynchronizationName res
sNotificationsSynchronizationName resolutionDistribution list (DL) expansionSearchMS-OXWSCDATA 2.2.5.14 t:ExchangeVersionType Simple TypeExchange ActiveSync (EAS)Exchange ActiveSync (EAS)•Lightweight synchronization protocol for Microsoft Exchange•Optimized to work on high-latency and low-bandwidth

networks•High level of abstraction,
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 r

ange of clients –Windows, iOS, Andro
ange of clients –Windows, iOS, Android, …•Server support from Exchange Server 2003 to latest Exchange Server 2016Exchange 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,
•Naming: [MS-AS*]•15 Protocols, ~900 pages•Licensing requirementsTypical 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 scali

ng reasonably on high-speed connection
ng reasonably on high-speed connections.•Lightweight desktop applications•Windows 8/8.1/10 Mail application uses EAS.•Mobile ApplicationsNot all Exchange features are accessible through EASVersion History•2.5-Exchange Server 2003 SP2•12.0-Exchange Server 2007•12.1-Exchange Server 2007 SP

1•14.0-Exchange Server 2010•14
1•14.0-Exchange Server 2010•14.1-Exchange Server 2010 SP1•16.0-Exchange Server 2016EAS in Interoperability tools•Exchange Server EAS Protocol Test Suites•Client Side protocol implementation, can be run against an existing EAS server•C# implementation of all EAS protocols (except [MS-ASSM

S]) •Reference implementation of tra
S]) •Reference implementation of transport, including WBXML encoding algorithm•Microsoft Message Analyzer•Exchange ActiveSync Parsers available with Message Analyzer (optional package)Other Exchange protocols•Autodiscover•Content Conversion•Standards-based protocols –Extensions and Compli

ance•[MS-OXPROTO] is a good refere
ance•[MS-OXPROTO] is a good referenceExchange Protocols:Tools and ResourcesExchange 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 protocolsExchange prot

ocols resources•All Exchange protoco
ocols 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
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/Thank You!Questions?© Microsoft Corporation. All rights re