{"id":2053,"date":"2008-07-11T20:13:15","date_gmt":"2008-07-11T20:13:15","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/odatateam\/2008\/07\/11\/using-the-uniform-interface-exposed-by-data-services\/"},"modified":"2008-07-11T20:13:15","modified_gmt":"2008-07-11T20:13:15","slug":"using-the-uniform-interface-exposed-by-data-services","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/odata\/using-the-uniform-interface-exposed-by-data-services\/","title":{"rendered":"Using the Uniform Interface Exposed By Data Services"},"content":{"rendered":"<p>In some of our past posts, we&#8217;ve discussed one of the benefits of data services is that the interface to such a service is uniform.&nbsp; 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.&nbsp; This uniform interface leads to one of the value propositions of data services, which is the ability to create reusable code for service consumption.&nbsp; 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.&nbsp; Furthermore, since payloads are largely self describing, such reusable artifacts need a relatively small amount of input from the developer.&nbsp; 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.&nbsp; <\/p>\n<p>So, I said all that to point at this:&nbsp; <\/p>\n<p><a href=\"http:\/\/blogs.telerik.com\/RosenKonstantinov\/Posts\/08-06-27\/RadGrid_Client_Data_Binding_And_ADO_Net_DataServices_example.aspx\">http:\/\/blogs.telerik.com\/RosenKonstantinov\/Posts\/08-06-27\/RadGrid_Client_Data_Binding_And_ADO_Net_DataServices_example.aspx<\/a>  <\/p>\n<p>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.  <\/p>\n<p>Do you know of another interesting use of data services?&nbsp; If so, we&#8217;d love to hear about it.  <\/p>\n<p>&nbsp; <\/p>\n<p>-Mike Flasko  <\/p>\n<p>Program Manager, ADO.NET Data Services<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In some of our past posts, we&#8217;ve discussed one of the benefits of data services is that the interface to such a service is uniform.&nbsp; 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.&nbsp; This [&hellip;]<\/p>\n","protected":false},"author":512,"featured_media":3253,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2053","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-odata"],"acf":[],"blog_post_summary":"<p>In some of our past posts, we&#8217;ve discussed one of the benefits of data services is that the interface to such a service is uniform.&nbsp; 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.&nbsp; This [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/posts\/2053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/users\/512"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/comments?post=2053"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/posts\/2053\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/media\/3253"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/media?parent=2053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/categories?post=2053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/odata\/wp-json\/wp\/v2\/tags?post=2053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}