Carlos Femmers Blog

Carlos Femmer lives in Lafayette, LA and builds a few solutions for JCLS and Agency Virtual Tours

What is ADO.NET Data Services in plain English

March 18, 2008 09:57 by carlos

I am trying to get my head around the concept of ADO.NET Data Services.  Why is there a need for such a component and what was wrong with web services.  I did a search and found this interesting explanation by Mike Flasko.  Here is his explanation (Easy for me to understand!!!).

In general the goals of ADO.NET Data Services are to create a simple REST-based framework for exposing data centric services.  We built the framework in part from analysis of traditional websites and then looked at how architectures were changing with the move to AJAX and RIA based applications.  One key observation the team had was that in traditional approaches to web development the information exchanged between a client (ex. a webbrowser) and the mid tier was a combination of presentation + behavior + data (ex. HTML file with javascript and inline HTML tables of data) and that the core interactions to retrieve raw data was between the mid-tier and backend store (ex. SQL server or other).  When we looked at RIA, AJAX, smart client, etc applications it became apparent that these architectures pushed much more "smarts" to the client tier where the client first retrieves the presentation + behavior information (as a DLL in the case of a Silverlight application) and then as the user interacts with the client application, the app turns back (ex. background async call) to the mid-tier to retrieve the data needed to drive the user experience.  This is nothing new (separation of presentation + behavior from data), but its interesting to note it now not only a best practice but mandated in the architectures of today’s web and RIA apps. From this we looked at how such clients could consume data from the mid-tier today and how could we help improve the experience for the developer.  A few areas came up:

1)Creating and maintaining rich data oriented services with current approaches requires a significant developer investment

2) Building generation purpose client libs/tools with current approaches to data centric services is hard

For #1, imagine you wanted to expose the data in your CRM database to you client tier application.  Further assume you want to enable typical application scenarios like retrieving sorted views of the data, paging over the data, filtering, etc.  To expose this data as a set of callable remote methods (using current approaches to developing web services) you would need to write a large number of methods to expose each of the entities in your CRM DB (customers, orders, etc) and then add additional methods for each to retrieve entities by key, sort them, page over them, etc etc.  ADO.NET Data Services, addresses this issue by allowing you to declaratively state the contract of such a data centric service, by telling us the schema of the data and having the data services technology automatically create the required remote endpoints, enabling paging, sorting, etc with no code from the developer.  Then as you change your data model, your service endpoints also change.

For #2 above, an interesting artifact of a REST-based approach to web services is that it promotes creating a uniform interface.  That is, how you address items in an ADO.NET Data Service (i.e. how to construct URIs), how to interact with data (using HTTP verbs), etc is the same across any ADO.NET Data Service, regardless of the data it exposes.  This uniform interface enables code reuse against your web services such that one can create reusable client libraries and UI widgets for all their services.  For example, the ADO.NET Data Service team is doing this by shipping .NET , Silver light, AJAX, etc libraries which can talk to any data service.  In addition, this feature (uniform interface) enables us to add features such as LINQ to ADO.NET Data Services since the translation of LINQ query statements to URIs is stable and well known.

This is already probably a bit too long Smile, but in addition to the items noted above, additional advantages of REST-based approaches also apply such as rich integration with HTTP such that you can leverage existing HTTP infrastructure (ex. HTTP Proxies) deployed at large ... 

I hope that helps....

-Mike


Related posts

Comments

May 26. 2010 13:15

Adidas to adidas retro shoes its adidas superstar shoes founder cheap adidas shoes Adolf adidas basketball shoes darth Dassler adidas outlet shoes Adolf adidas shoes on sale (Adi), Adidas Stan Smith shoes in adidas 35th anniversary shoes 1920 adidas samba shoes to HeZuoGe adidas olympics shoes Obama in discount adidas shoes nuremberg, adidas high shoes t. adidas rainbow shoes (Herzogenaurach) began adidas shoes outlet to produce sale discount adidas shoes footwear products. adidas 60th anniversary shoes On adidas campus August 18, adidas shoes for sale 1949 by adidas adidas flat AG adidas jogging name sale cheap adidas shoes registration.

cheap adidas shoes on sale

May 27. 2010 08:46

Bold tries make impossible dreams became true.
An idle youth,a needy ago.
Book is the ladder of human progress
Easy said than done

sale cheap adidas shoes

May 27. 2010 09:59

A good beginning is half done.

dior handbags

June 4. 2010 08:41

Unique design and the item of material is few. Looking at these things, really want to take it home. After reading the post I am to design a room of my own according to the post .On the other hand I also saw some websites, such as www.aheadof-time.com let me harvest a lot. Hurry to see!

adidas campus