by
10. April 2010 15:38
I've heard oData uses quite a lot recently but been too bust to check it out. Well, now i've torn ligaments in my leg i'm getting time to read some of this stuff.
So, oData (Open Data Protocol) "provides a way to unlock your data and free it from silos that exist in applications today". An excellent example of its usage was demonstrated by Scott Hansleman where oData could be served from StackOverflow allowing developers to write oData queries directly against the Xml that is returned. Applying this idea to Twitter you may have something like this.

It got me thinking however - this is very powerful stuff and in many cases perhaps too powerful. There is a lot to be said in encapsulating functionality such as this being API's - it's easy to document, easy for developers to follow and the various flows required for an experience with the data provider can be optimized.
However, there is a very
powerful middle ground you don't really get with many of the API's today. With oData you could allow others to write the API's that interact with your system. So, if your system is an oData provider you can have several other developers who understand your data well enough that they can write various API's against your data to expose a host of different kinds of services. This is different from the current model - popularized in Twitter et al - whereby all people write against a strict API and doing anything out of the box (or a bug) requires waiting for Twitter to fix their API.
In the oData model you can have many API's and you choose the one that works for you. Something like this.
