OData – Insights to Apache Olingo Incubator
As a continuation of the blog SAP OData Library Contributed to Apache Olingo (Incubator) I wanted to share some further insights into the Apache Olingo Incubator project.
About two years ago SAP started to invest into a new OData Library (Java). Goals for this effort were to implement a library which supports the OData Specification Version 2, which has nearly the same feature set one can find in SAP NetWeaver Gateway and to open source the library at Apache in order to build a developer community around OData.
Mid of 2013 SAP did a software grant of the library and contributed the source code to the newly formed Apache Olingo Incubator project. Shortly after, the project released version 1.0.0 in October 2013 and version 1.1.0 in February 2014. The next version 1.2.0 is already on its way and currently available as snapshot on Apache Olingo Incubator. There you can also find the release notes. The releases cover the OData Specification Version 2. The committers of the project work constantly on the documentation for users of the open source library and are happy to answer questions via the dev mailing list or via Jira.
Apache Olingo tends to evolve into a project hosting OData Implementations in different languages and technologies which is already a great success but the community has also some more milestones to focus on:
- Graduation, which means that the project leaves the incubator behind and becomes a top level project within the Apache Software Foundation
- Agreement within the community for a common roadmap of V4 feature development
- Merge the contributions into a common code base to go forward with the OData OASIS Standard (Version 4) feature development
- Release a first version of an OData Java Library supporting V4
- Release a first version of datajs supporting V4
Last but not least I also wanted to share some short facts around Apache Olingo (Incubator):
- 2 releases, the third one is on its way
- 19 initial committers
- 7 new committers
- 75 persons active on the mailing list
- 1025 commits in the git repositories
- more than 1500 mails via dev mailing list
- more than 150 Jira Issues closed / resolved
- about 20 tutorials available
With that I think there will be interesting times ahead of us in shaping the future of the Apache Olingo project.
We are interested to know what are your thoughts. So please share your comments, feedback with us by commenting to this post or if you already have more detailed questions or feature requests you may also use the dev mailing list for Apache Olingo directly. We, that is Christian Amend, Tamara Boehm, Michael Bolz, Jens Huesken, Stephan Klevenz, Sven Kobler-Morris and Chandan V.A. as the main initial committers, are happy to answer your questions.
What is the release date for 1.3? I see that lot of fixes are there is 1.3, If I have to use 1.3 version how can I do that right now?
A snapshot version of Olingo 1.3 is available here . Currently there is no release date scheduled for 1.3. But you can ask for a new release on the mailing list .
I've tried a few examples and it seems great!
I guess you are focusing on the library, however are you planning any tools (Eclipse)? Having gone through the example there is a lot of code which I would think could be auto generated based on a model definition, similar to SAP Gateway?
yes we are focusing on the library.
A starting point where tooling comes in is definitely using OData Modelers which produce edmx files. The library itself supports to write a service based on an edmx file without writing the EdmProvider on your own. Maybe that is something to build upon...
I am interested in contributing in the development of Olingo odata version 4.0 compliance work. Can you suggest me a suitable link to start with on the same. I am user of odata4j library at a very basic level right now.
to dig into version 4.0 of the protocol I'd like to recommend the following source of information to start with:
- Specifications: OASIS Open Data Protocol (OData) TC | OASIS
- Source codede repository: https://git-wip-us.apache.org/repos/asf?p=olingo-odata4.git
- Further mailing lists: http://olingo.apache.org/support.html
We are trying to migrate our OData implementation from the standard odata4j that comes with Netweaver to the Olingo 2.0 library. We are doing this mainly to implement batch calls. Can you help with some sample project because these two libraries are very different from each other?
the first place for documentation is the Olingo website. There you can find a V2 tutorial section: http://olingo.apache.org/doc/odata2/index.html
You can also subscribe to the Olingo mailing lists as described here: http://olingo.apache.org/support.html
Thanks for your prompt response. As I understand, collections of complex types are not supported in Olingo 2.0. Is there any workaround for this? In our case we have defined a lot of collections of complex types embedded within entity types, changing it will be a huge effort.
collections of complex types within entity types is not compliant with the OData Version 2.0 protocol version. For that you would have to use OData V3 or higher.
There is also a Olingo library for OData V4 but not for V3.
You could change the metadata if possible to model those collections as a navigation to another entity type with multiplicity "one to many".
Thanks a lot for your help Christian!
We are developing an application using Olingo 2.0. I would like to know how can post batch hook be incorporated in annotation based list processor. Following is the use case we have
We are ensuring that rollback happens in case of DB failure during changeset processing by overriding executeChangeSet method. So atomic operation at DB level is ensured.
What we want in addition to that is, we want to call the external service only after we are done processing all the ODataRequests. Pasting the code from Oling Read Write Batch for your reference.