Introduction to OData

Open Data Protocol (OData) is a web protocol for querying and updating data, proposed by Microsoft. It was the backbone protocol which drove ADO.NET Data Services or Astoria framework (now called as WCF Data Services) . It is built by adding extensions to AtomPub protocol.

AtomPub is a HTTP based protocol to create and update web resources which works on Atom Syndication format, an XML based language used for Web feeds. Web feeds allow applications to check for updates published on a Website. Atom format was developed as an alternative to RSS, to solve its backward compatibility issue.

OData adds the following features to AtomPub

  • A convention for representing structured data
  • A resource addressing scheme and URL syntax
  • A set of common query options (filter, sort, etc.)
  • Schema describing resource structure, links and metadata
  • Payload formats and semantics for batch and “unit of work” requests
  • Alternate representations of resource content (JSON)

OData Protocol is being used by number of applications like

  1. WCF Data Services,
  2. Sharepoint Server 2010
  3. Excel 2010 (SQL Server Power pivot for Excel)
  4. Windows Azure Storage
  5. SQL Server 2008 R2
  6. VS2008 SP1 and .NET Framework 3.5 SP1
  7. Dallas

Google has a similar protocol called GData (Google Data Protocol), which extends Atompub and RSS 2.0.

Microsoft has released OData Protocol under Open Specifications Promise (OSP) inviting everyone to use it as a standard. Third Party Products like IBM Websphere Extreme Scale has come to use OData.

Microsoft has released OData SDK in MIX 2010 and can be downloaded here. Netflix will expose its catalog of movies through OData. SQL Azure will now features an “OData Easy button” – a single click way to expose SQL Azure data to OData. A version of SDK for Objective C can be downloaded here.

It has also released Open Data Protocol Visualizer (CTP1), which works from VS 2010 Beta 2.

References

  1. Sites
    1. OData Website
    2. OData SDK to Objective C
    3. OData blog
    4. OData with SQL Azure
    5. OData SDK
    6. OData FAQ
    7. Open Data Protocol Visualizer
    8. IBM websphere extremescale
    9. Open Data Protocol
  2. Announcements
    1. Microsoft Proposes OData
    2. Microsoft delivers OData SDK – Announcement
    3. Announcing OData
    4. Updates on OData – Announcement
  3. Blogs
    1. Announcing OData SDK
    2. Implementing only certain aspects of OData
    3. Introducing Open Data Protocol Visualizer
    4. Article list – OData
    5. OData for Collaborative sense
  4. Videos
    1. OData the movie
  5. Conferences – MIX 2010
    1. OData: There’s a Feed for That
    2. Implementing OData: How to Create a Feed for That
  6. Podcast
    1. DotNetRocks
    2. Deep fried PodCasts