What is OData, and why is it important?
Posted by Steve Lay
At the recent Questionmark Users Conference I teamed up with Howard Eisenberg, our Director of Solution Services, to talk about OData. Our session included some exciting demonstrations of our new OData API for Analytics. But what is OData and why is it important?
OData is a standard for providing access to data over the internet. It has been developed by Microsoft as an open specification. To help demonstrate its open approach, Microsoft is now working with OASIS to create a more formal standard. OASIS stands for the Organization for the Advancement of Structured Information Standards; it provides the software industry with a way to create standards using open and transparent procedures. OASIS has published a wide range of standards, particularly in the areas of document formats and web service protocols — for example, the OpenDocument formats used by the OpenOffice application suite.
Questionmark’s Open Assessment Platform already includes a set of web-service APIs (application programming interfaces). We call them QMWISe and they are ideal for programmers who are integrating server-based applications. With one QMWISe request you can trigger a series of actions typical of a number of common use cases. There are, inevitably, times when you need more control over your integration, though, and that is where OData comes in.
Unlike QMWISe, OData provides access to just the data you want. It has scalability built right in to the protocol. Using the conventions of OData, you can make highly specific requests to get a single data item or you can use the feature of linked-data to quickly uncover relationships.
OData works just like the web: each record returned by an OData request contains links to other related records in exactly the same way as web pages contain hyperlinks to other web pages. Want to know about all the results for a specific assessment? It is easy with OData, just follow the results link in the assessment’s record.
OData is also based on pre-existing internet protocols, which means that web developers can use it in their applications with a much easier learning curve. In fact, if a tool already supports RSS/Atom you can probably start accessing OData-feeds right away!
As we build our support for the OData protocol, we join a growing community. OData makes sense as the starting point for any data-rich standard. Last week I was at CETIS 2013, where there was already talk of other standards organizations in the e-Learning community adopting OData as a way of standardizing the way they share information.