If you don’t know anything about the Open Data Protocol—known as OData—it’s really quite simple. OData is a standard for providing a REST interface to a database. On the service side, OData is a layer that you create in top of a database (SQL Server, Azure, and MySQL) to provide those REST entry points using .NET, Java, PHP, and node.js. On the client side, you can then make HTTP requests to those endpoints directly, or use one of many OData client libraries.

Those libraries, along with more information about OData, can be found on http://www.odata.org. here’s the definition of the technology from that page:

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.

If you go to the OData Ecosystem page, you’ll see listings of consumers (apps and libraries for both clients and servers), serious applications, significant services that support OData (such as Netflix, eBay, and StackOverflow), and some other bits.

If you’re working in JavaScript, as I generally do, you can use the JavaScript client library (datajs) which can be installed via NuGet in Visual Studio. The documentation for it can be found on http://datajs.codeplex.com/documentation. There are also .NET libraries.

I’m planning to do a series of posts on this topic to go into the details, but that takes a little time to put together!

P.S. If you’re interested in how OData relates to other data-access technologies that Microsoft has put out over the years, check out Microsoft Data Development Technologies: Past, Present, and Future, an article that I wrote when I was working in the SQL Server organization and ran the MSDN data developer center.


Comments are closed