Using the Uniform Interface Exposed By Data Services


In some of our past posts, we’ve discussed one of the benefits of data services is that the interface to such a service is uniform.  This means that how you interact with each service (issue a query, insert a new entity, etc) is the same across all services regardless of the schema being exposed.  This uniform interface leads to one of the value propositions of data services, which is the ability to create reusable code for service consumption.  That is, one can now write reusable client libraries, LINQ providers, app/UI components, widgets, etc that are able to work across any data service.  Furthermore, since payloads are largely self describing, such reusable artifacts need a relatively small amount of input from the developer.  For example, at MIX 08 we showed a simple AJAX grid control we created that given the root URL of a service and the target entity set (ex. Customers) it could display all customers, enable paging, sorting, relationship traversal, etc. 

So, I said all that to point at this: 

http://blogs.telerik.com/RosenKonstantinov/Posts/08-06-27/RadGrid_Client_Data_Binding_And_ADO_Net_DataServices_example.aspx

This is a blog on the Telerik site we came across the other day that shows some exploring the folks at Telerik are doing around Data Services.

Do you know of another interesting use of data services?  If so, we’d love to hear about it.

 

-Mike Flasko

Program Manager, ADO.NET Data Services


Comments (6)

  1. Colin Jack says:

    "Furthermore, since payloads are largely self describing, such reusable artifacts need a relatively small amount of input from the developer."

    I’ve not really looked at Astoria in any detail but this makes me think that you are including links/forms in the representations?

  2. pabloc says:

    Colin: yes, payloads include links, but not forms. By "self describing" Mike meant from the structural perspective. We do have a metadata system that allows custom annotations in models. Those could be used to pass around UI hints (e.g. best UI widget to use for a given field/entity), but they are not intrinsic to Data Service or to a particular schema.

    -pablo

  3. Astoria is much better than originally expected; I am wondering who well it can meet the ‘intrinsic’ demands of the sql server 2008 Dynamic Data Services Paradigms – because if it can; then it will fulfill the ‘high calling’ of Information Integration for Semantic Interoperability which many sectors of public and private institutions are ‘crying for’.

  4. pabloc says:

    Keith: glad to hear you like how Astoria turned out. Can you elaborate more on what you mean by "intrinsic demands of the sql server 2008 dynamic data services paradigms"?

    -pablo

  5. I see tons of potential with Astoria being compatible with AtomPub.  You could write almost any kind of system on top of AtomPub: forums, tasklist, calendar, project tracking, blogging, photo album, asset tracking, wiki… the list goes on and on.  I’ve started a WCF AtomPub implementation on codeplex called blogsvc (see http://blogsvc.net) that may or may not be superseded by Astoria.