SlideShare ist ein Scribd-Unternehmen logo
1 von 14
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 goals
In order of priority:

3.Support e-mail handling in Outlook 2011, Mac Mail
4.Support addressbook handling in Outlook 2011, Mac Addressbook
5.Support calendar handling
6.Support MR/TR handling
7.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 latency

Pull
- 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

Weitere Àhnliche Inhalte

Was ist angesagt?

Php training in bhubaneswar
Php training in bhubaneswar Php training in bhubaneswar
Php training in bhubaneswar
litbbsr
 
ĐĐœŃ‚ĐŸĐœ Đ‘ĐŸĐčĐșĐŸ "Đ Đ°Đ·ĐŽĐ”Đ»ŃĐč Đž ĐČластĐČуĐč — ĐœĐ°Đ±ĐŸŃ€ праĐșтоĐș ĐŽĐ»Ń ĐżĐŸŃŃ‚Ń€ĐŸĐ”ĐœĐžŃ ĐŒĐ°ŃŃˆŃ‚Đ°Đ±ĐžŃ€ŃƒĐ”ĐŒĐŸ...
ĐĐœŃ‚ĐŸĐœ Đ‘ĐŸĐčĐșĐŸ "Đ Đ°Đ·ĐŽĐ”Đ»ŃĐč Đž ĐČластĐČуĐč — ĐœĐ°Đ±ĐŸŃ€ праĐșтоĐș ĐŽĐ»Ń ĐżĐŸŃŃ‚Ń€ĐŸĐ”ĐœĐžŃ ĐŒĐ°ŃŃˆŃ‚Đ°Đ±ĐžŃ€ŃƒĐ”ĐŒĐŸ...ĐĐœŃ‚ĐŸĐœ Đ‘ĐŸĐčĐșĐŸ "Đ Đ°Đ·ĐŽĐ”Đ»ŃĐč Đž ĐČластĐČуĐč — ĐœĐ°Đ±ĐŸŃ€ праĐșтоĐș ĐŽĐ»Ń ĐżĐŸŃŃ‚Ń€ĐŸĐ”ĐœĐžŃ ĐŒĐ°ŃŃˆŃ‚Đ°Đ±ĐžŃ€ŃƒĐ”ĐŒĐŸ...
ĐĐœŃ‚ĐŸĐœ Đ‘ĐŸĐčĐșĐŸ "Đ Đ°Đ·ĐŽĐ”Đ»ŃĐč Đž ĐČластĐČуĐč — ĐœĐ°Đ±ĐŸŃ€ праĐșтоĐș ĐŽĐ»Ń ĐżĐŸŃŃ‚Ń€ĐŸĐ”ĐœĐžŃ ĐŒĐ°ŃŃˆŃ‚Đ°Đ±ĐžŃ€ŃƒĐ”ĐŒĐŸ...
Marina Peregud
 

Was ist angesagt? (20)

Php training in bhubaneswar
Php training in bhubaneswar Php training in bhubaneswar
Php training in bhubaneswar
 
SPCA2013 - Taming BIG SharePoint
SPCA2013 - Taming BIG SharePointSPCA2013 - Taming BIG SharePoint
SPCA2013 - Taming BIG SharePoint
 
Cloud Orchestration is Broken
Cloud Orchestration is BrokenCloud Orchestration is Broken
Cloud Orchestration is Broken
 
SPCA2013 - Automating SharePoint
SPCA2013 - Automating SharePointSPCA2013 - Automating SharePoint
SPCA2013 - Automating SharePoint
 
Mule ESB Fundamentals
Mule ESB FundamentalsMule ESB Fundamentals
Mule ESB Fundamentals
 
Pycon2013
Pycon2013Pycon2013
Pycon2013
 
Entity Framework for Cross platform apps
Entity Framework for Cross platform appsEntity Framework for Cross platform apps
Entity Framework for Cross platform apps
 
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
 
What is Mule ESB
What is Mule ESB What is Mule ESB
What is Mule ESB
 
