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

Zarafa SummerCamp 2012 - Exchange Web Services on Zarafa

on

  • 1,971 views

 

Statistics

Views

Total Views
1,971
Views on SlideShare
1,919
Embed Views
52

Actions

Likes
0
Downloads
3
Comments
0

3 Embeds 52

http://www.zarafa.com 48
http://www.zarafaserver.de 2
http://zarafa.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Zarafa SummerCamp 2012 - Exchange Web Services on Zarafa Zarafa SummerCamp 2012 - Exchange Web Services on Zarafa Presentation Transcript

    • Exchange Web Services (EWS)Steve Hardy
    • How are we going to pronounce it ?• Eee-doubleyou-es• Eee-wee-es• you w’s ?
    • This is a ‘ewe’
    • 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>
    • 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)
    • Relation to MAPI EWS protocol EWS Gateway (IIS plugin) MAPI Exchange mail store message database (EMSMDB)
    • EWS: MAPI + CDO over XML EWS protocol MAPI -> XML engine EWS Gateway Calendaring engine (IIS plugin) (like CDO) Meeting/Task request engine (like CDO)
    • 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
    • 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
    • EWS in Zarafa EWS protocol MAPI -> XML engine EWS Gateway Calendaring engine (Standalone server) (like CDO) Meeting/Task request engine (like CDO)
    • 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++)
    • 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
    • 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
    • Demo