Skip to main content

Open sourcing Exchange Web Services (EWS) Java API

Victor Boctor is a principal architect on the Exchange team.

Our last release of Exchange Web Services Java API was in January 2013 (see blog post). Since then, we’ve received feedback about several issues with our model for supporting the Java client APIs. These issues include:

  • License is restrictive. It doesn’t allow sharing of source code modifications except with Microsoft.
  • Hard to contribute. The project doesn’t utilize collaboration platforms like CodePlex or GitHub to facilitate the process for contributing bugs, reports, patches, and other kinds of contributions.
  • Release cycle. There should be a more regular release rhythm, with more fixes and improvements.

Based on this feedback, we decided to do the work to make EWS Java API a true open source project. To accomplish that, we made the following changes for this release (1.3):

  • open source initiative approved licenseWe released under MIT license (approved by Open Source Initiative and friendly for usage in Open Source and Commercial products).
  • We released source code on GitHub via ews-java-api project, which will be leveraged as the primary platform for development of the project.
  • We welcome contributions from the community via GitHub issues, pull requests, and more.

These improvements enable the Exchange community of Java developers to contribute and help drive the project. You will also be able to leverage the latest dev or stable releases as you need them to enable your scenarios.

Some of the other modifications for the 1.3 release—so far—include:

  • Moving to use Maven for build system.
  • Fetching dependencies via Maven Central Repository.
  • Leveraging Maven to generate documentation site as part of build.
  • Javadoc fixes.
  • Using Markdown rather than Microsoft Word for the “Getting Started” guide.

These improvements should enable you to effectively collaborate on the project. So go ahead and submit your private fixes as GitHub pull requests to make your contributions to the 1.3 release and beyond!

We’ve also made available an Office 365 REST API with OAuth 2.0 support and an Android SDK that uses these REST APIs. This new API is recommended for developers who are targeting Office 365 customers, and you can continue to use the EWS Java API if your customers have on-premises Exchange, or the functionality you need isn’t yet offered as part of the REST API.

Thank you for your interest in Exchange. We welcome any feedback you have on our APIs and look forward to your using and improving them.

—Victor Boctor, Twitter: @vboctor


You may also like these articles

Episode 130 on SharePoint developer updates with Vesa Juvonen and Daniel Kogan—Office 365 Developer Podcast

In Episode 130 of the Office 365 Developer Podcast, Andrew Coates talks with Vesa Juvonen and Daniel Kogan about SharePoint Developer announcements at Build 2017.

Image for: Developer Podcast image

Episode 129 on Build announcements with engineering panel—Office 365 Developer Podcast

In Episode 129 of the Office 365 Developer Podcast, Richard diZerega and Andrew Coates talk with a number of key Office extensibility engineers about Build conference announcements. The panel includes Tristan Davis, Wey Love, Bill Bliss and Yina Arenas.

Episode 128 on Build preview with Yina Arenas—Office 365 Developer Podcast

In Episode 128 of the Office 365 Developer Podcast, Richard diZerega has an open chat with Yina Arenas about the behind the scenes preparation for the Build conference.