Ever since the ADO.NET team started development on Astoria (pre-release), I have loved the concept. Since its release (it was called ADO.NET Data Services and is now WCF Data Services), I’ve used it a ton (you may remember the example from this post). Back at MIX10, Microsoft announced a commitment to the Open Data Protocol (OData). WCF Data Services enables you to create services that use OData to expose and consume data, both with .NET 4 and .NET 3.5 SP1. OData services are very powerful and there are quite a few live producers such as Netflix and Nerd Dinner.
OData is so powerful because it’s REST based and you can access the services from just about everywhere, including just a simple URL. For example, using the Netflix OData service to access the best movie ever made by title: http://odata.netflix.com/Catalog/Titles?$filter=Name eq 'Office Space'. Pretty simple. Of course accessing things solely based on URLs in code isn’t the best, and hence the reason for my post.
Client Libraries
When using OData, it’s convenient to utilize an SDK to access the services. For example, in Silverlight you can access OData services using LINQ. There’s also a fantastic AJAX Library (which I used in a previous post). There are SDKs for PHP, Objective-C, and many others, but there was one missing that I wanted to use… Ruby. I am assuming this comes as no surprise given my new found love for Ruby. More...