Barcamp Macau 2014 - Introduction to AWS
Barcamp Macau 2014 - Introduction to AWSBarcamp Macau 2014 - Introduction to AWS
Barcamp Macau 2014 - Introduction to AWS
 
Serve like a boss (part one)
Serve like a boss (part one)Serve like a boss (part one)
Serve like a boss (part one)
 
Aws 12 Month Free Tier for Web Designers and Developers
Aws 12 Month Free Tier for Web Designers and DevelopersAws 12 Month Free Tier for Web Designers and Developers
Aws 12 Month Free Tier for Web Designers and Developers
 
Mule esb overview
Mule esb overviewMule esb overview
Mule esb overview
 
REDIS (Remote Dictionary Server)
REDIS (Remote Dictionary Server)REDIS (Remote Dictionary Server)
REDIS (Remote Dictionary Server)
 
Mule esb introduction
Mule esb introductionMule esb introduction
Mule esb introduction
 
SharePoint Europe Conference 2011 - Virtualisation
SharePoint Europe Conference 2011 - VirtualisationSharePoint Europe Conference 2011 - Virtualisation
SharePoint Europe Conference 2011 - Virtualisation
 
Lesson1-How to migrate your Forms code and build HTM5 APP
Lesson1-How to migrate your Forms code and build HTM5 APPLesson1-How to migrate your Forms code and build HTM5 APP
Lesson1-How to migrate your Forms code and build HTM5 APP
 
Basic method for Java EE Web Profile
Basic method for Java EE Web ProfileBasic method for Java EE Web Profile
Basic method for Java EE Web Profile
 
ĐĐœŃ‚ĐŸĐœ Đ‘ĐŸĐčĐșĐŸ "Đ Đ°Đ·ĐŽĐ”Đ»ŃĐč Đž ĐČластĐČуĐč — ĐœĐ°Đ±ĐŸŃ€ праĐșтоĐș ĐŽĐ»Ń ĐżĐŸŃŃ‚Ń€ĐŸĐ”ĐœĐžŃ ĐŒĐ°ŃŃˆŃ‚Đ°Đ±ĐžŃ€ŃƒĐ”ĐŒĐŸ...
ĐĐœŃ‚ĐŸĐœ Đ‘ĐŸĐčĐșĐŸ "Đ Đ°Đ·ĐŽĐ”Đ»ŃĐč Đž ĐČластĐČуĐč — ĐœĐ°Đ±ĐŸŃ€ праĐșтоĐș ĐŽĐ»Ń ĐżĐŸŃŃ‚Ń€ĐŸĐ”ĐœĐžŃ ĐŒĐ°ŃŃˆŃ‚Đ°Đ±ĐžŃ€ŃƒĐ”ĐŒĐŸ...ĐĐœŃ‚ĐŸĐœ Đ‘ĐŸĐčĐșĐŸ "Đ Đ°Đ·ĐŽĐ”Đ»ŃĐč Đž ĐČластĐČуĐč — ĐœĐ°Đ±ĐŸŃ€ праĐșтоĐș ĐŽĐ»Ń ĐżĐŸŃŃ‚Ń€ĐŸĐ”ĐœĐžŃ ĐŒĐ°ŃŃˆŃ‚Đ°Đ±ĐžŃ€ŃƒĐ”ĐŒĐŸ...
ĐĐœŃ‚ĐŸĐœ Đ‘ĐŸĐčĐșĐŸ "Đ Đ°Đ·ĐŽĐ”Đ»ŃĐč Đž ĐČластĐČуĐč — ĐœĐ°Đ±ĐŸŃ€ праĐșтоĐș ĐŽĐ»Ń ĐżĐŸŃŃ‚Ń€ĐŸĐ”ĐœĐžŃ ĐŒĐ°ŃŃˆŃ‚Đ°Đ±ĐžŃ€ŃƒĐ”ĐŒĐŸ...
 
Complete integration with mule esb
Complete integration with mule esbComplete integration with mule esb
Complete integration with mule esb
 

