A couple weeks ago in Vegas, a new protocol was released: Open Data Protocol (OData). I can hear it from here, you're now thinking "oh well, oh well, yet another protocol...new standards, new protocols emerge every other day".
But I think this one is a little different and worth taking a deeper look at.
In a nutshell, this is a new data access protocol based on the REST principles, and is meant to facilitate sharing of data between heterogeneous parties (i.e. data producers, data consumers). An OData-enabled source essentially allows you to query and manipulate the data it exposes, by means of a simple URL.
I'd like to invite you to read what follows (a quick example I made up and a few links to more information) and then tell us what you think: are you interested in this? Do you have a brilliant idea on how you would implement this in your applications, in your organization? Do you think it would be valuable for our customers and partners if OSIsoft invested into OData?
Take our http://www.osisoft.com website as an example. And say you have your own website where you want to list upcoming OSIsoft events (e.g. Users Conference, OSIsoft vCampus Live!, regional seminars, etc.). With an OData-enabled version of our website, you could probably query it like this:
Which would return you an XML-type document (i.e. Json/Atom type feed) that lists the different things you can query, say:
Then you probably guessed it, you could query http://odata.osisoft.com/events which would return an XML document listing all events with all corresponding information and links.
One could also filter on the fields you get back from the service, as well as sort them in the desired order. As an example, you might want to focus on the "Regional Seminars" type of event, or on events being held in San Francisco - the latter query might look this this:
http://odata.osisoft.com/events?$filter=Location eq 'San Francisco'
Now imagine a growing number of OData-enabled data sources, from various data providers, and a growing collection of OData consumer applications... everything gets to be interconnected. From some application on your smart phone, you could get from the OSIsoft website to the upcoming Users Conference (April 26-28 in San Francisco), to the actual hotel and the list of services they provide, to a list of suggested restaurants in the area, and ultimately make a reservation at that restaurant's website.
And then take this to the PI and AF level: the ability to search/read/edit/delete data from PI and AF, from all sorts of OData-enabled clients (thick client, smart phone, website, ...) - sounds good to you?
While Microsoft is the key actor behind this, they really mean it to be an open protocol which hopefully gets standardized at some point. They are really serious about it and even implemented it in SharePoint 2010 (SharePoint lists are "OData queryable").
You can find out more here:
- The announcement in a MIX keynote (59th minute): http://live.visitmix.com/MIX10/Sessions/KEY02
- The "There's a feed for that" session from MIX: http://live.visitmix.com/MIX10/Sessions/FT12
- The "Implementing OData" session from MIX: http://live.visitmix.com/MIX10/Sessions/FT13
- The OData website: http://www.odata.org
So let me ask you again: what do you think about this? Interesting or not? Already got a couple brilliant ideas on how you would implement this? How about OSIsoft exposing PI and AF data via an Odata producer?