OData Service for Team Foundation Server 2010 v1.0 released today is a sample allows you to expose an OData service for Team Foundation Server 2010. This service can make it easier to build applications for a multitude of devices which consume or manipulate data stored in Team Foundation Server 2010.
"OData exposes a way to work with data over the web. If you’re new to OData, I suggest spending a few minutes at http://www.odata.org/ reading about this evolving standard. It uses interfaces similar to REST, so that you can programmatically consume and manipulate data from any device or application stack which supports HTTP requests. DPE has been working with several organizations (such as PayPal, Facebook, and Netflix) and product groups to enable OData where it makes sense to do so. Team Foundation Server was an obvious choice since it not only allows developers to extend TFS in new and interesting ways, but it also allows us to further showcase support for this evolving standard with the developer community at large," stated Microsoft.
Brian Keller notes, that "Since the beta, we have invested heavily in better documentation and a better installation experience. We have also made a few bug fixes and added support for a few operations, mainly around build definitions. Everything we have done since the beta has been based on direct customer feedback."
The Redmond company writes, "The purpose of this project is to help developers work with data from Team Foundation Server on multiple types of devices (such as smartphones and tablets) and operating systems. OData provides a great solution for this goal, since the existing TFS2010 object model only works for applications developed on the Windows platform."
"TFS2010 application tier also exposes a number of web services, but these are not supported interfaces and interaction with these web services directly may have unintended side effects. OData, on the other hand, is accessible from any device and application stack which supports HTTP requests. As such, this OData service interacts with the client object model in the SDK (it does not manipulate any web services directly)."