Breaking Down ‘Data Silos’ – The Open Data Protocol (OData)
A few weeks ago we posted about steps we’ve been taking to enable a wide range of data sources (DB, SharePoint, Reports, Cloud storage services, etc) to expose their data for programmatic access from any platform (Java, PHP, Silverlight, .NET, AJAX, etc) using a simple HTTP/AtomPub based protocol as the means of communication. Our exploration in the area of data sharing has been driven by frustration we’ve observed in the broader community around the fact that data tends to exist in horizontal or vertical silos: it can be shared within a particular environment but often becomes difficult to use beyond its original intent. For example, one factor that can contribute to such a “silo effect”, is application domain/business logic that changes the shape of its data such that it is harder to share. As systems continue to become more interconnected, the need to reuse information in its raw form or exposed through layers of domain/business logic grows and, it probably goes without saying, such data becomes more valuable the more it can be shared. It is this need for data sharing, regardless of the type of data source, where the “silo effect” becomes increasingly painful.
Driven by the goal to enable simple data sharing across disparate data sources, today, at PDC, we are announcing the Open Data Protocol (OData). OData is an open protocol for sharing data that provides a way to break down data silos and increase the shared value of data by creating an ecosystem in which data consumers can interoperate with data producers in a way that is far more powerful than currently possible, enabling more applications to make sense of a broader set of data. Every producer and consumer of data that participates in this ecosystem increases its overall value. This is similar in many ways to Microsoft’s efforts with ODBC, although applied to the Web environment and supporting a variety of data sources including (but not limited to) relational databases, file systems, content management systems, and traditional web sites.
OData applies web technologies such as HTTP, Atom Publishing Protocol (AtomPub) and JSON to provide access to information from a variety of applications, services, and stores and will be published under the Open Specification Promise to allow anyone to freely interoperate with OData implementations. OData was previously known informally as the “data services protocol”, however, we’re renaming the specification to better express its intent. We are very interested in working with the web community around how to best align OData to future versions of AtomPub or other appropriate standards and welcome participation from anyone interesting in furthering the type of data sharing ecosystem OData strives to enable.
From a Microsoft standpoint, the Data Services framework was the first Microsoft technology to support the Open Data Protocol in Visual Studio 2008 SP1 and provides developers with client libraries for .NET, Silverlight, AJAX, PHP and Java. In addition to developing WCF Data Services, Microsoft currently supports the OData in SQL Server 2008 R2, Windows Azure Table Storage, Excel 2010 (through PowerPivot) and SharePoint 2010 with many other applications (such as Microsoft Mediaroom) in the works.
In addition to MSFT technologies, we’ve also already seen interest in the community to grow the OData ecosystem. For example, IBM’s WebSphere eXtreme Scale project implements the protocol to enable broad accessibility to their grid technologies.
We’re actively working to provide more public facing data and tools for OData. For now, be sure to check out www.odata.org. As we progress we’ll be sure to post our thoughts and ideas for your feedback. We look forward to your feedback and participation in this effort.
Lead Program Manager, Microsoft