Yesterday I did the “Building RESTFul applications with the Open Data Protocol” session at VSLive on Microsoft’s campus in Redmond, Wa. We had a lot of fun, we did the following:
- Looked at some public OData feeds listed at Odata.org
- We randomly picked a feed, the City of Vancouver street parking feed, and consumed it
- We also discovered that they have weird primary keys
- we also discovered the FireFox consumed the OData feed much faster then IE (this on Microsoft’s own network!)
- Saw how to create a feed automatically from SQL Azure tables
- Consumed a feed in Microsoft PowerPivot
- Build a feed on the fly using the Entity Framework and WCF Data Services
- Consumed that feed in ASP.NET and Silverlight
- Also looked at Query Interceptors and Service Operations briefly
- Talked about security, both at the service level and at the IIS/ASP level
- Made fun of the previous speaker
- Showed how you can create a feed using 3rd party tools
I wrapped up the talk with a discussion about when you would use OData compared to other technology, such as RIA Services. My rule of thumb was that if you are building an application that you control and your users will consume, you should consider technology such as RIA Services (if you are using Silverlight) or ASP.NET, MVC, etc. If you want to expose parts of your application as a data feed and let others consume it and build applications around it then consider OData.
You can download the slides and code here.