The ADO.NET Data Services Framework is a design specification that includes client and server libraries used to deploy data services on the Web or an intranet. Data is conveyed in the style of representational state transfer (REST) resources addressable by URIs. Data is structured as entities and relationships according to the specifications of the Entity Data Model (EDM).
ADO.NET Data Services use uniform patterns of data representation and transport, such as JSON and AtomPub. Multiple formats are supported so that client applications can select a representation that integrates best with their platform. The JSON format is particularly useful with AJAX application environments.
Applications interact with ADO.NET Data Services by using HTTP verbs such as GET, PUT, POST, or DELETE. The .NET Client Library (ADO.NET Data Services Framework) supports use of ADO.NET Data Services from platforms such as the .NET Framework and Silverlight.
the problem with SOAP (as opposed to the WS cruft that followed) was that the minimum envelope defined nothing, the extension rules took the wrong default (nustUnderstand) and content encoding was left as an exercise.
Even if you don't like Atom (or XML for that matter), if your carrier format is going to survive on the web, you need to have addressed these 7 primitives. This is what I tell people who prefer something domain specific and direct instead of trying to map the domain in abstract formats like Atom and SOAP - square off those and you're 80% there in terms of format quality and robustness. This applies I think to any format for use over the web or in a decentralised system, not just XML. Once a sloppy data format gets into the wild, you can't just refactor the callers, you have to version. And version. And version.
"This is what I tell people who prefer something domain specific and direct instead of trying to map the domain in abstract formats like Atom and SOAP - square off those and you're 80% there in terms of format quality and robustness."
In part 1 of REST with Rails we had an introduction to creating RestFull services with Rails. In this article we will be looking into serving this content using different representations including XML, JSON and Atom. Every resource has a representation, in fact, a given resource can have more than one representation. Users accessing our task manager will want to see an HTML page listing all their tasks, or they may choose to use a feed reader to subscribe to their task list; feed readers expect an Atom or RSS document. If we're writing an application we would want to see the tasks list as an XML document, or JSON object, or perhaps pull it into a calendar application in the form of an iCal list of todo and events. In this section we're going to explore resources by looking at multiple representations, starting with HTML and adding XML, JSON and Atom representations for our tasks list.