What is the Open Data Protocol?
The Open Data Protocol (OData) 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 protocol emerged from experiences implementing AtomPub clients and servers in a variety of products over the past several years. OData is being used to expose and access information from a variety of sources including, but not limited to, relational databases, file systems, content management systems and traditional Web sites.
OData is consistent with the way the Web works - it makes a deep commitment to URIs for resource identification and commits to an HTTP-based, uniform interface for interacting with those resources (just like the Web). This commitment to core Web principles allows OData to enable a new level of data integration and interoperability across a broad range of clients, servers, services, and tools.
Why use the Open Data Protocol?
Currently a lot of common ways of designing web API's have emerged on the web. Many of them already apply REST or CQRS principles and use JSON or XML to expose data.
However these API surfaces are hardly uniform. What does it mean to do a POST to a particular resource? If I found a resource how can I find related resources? How do I apply complex filters over the data to only retrieve the resources I am interested in?
All these questions have to be answered in developer documenation about the API and if you want to use different Data API's you need to learn how to interact with each API separately.
OData solves this problem by providing a uniform way to expose, structure, query and manipulate data using REST practices and JSON or ATOM syntax to discribe the payload. OData also provides a uniform way to represent metadata about the data, allowing computers to know more about the type system, relationships and structure of the data.
Choosing to expose your data as OData you tap into a large ecosystem that can target your dataset without any modification. You also tap into an ecosystem of developers since a lot of developers already know how to target an OData API and they won't have to learn anything new to get going with your dataset.
How to create or consume the Open Data Protocol?
How you develop an application which uses the OData protocol is dependent on which framework and programming language you are used to creating applications in. The OData community consists of a collection of libraries and each of them have their own download and documentation websites. You can explorer all current libraries and find links to those projects on the developer section of this website.
OData is released under the Open Specification Promise to allow anyone to freely interoperate with OData implementations.
How to participate: Join the OData mailing list to ask questions about the protocol and discuss how it should evolve over time. Or join the OASIS OData Technical Committee to directly participate in standardizing OData.