What is OData? An overview in 500 words or less.
What is OData? The shortest technical answer is that OData is a standard that defines a set of best practices for building and consuming RESTful APIs. But that’s already more jargon, so let’s start by unpacking the terminology at play.
First, an API is an interface that tells one application how to communicate with and use another application.
Meanwhile, REST is a standard that can access any API. Part of its standard library of functions includes: GET POST and PUT.
All APIs that want to be accessible through REST must implement those functions. And ODATA is one of those APIs.
A real-world example
To bring this concept to life, let’s use a simple example. Say you have a database of books that you want to make available over an API.
If you GET /books, you get a listing of all the books. If you POST a book, a new book is added to the database and you get back its book ID. If you GET /books/<id>, you get the individual book with ID <id>. If you PUT to an existing book ID, you can edit it.
This is a REST API and it’s pretty useful to put between a user interface and a database.
OData is an extension of the idea to allow you to, for instance:
- Ask only for a particular field of the book object. GET /books(1450)/Title
- Request a book together with its linked author object. GET /books(1450)?$expand=author
- Request all books published in May of 2014. GET /books?$filter=Published le 2014-05-31 and Published Ie 2014-05-1
These more advanced capabilities in the API allow the user interface programmers to answer questions better and more easily.
What is OData useful for?
Beyond this book example, then, what is OData broadly used for?
OData makes it much smoother and easier to query and share data between unconnected systems. Using an OData API, you can enable data from one application to interoperate with the other applications you use.
And, in the process, you remove data siloes. So, you can merge all your various data sources into a single, consolidated view. This increases the shared value of your data, allowing you to gain faster and more powerful insights.
OData works with a ton of tools. Think databases, business intelligence (BI) systems, CRMs, analytics platforms, even your bespoke in-house applications if you’re up to a little programming. This level of connectivity between systems creates vast BI and reporting opportunities.
You can set up all manner of reports, spreadsheets, dashboards, or web displays. And, because your data can be frequently and automatically queried, you get your results dynamically. (Rather than slow, clunky, manually generated data exports.)
So, what is OData?
The official answer is: a protocol for the creation and consumption of RESTful APIs. The layman’s answer is: OData is an efficient way for business intelligence teams to get specific data from one system to another.