Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Building RESTful Real World Applications with the ADO.NET Data Services Framework


Published on

Come hear from developers creating real-world applications and user-interface controls on top of the ADO.NET Data Services Framework (aka Project "Astoria"). Learn best practices for building RESTful applications and components,.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Building RESTful Real World Applications with the ADO.NET Data Services Framework

  1. 1. Why data services? Common challenges when creating rich web applications Creating rich web applications with data services Future scenarios & roadmap
  2. 2. HTML + Javascript DLL + XAML Mashup UI Data (XML, etc) Data (XML, etc) Data (XML, etc) Data Feeds AJAX Silverlight Mashups & Online Applications Applications Rich Clients Services
  3. 3. Leverage existing developer knowledge & code assets 1 Provide rich, interactive, data-driven experiences 2 Expressive, maintainable service contract Efficient network usage, minimize latency, … Secure data access 3 Manage concurrent operations 4 “But my data is …” 5 Only accessible through stored procedures Not stored in a database
  4. 4. What practices and assets can be reused when targeting data services? Uniform interface enables code reuse ADO.NET Data Services Framework client libraries & LINQ ASP.NET data source control 3rd Party Control Vendors: data service aware controls Familiar programming paradigms
  5. 5. Service Operations • Custom entry points, e.g. /CustomersByCity?city='Madrid' Eager/Lazy Loading of Related Entities • $expand construct to pull the entire graph of data needed in one request Filtering & Paging • Retrieve only the data needed, by pushing execution of filter expressions to the data source Batching • Send set of CUD operations to the data service to be executed using “all or nothing” semantics
  6. 6. Can data services integrate with existing approaches for access control? Authentication Integrates with existing infrastructure ASP.NET Forms, HTTP, Live ID, Custom, etc Authorization Locked by default Infrastructure to express your authorization policy
  7. 7. If its just HTTP, what about concurrent operations? GET /Customers(1) 200, ETag:xx Supports optimistic concurrency PUT/Customers(1) If-Match: xx Integrates with existing 201, ETag:xx HTTP infrastructure OR 412, ETag:xx
  8. 8. “But my data is …” Data Create a data service backed by a DB using the ADO.NET HTTP Entity Framework Supports stored procedures ADO.NET Data Service ADO.NET Custom Entity Expose any other data source Provider Framework using a custom provider Any data source (DB, Web service, feed, file, etc)
  9. 9. Clients are not always “connected” How can we enable rich web clients experiences while offline? Store changes locally Synchronize local data with a data service when reconnected
  10. 10. A framework to create and consume REST-based data services Provides a rich service tier for consumption by web clients Roadmap Special “release” for MIX attendees on the conference CD ADO.NET Data Services Framework Beta 1 to come in a few weeks… AJAX & ASP.NET Data source to come after Exploring offline integration with data services
  11. 11. RESTful Data Services with the ADO.NET Data Services Framework Accessing Windows Live Services via AtomPub Using the Microsoft Sync Framework and FeedSync
  12. 12. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.