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.

RESTful Data Services with the ADO.NET Data Services Framework


Published on

Learn how to use ADO.NET Data Services Framework to easily create and consume REST data services on the web. This session will cover the main concepts of the ADO.NET Data Services Framework (aka Project "Astoria"), show how to use it, and discuss how to use it with Microsoft's broader vision of a common interface for Windows Live and 3rd party services.

Published in: Technology
  • Be the first to comment

RESTful Data Services with the ADO.NET Data Services Framework

  1. 1. Project “Astoria” first announced in Mix 2007 Shared early prototypes, got tons of feedback Now we’re talking about the real deal Production quality bits, real-word scenarios We did a “transparent design” exercise Went great!
  2. 2. HTML + Javascript DLL + XAML Mashup UI Data (XML,JSON,…) Data (XML,JSON,…) Data (XML,JSON,…) Data Feeds AJAX Silverlight Online Mashups Applications Applications Services
  3. 3. Just HTTP • Data as resources, HTTP methods to act on it • Leverage caching, proxies, authentication, … Uniform URL syntax • Every piece of information is addressable • Predictable and flexible URL syntax Multiple representations • Use regular HTTP content-type negotiation • Atom*, JSON and Plain XML • *full AtomPub protocol support
  4. 4. Underlying data model Entity Data Model Entities  Resources Associations  Links Operation semantics Usual mapping of HTTP methods GET  retrieve resource POST  create resource PUT  update resource DELETE  delete resource
  5. 5. Addressing entities and sets Entity-set /Bookmarks Single entity /Bookmarks(123) Member access /Bookmarks(123)/Name Link traversal /Bookmarks(123)/Tags Deep access /Bookmarks(123)/Tags('abc')/Name Raw value access /Bookmarks(123)/Names/$value Presentation options Sorting /Bookmarks?$orderby=Name Filtering /Bookmarks?$filter=Created gt '2007-05-07' Paging /Bookmarks?$top=10&$skip=30 Inline expansion /Bookmarks?$expand=Tags
  6. 6. HTTP Create services directly Hosting/HTTP listener from Visual Studio Service Runtime Various data sources IQueryable [+ IUpdatable] Entity Framework Data Access Layer LINQ providers Entity Custom LINQ provider Framework Model-driven Structural description in Entity Data Model Metadata shapes service Relational Other database sources
  7. 7. Visibility • Per-container visibility control • Read, Query and Write options Authentication • Integrate with hosting environment • ASP.NET, WCF or custom authentication schemes Interceptors • Execute before HTTP GET/PUT/POST/DELETE • Enable validation, custom row-level security policies • Maintain the REST interface Service Operations • Custom entry points, e.g. /MyTags?startDate='2007-01-01' • Composable, follow URI scheme
  8. 8. AJAX integration AJAX-friendly JSON format in services Javascript library that integrates with the ASP.NET AJAX toolkit Silverlight support .NET programming model for data services Object based, LINQ enabled API Code-gen entity types from metadata
  9. 9. Web applications Data services client can be used in ASP.NET ASP.NET data source control for accessing remote services Desktop applications Fully-featured .NET client library Same API in desktop and Silverlight environments
  10. 10. Where do we go from here? Beta 1 will ship in a few weeks We sneaked a current build in the Mix DVD ;-) RTM mid-2008 In summary… Create and consume data services with a flexible RESTful interface Growing unified ecosystem of libraries & tools Give it a try! Feedback is welcome :)
  11. 11. We’re looking at what we need to do next “Astoria Offline” is one we’ve been exploring Imagine if you could point to a data service and say “take it offline”… …we automatically create a SQL Server Compact database and setup sync profiles for you Then you write a regular “local” application …well, almost that easy ;-) Check out prototypes of this here at Mix
  12. 12. Sessions Introducing SQL Server Data Services Accessing Windows Live Services with AtomPub Using the Microsoft Sync Framework and FeedSync Building RESTful Real World Applications with the ADO.NET Data Services Framework Also check out the hands-on labs!
  13. 13. ADO.NET Data Services Framework Site: Blog: Forums: .aspx?ForumID=1430&SiteID=1 Contact me
  14. 14. © 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.