InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Is OData The Ubiquitous Language For Application Collaboration?

Posted by Dilip Krishnan on Feb 02, 2010

Sections
Architecture & Design,
Development,
Enterprise Architecture
Topics
SOA ,
REST ,
.NET
Tags
OData ,
AtomPub

The Open Data Protocol (OData) specification opens up possibilities to a lot of interesting collaborative scenarios. Some of which are highlighted by Douglas Purdy, Pablo Castro and Jon Udell. 

The Open Data Protocol (OData) is a web protocol for querying and updating data. OData applies web technologies such as HTTP, Atom Publishing Protocol (AtomPub) and JSON to provide access to information from a variety of applications, services, and stores.

In an article, Jon Udell explores the various collaborative use-cases for the Open Data Protocol (OData) specification. He refers to an article in which Pablo Castro explains how aspects of the OData spec can be incrementally implemented...

OData is designed to be modular and grow as you need more features. We don't want to dictate exactly everything a service needs to do. Instead we want to make sure that if you choose to do something, you do it in a well-known way so everybody else can rely on that.

... as opposed to implementing the whole specification in one go. He suggests certain capability subsets that can be implemented such as Querying, Service metadata, batching etc.

We don't want to dictate exactly everything a service needs to do. Instead we want to make sure that if you choose to do something, you do it in a well-known way so everybody else can rely on that.

Douglas Purdy mentions one such implementation; and links to the folks at IBM who implemented the specification relying solely on the protocol documentation without ever having to collaborate with people at Microsoft! Also linked in a different post is a screen cast by Pablo that demonstrates the advantages of having a ubiquitous protocol serve as the glue that a wide variety of products in the Microsoft catalog have or will implement; that makes the exchange of data between them much simpler.

Jon Udel also beautifully demonstrates the power of such a protocol. In particular, the example he uses is one in which he filters of a list of bank locations in a certain area code and demonstrates how the OData feed can be consumed in Excel 2010’s PowerPivot to provide data analysis.

[If we] consider Pablo’s example, based on some Washington, DC datasets published using the Open Government Data Initiative toolkit. […] I’d like to suggest that there’s a huge benefit for users as well. Let’s look at one of those datasets, BankLocations, through the lens of Excel 2010’s PowerPivot”.

Jon concludes his article with a very interesting observation on the decentralized, collaborative network effects such services can produce.

When public datasets provide fully articulated web namespaces, though, things can happen in a more loosely coupled way. I can post my feedback anywhere — for example, right here on this blog. If I have something to say about the WashingtonFirst branch at 1500 K Street, NW, I can refer to it using an URL: 1500 K Street, NW. […] That URL is, in effect, a trackback that points to one record in the dataset. The service that hosts the dataset could scan the web for these inbound links and, if desired, reflect them back to its users.

To further such loosely coupled collaboration, Microsoft introduced a service Codename "Dallas", an information marketplace that brings data, imagery, and real-time web services from leading commercial data providers and authoritative public data sources together into a single location.

  • This article is part of a featured topic series on SOA

No comments

Watch Thread Reply

Educational Content

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?