Ähnlich wie Zarafa SummerCamp 2012 - Exchange Web Services on Zarafa

WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2
 
Zarafa SummerCamp 2012 - Exchange Web Services, technical information
Zarafa SummerCamp 2012 - Exchange Web Services, technical informationZarafa SummerCamp 2012 - Exchange Web Services, technical information
Zarafa SummerCamp 2012 - Exchange Web Services, technical information
Zarafa
 
Webbinar slides
Webbinar slidesWebbinar slides
Webbinar slides
WSO2
 
Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB
WSO2
 

Ähnlich wie Zarafa SummerCamp 2012 - Exchange Web Services on Zarafa (20)

WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
 
IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...
IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...
IT Talk «Microservices & Serverless Architectures», Alexander Chichenin (Solu...
 
Succeding with the Apache SOA stack
Succeding with the Apache SOA stackSucceding with the Apache SOA stack
Succeding with the Apache SOA stack
 
Journey towards serverless infrastructure
Journey towards serverless infrastructureJourney towards serverless infrastructure
Journey towards serverless infrastructure
 
Make easier Integration of your services with Fuse Solutions - RedHat 2013
Make easier Integration of your services with Fuse Solutions - RedHat 2013Make easier Integration of your services with Fuse Solutions - RedHat 2013
Make easier Integration of your services with Fuse Solutions - RedHat 2013
 
Zarafa SummerCamp 2012 - Exchange Web Services, technical information
Zarafa SummerCamp 2012 - Exchange Web Services, technical informationZarafa SummerCamp 2012 - Exchange Web Services, technical information
Zarafa SummerCamp 2012 - Exchange Web Services, technical information
 
ADF Essentials (KScope14)
ADF Essentials (KScope14)ADF Essentials (KScope14)
ADF Essentials (KScope14)
 
Webbinar slides
Webbinar slidesWebbinar slides
Webbinar slides
 
LeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration ServicesLeedsSharp May 2023 - Azure Integration Services
LeedsSharp May 2023 - Azure Integration Services
 
Let's server your Data
Let's server your DataLet's server your Data
Let's server your Data
 
Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB
 
Impact of cloud services on the work of oracle technology experts
Impact of cloud services on the work of oracle technology expertsImpact of cloud services on the work of oracle technology experts
Impact of cloud services on the work of oracle technology experts
 
Impact of cloud services on the work of oracle technology experts
Impact of cloud services on the work of oracle technology expertsImpact of cloud services on the work of oracle technology experts
Impact of cloud services on the work of oracle technology experts
 
Introduction to Node (15th May 2017)
Introduction to Node (15th May 2017)Introduction to Node (15th May 2017)
Introduction to Node (15th May 2017)
 
Java
JavaJava
Java
 
OUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteOUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA Suite
 
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
 
Customer Sharing: Trend Micro - Analytic Engine - A common Big Data computati...
Customer Sharing: Trend Micro - Analytic Engine - A common Big Data computati...Customer Sharing: Trend Micro - Analytic Engine - A common Big Data computati...
Customer Sharing: Trend Micro - Analytic Engine - A common Big Data computati...
 
analytic engine - a common big data computation service on the aws
analytic engine - a common big data computation service on the awsanalytic engine - a common big data computation service on the aws
analytic engine - a common big data computation service on the aws
 
Introduction to Apache Synapse
Introduction to Apache SynapseIntroduction to Apache Synapse
Introduction to Apache Synapse
 

Mehr von Zarafa

Zarafa SummerCamp 2012 - Basic Introduction WebApp plugin development
Zarafa SummerCamp 2012 - Basic Introduction WebApp plugin developmentZarafa SummerCamp 2012 - Basic Introduction WebApp plugin development
Zarafa SummerCamp 2012 - Basic Introduction WebApp plugin development
Zarafa
 
Zarafa SummerCamp 2012 - Android Workshop
Zarafa SummerCamp 2012 - Android WorkshopZarafa SummerCamp 2012 - Android Workshop
Zarafa SummerCamp 2012 - Android Workshop
Zarafa
 
Zarafa SummerCamp 2012 - Steve Hardy Friday Keynote
Zarafa SummerCamp 2012 - Steve Hardy Friday KeynoteZarafa SummerCamp 2012 - Steve Hardy Friday Keynote
Zarafa SummerCamp 2012 - Steve Hardy Friday Keynote
Zarafa
 
Zarafa SummerCamp 2012 - Project approach when migrating to Zarafa
Zarafa SummerCamp 2012 - Project approach when migrating to ZarafaZarafa SummerCamp 2012 - Project approach when migrating to Zarafa
Zarafa SummerCamp 2012 - Project approach when migrating to Zarafa
Zarafa
 
Zarafa SummerCamp 2012 - Keynote Peter Ganten
Zarafa SummerCamp 2012 - Keynote Peter GantenZarafa SummerCamp 2012 - Keynote Peter Ganten
Zarafa SummerCamp 2012 - Keynote Peter Ganten
Zarafa
 
Zarafa SummerCamp 2012 - Yubikey integration
Zarafa SummerCamp 2012 - Yubikey integrationZarafa SummerCamp 2012 - Yubikey integration
Zarafa SummerCamp 2012 - Yubikey integration
Zarafa
 
Zarafa SummerCamp 2012 - Tips & tricks for running Zarafa is larger scale env...
Zarafa SummerCamp 2012 - Tips & tricks for running Zarafa is larger scale env...Zarafa SummerCamp 2012 - Tips & tricks for running Zarafa is larger scale env...
Zarafa SummerCamp 2012 - Tips & tricks for running Zarafa is larger scale env...
Zarafa
 
Zararfa SummerCamp 2012 - HA, multi-tenancy and SSO in Zentyal 2 and 3.pdf
Zararfa SummerCamp 2012 - HA, multi-tenancy and SSO in Zentyal 2 and 3.pdfZararfa SummerCamp 2012 - HA, multi-tenancy and SSO in Zentyal 2 and 3.pdf
Zararfa SummerCamp 2012 - HA, multi-tenancy and SSO in Zentyal 2 and 3.pdf
Zarafa
 
Zararfa SummerCamp 2012 - Debian packaging Giraffe and D-push
Zararfa SummerCamp 2012 - Debian packaging Giraffe and D-pushZararfa SummerCamp 2012 - Debian packaging Giraffe and D-push
Zararfa SummerCamp 2012 - Debian packaging Giraffe and D-push
Zarafa
 
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...
Zarafa
 
Zararfa SummerCamp 2012 - Community update and Zarafa Development Process
Zararfa SummerCamp 2012 - Community update and Zarafa Development ProcessZararfa SummerCamp 2012 - Community update and Zarafa Development Process
Zararfa SummerCamp 2012 - Community update and Zarafa Development Process
Zarafa
 
Zararfa summer camp 2012 interesting tips & tricks when migrating to zarafa
Zararfa summer camp 2012   interesting tips & tricks when migrating to zarafaZararfa summer camp 2012   interesting tips & tricks when migrating to zarafa
Zararfa summer camp 2012 interesting tips & tricks when migrating to zarafa
Zarafa
 
Zarafa SummerCamp 2012 - Keynote Steve Hardy - 3 Cool innovations
Zarafa SummerCamp 2012 - Keynote Steve Hardy - 3 Cool innovationsZarafa SummerCamp 2012 - Keynote Steve Hardy - 3 Cool innovations
Zarafa SummerCamp 2012 - Keynote Steve Hardy - 3 Cool innovations
Zarafa
 
Zarafa SummerCamp 2012 - Deploying Zarafa Archiver
Zarafa SummerCamp 2012 - Deploying Zarafa ArchiverZarafa SummerCamp 2012 - Deploying Zarafa Archiver
Zarafa SummerCamp 2012 - Deploying Zarafa Archiver
Zarafa
 
Zarafa SummerCamp 2012 - Open Generation Gap
Zarafa SummerCamp 2012 - Open Generation GapZarafa SummerCamp 2012 - Open Generation Gap
Zarafa SummerCamp 2012 - Open Generation Gap
Zarafa
 
Zarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxy
Zarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxyZarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxy
Zarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxy
Zarafa
 
Zarafa SummerCamp 2012 - Zarafa 7.1 features
Zarafa SummerCamp 2012 - Zarafa 7.1 featuresZarafa SummerCamp 2012 - Zarafa 7.1 features
Zarafa SummerCamp 2012 - Zarafa 7.1 features
Zarafa
 
Zarafa SummerCamp 2012 - Z-push 2.0 changes for administrators
Zarafa SummerCamp 2012 - Z-push 2.0 changes for administratorsZarafa SummerCamp 2012 - Z-push 2.0 changes for administrators
Zarafa SummerCamp 2012 - Z-push 2.0 changes for administrators
Zarafa
 
Zararfa SummerCamp 2012 - Performing fast backups in large scale environments...
Zararfa SummerCamp 2012 - Performing fast backups in large scale environments...Zararfa SummerCamp 2012 - Performing fast backups in large scale environments...
Zararfa SummerCamp 2012 - Performing fast backups in large scale environments...
Zarafa
 
Zarafa SummerCamp 2012 - Communication - how engineers can outperform
Zarafa SummerCamp 2012 - Communication - how engineers can outperformZarafa SummerCamp 2012 - Communication - how engineers can outperform
Zarafa SummerCamp 2012 - Communication - how engineers can outperform
Zarafa
 

Mehr von Zarafa (20)

Zarafa SummerCamp 2012 - Basic Introduction WebApp plugin development
Zarafa SummerCamp 2012 - Basic Introduction WebApp plugin developmentZarafa SummerCamp 2012 - Basic Introduction WebApp plugin development
Zarafa SummerCamp 2012 - Basic Introduction WebApp plugin development
 
Zarafa SummerCamp 2012 - Android Workshop
Zarafa SummerCamp 2012 - Android WorkshopZarafa SummerCamp 2012 - Android Workshop
Zarafa SummerCamp 2012 - Android Workshop
 
Zarafa SummerCamp 2012 - Steve Hardy Friday Keynote
Zarafa SummerCamp 2012 - Steve Hardy Friday KeynoteZarafa SummerCamp 2012 - Steve Hardy Friday Keynote
Zarafa SummerCamp 2012 - Steve Hardy Friday Keynote
 
Zarafa SummerCamp 2012 - Project approach when migrating to Zarafa
Zarafa SummerCamp 2012 - Project approach when migrating to ZarafaZarafa SummerCamp 2012 - Project approach when migrating to Zarafa
Zarafa SummerCamp 2012 - Project approach when migrating to Zarafa
 
Zarafa SummerCamp 2012 - Keynote Peter Ganten
Zarafa SummerCamp 2012 - Keynote Peter GantenZarafa SummerCamp 2012 - Keynote Peter Ganten
Zarafa SummerCamp 2012 - Keynote Peter Ganten
 
Zarafa SummerCamp 2012 - Yubikey integration
Zarafa SummerCamp 2012 - Yubikey integrationZarafa SummerCamp 2012 - Yubikey integration
Zarafa SummerCamp 2012 - Yubikey integration
 
Zarafa SummerCamp 2012 - Tips & tricks for running Zarafa is larger scale env...
Zarafa SummerCamp 2012 - Tips & tricks for running Zarafa is larger scale env...Zarafa SummerCamp 2012 - Tips & tricks for running Zarafa is larger scale env...
Zarafa SummerCamp 2012 - Tips & tricks for running Zarafa is larger scale env...
 
Zararfa SummerCamp 2012 - HA, multi-tenancy and SSO in Zentyal 2 and 3.pdf
Zararfa SummerCamp 2012 - HA, multi-tenancy and SSO in Zentyal 2 and 3.pdfZararfa SummerCamp 2012 - HA, multi-tenancy and SSO in Zentyal 2 and 3.pdf
Zararfa SummerCamp 2012 - HA, multi-tenancy and SSO in Zentyal 2 and 3.pdf
 
Zararfa SummerCamp 2012 - Debian packaging Giraffe and D-push
Zararfa SummerCamp 2012 - Debian packaging Giraffe and D-pushZararfa SummerCamp 2012 - Debian packaging Giraffe and D-push
Zararfa SummerCamp 2012 - Debian packaging Giraffe and D-push
 
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...
Zararfa SummerCamp 2012 - Fedora update & PAM-MAPI Zarafa Ready certified com...
 
Zararfa SummerCamp 2012 - Community update and Zarafa Development Process
Zararfa SummerCamp 2012 - Community update and Zarafa Development ProcessZararfa SummerCamp 2012 - Community update and Zarafa Development Process
Zararfa SummerCamp 2012 - Community update and Zarafa Development Process
 
Zararfa summer camp 2012 interesting tips & tricks when migrating to zarafa
Zararfa summer camp 2012   interesting tips & tricks when migrating to zarafaZararfa summer camp 2012   interesting tips & tricks when migrating to zarafa
Zararfa summer camp 2012 interesting tips & tricks when migrating to zarafa
 
Zarafa SummerCamp 2012 - Keynote Steve Hardy - 3 Cool innovations
Zarafa SummerCamp 2012 - Keynote Steve Hardy - 3 Cool innovationsZarafa SummerCamp 2012 - Keynote Steve Hardy - 3 Cool innovations
Zarafa SummerCamp 2012 - Keynote Steve Hardy - 3 Cool innovations
 
Zarafa SummerCamp 2012 - Deploying Zarafa Archiver
Zarafa SummerCamp 2012 - Deploying Zarafa ArchiverZarafa SummerCamp 2012 - Deploying Zarafa Archiver
Zarafa SummerCamp 2012 - Deploying Zarafa Archiver
 
Zarafa SummerCamp 2012 - Open Generation Gap
Zarafa SummerCamp 2012 - Open Generation GapZarafa SummerCamp 2012 - Open Generation Gap
Zarafa SummerCamp 2012 - Open Generation Gap
 
Zarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxy
Zarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxyZarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxy
Zarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxy
 
Zarafa SummerCamp 2012 - Zarafa 7.1 features
Zarafa SummerCamp 2012 - Zarafa 7.1 featuresZarafa SummerCamp 2012 - Zarafa 7.1 features
Zarafa SummerCamp 2012 - Zarafa 7.1 features
 
Zarafa SummerCamp 2012 - Z-push 2.0 changes for administrators
Zarafa SummerCamp 2012 - Z-push 2.0 changes for administratorsZarafa SummerCamp 2012 - Z-push 2.0 changes for administrators
Zarafa SummerCamp 2012 - Z-push 2.0 changes for administrators
 
Zararfa SummerCamp 2012 - Performing fast backups in large scale environments...
Zararfa SummerCamp 2012 - Performing fast backups in large scale environments...Zararfa SummerCamp 2012 - Performing fast backups in large scale environments...
Zararfa SummerCamp 2012 - Performing fast backups in large scale environments...
 
Zarafa SummerCamp 2012 - Communication - how engineers can outperform
Zarafa SummerCamp 2012 - Communication - how engineers can outperformZarafa SummerCamp 2012 - Communication - how engineers can outperform
Zarafa SummerCamp 2012 - Communication - how engineers can outperform
 

KĂŒrzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

KĂŒrzlich hochgeladen (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Zarafa SummerCamp 2012 - Exchange Web Services on Zarafa

  • 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 goals In order of priority: 3.Support e-mail handling in Outlook 2011, Mac Mail 4.Support addressbook handling in Outlook 2011, Mac Addressbook 5.Support calendar handling 6.Support MR/TR handling 7.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 latency Pull - 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