• Like
Zarafa SummerCamp 2012 - Exchange Web Services on Zarafa
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Zarafa SummerCamp 2012 - Exchange Web Services on Zarafa

  • 1,519 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,519
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
4
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Exchange Web Services (EWS)Steve Hardy
  • 2. How are we going to pronounce it ?• Eee-doubleyou-es• Eee-wee-es• you w’s ?
  • 3. This is a ‘ewe’
  • 4. What is EWS- XML-based protocol (SOAP)- Introduced in Exchange 2007- Successor to previous WebDAV approach- Used from introduction for OWA 2007 and later <?xml version="1.0" encoding="utf-8"?> <soap:Envelope> <soap:Body> <GetItem> <ItemShape> <t:BaseShape>Default</t:BaseShape> <t:IncludeMimeContent>true</t:IncludeMimeContent> </ItemShape> <ItemIds><t:ItemId Id="AAAlAF" ChangeKey="CQAAAB" /></ItemIds> </GetItem> </soap:Body> </soap:Envelope>
  • 5. Who/what is using EWS at the moment?• Outlook 2010 – Free/Busy – Some minor features• Mac – Outlook 2011 – ‘Mail’ – ‘Addressbook’ – ‘Calendar’• Other – Various opensource projects for accessing exchange server from opensource packages (eg. Evolution, Thunderbird, etc) – Various closed source projects (eg. Archivers, Indexers, etc)
  • 6. Relation to MAPI EWS protocol EWS Gateway (IIS plugin) MAPI Exchange mail store message database (EMSMDB)
  • 7. EWS: MAPI + CDO over XML EWS protocol MAPI -> XML engine EWS Gateway Calendaring engine (IIS plugin) (like CDO) Meeting/Task request engine (like CDO)
  • 8. Why was it designed this way ?• Much more high-level functions – Easier for developers to use, less client-side code needed – Solves most of the really hard stuff like recurrence and meeting request handling• XML/SOAP interface allows access from any platform• XML/SOAP interface allows access from any programming language (well, in theory …)• Most easily built on top of MAPI since MAPI already provides many features that you need for EWS
  • 9. Why do clients use EWS?• On non-MS platform – You have no choice, except IMAP & CalDAV• On MS platform – It’s easier than MAPI, and usable from .Net applications• Why not IMAP? – Email only – No handling of meeting requests, etc• Why not CalDAV? – Calendar/tasks only – No easy handling of meeting requests, etc
  • 10. EWS in Zarafa EWS protocol MAPI -> XML engine EWS Gateway Calendaring engine (Standalone server) (like CDO) Meeting/Task request engine (like CDO)
  • 11. EWS in Zarafa: general design• Forked processes (think ‘zarafa-ewsd’)• Primarily in Python – Rapid development possible – Speed disadvantage compared to C++ is not important, since most real processing is done by MAPI (C++)
  • 12. EWS general development goalsIn order of priority:3.Support e-mail handling in Outlook 2011, Mac Mail4.Support addressbook handling in Outlook 2011, Mac Addressbook5.Support calendar handling6.Support MR/TR handling7.Management functions like setting OOF, etc.Low priority:-Bulk handling features of EWS-Administration features
  • 13. XML handling in Zarafa-EWS• Always the question: pull or push XML ?Push- Read all XML at once, parse it all, then pass to processor- Easy to code, clear overview- Slow for large requests: high latencyPull- Read XML bit-by-bit, process when possible (before reading end of XML request)- Harder to code, sometimes makes the code less readable- Low memory footprint, low latency
  • 14. Demo