+1
Niall
On Mon, Jul 1, 2013 at 11:38 AM, Florian Müller f...@apache.org wrote:
Hi all,
I'd like to call a VOTE for acceptance of Olingo into the Apache incubator.
The proposal is pasted at the bottom on this email.
The corresponding wiki page is: http://wiki.apache.org/**
incubator/OlingoProposal http://wiki.apache.org/incubator/OlingoProposal
[ ] +1 Accept Olingo into the Apache incubator
[ ] +0 Don't care.
[ ] -1 Don't accept Olingo into the incubator because...
+1 from me (binding)
I'll close the VOTE next Sunday.
Thanks,
Florian
= Apache Olingo Proposal =
=== Abstract ===
Apache Olingo is a generic Java language implementation of the OData 2.0
specification which will serve as a code base for the upcoming OASIS OData
specification.
=== Proposal ===
The Open Data Protocol (OData) [1] is a Web protocol for querying and
updating data that provides a way to unlock your data and free it from
silos that exist in applications today. OData does this by applying and
building upon Web technologies such as HTTP, Atom Publishing Protocol
(AtomPub) and JSON to provide access to information from a variety of
applications, services, and stores.
The Apache Olingo is a library which enables developers to implement OData
producers and OData consumers. Basic principles of the library are to
provide an OData 2.0 specification compliant OData Library, enhancements
shall be possible in a compatible manner, have a clear separation between
Core and API, to provide an option to build extensions on top. This library
should be base for implementing future releases of the specification.
=== Background ===
OData was originally developed by Microsoft and is released in a version
2.0 under an Open Specification Promise [2]. A lot of companies did show
interests in this protocol, used it in products and gave feedback back to
Microsoft. This joined effort resulted in a new release OData 3.0 in 2012,
this version became the basis for the OASIS technical committee [3] which
is currently working on a new version of the specification. This OASIS
standard release is expected this year.
The initial Java code of this project was developed by a development team
that had already experience with other OData 2.0 and 3.0 implementations at
SAP AG. The current code base implements OData 2.0 and because of this
version is widely used it is a good starting point to build an open source
community for the OData standard.
The current code also comes up with an implementation of an OData sample
service. On the one side this is an example for users which want to use the
library to expose their own data and on the other side it illustrates how
implemented features work.
Additionally, the code base includes an extension which is called JPA
processor. With this extension it is easy to expose any JPA persistence
model via OData protocol without a lot of coding.
=== Rationale ===
More software vendors moving to OData means more choice for customers who
will be able to use different implementations. For the standard to succeed,
however, ensuring interoperability is paramount: in order to manage an ever
growing context and leverage the enormous portability and interoperability
issues that a globally adopted standard brings, it is necessary to think
about how to make the related ecosystem healthy and sustainable. Successful
modern standards are driven by:
Clear documentation, built iteratively with continuous feedback from
stakeholders
A clearly defined compatibility process, enforced by tools that allow to
gauge how implementations can be compatible and interoperable
Accurate compliance criteria, documented in writing as well as in actual
testing code that measure how tools and libraries are able to interoperate
A sample implementation to clear up potential doubts and ensure that the
standard can actually be implemented in real life scenarios
The above mentioned pieces are able to make the development activity,
towards an OData implementation, easier and more successful. Having an
healthy ecosystem will ensure a smoother implementation process, more
compliant products, and ultimately, a wider adoption of the standard.
The OData ecosystem has been successful in creating and documenting early
versions of the standard, yet it might potentially lack two very important
aspects, that is a exhaustive implementation of the complete protocol that
can be used productively and to ensure interoperability. As much as such
artifacts can be developed independently by any OData proponent, the value
of having a neutral party as a steward of actual code is to be considered.
The Apache Software Foundation has been playing this kind of role for many
years, and can provide the perfect environment to foster contributions on
the OData theme with a great amount of expertise.
=== Initial Goals ===
Implement OData 2.0, make it final and mature
Start implementation of OASIS