Project Description
EAS Web is a RESTful Interface/API for Exchange ActiveSync. It enables developers to use the ActiveSync protocol in a simple way with HTTP verbs.

Implementing an Exchange ActiveSync (EAS) client has a learning curve which can be confusing at first since the protocol has certain complexities to it, including passing data to and from the Exchange Server in a format called MS-ASWBXML. (This is a binary formatting of XML documents serving the purpose of reducing the amount of bytes sent over the wire which was a necessity when Exchange ActiveSync was first implemented by Microsoft in Exchange Server 2003.)

EAS Web wraps these complexities in a Web API implementation to expose a simpler API that works with HTTP verbs and returns data from Exchange in a JSON format (or XML if you like) instead of WBXML.

The idea is that you should not need to understand all the intricacies of building the XML documents for interacting with Exchange. For instance something like retrieving all contacts for a given user would usually require you to perform the following steps:
  • FolderSync command to get all folder ids. Parse out the folder id for "contacts".
  • Sync command with a synckey value of "0" to get a new synckey.
  • Sync command with the folder id of contacts, and the new synckey to get the actual contacts.

With a RESTful approach you just do an HTTP GET http://localhost/API/Contacts.

Using EAS Web is a great foundation for learning the Exchange ActiveSync protocol and implement a simple client for yourself. It also aims to function as a server-side component should you choose to use Exchange Server data without implementing a fully featured EAS client.

To explore the API deployed go to https://easweb.azurewebsites.net

If you want to learn the details of the Exchange ActiveSync protocol, or get started without firing up Visual Studio on your own there's some resources already available:

A very basic intro to the EAS protocol:
http://mobilitydojo.net/2010/03/17/digging-into-the-exchange-activesync-protocol/

A 10-part guide to implementing various EAS features with code samples:
http://mobilitydojo.net/2011/08/10/exchange-activesync-building-blocks-intro/

For troubleshooting and diagnostics there's the EAS-MD utility which can be downloaded from http://mobilitydojo.net/downloads,
or an online version at https://easmd.labs.mobilitydojo.net/

Last edited Jun 20, 2013 at 9:35 PM by ahell, version 4