Project “Astoria” first announced in Mix 2007
  Shared early prototypes, got tons of feedback

Now we’re talking about the...
HTML + Javascript     DLL + XAML                            Mashup UI




 Data (XML,JSON,…)   Data (XML,JSON,…)   Data (X...
Just HTTP
• Data as resources, HTTP methods to act on it
• Leverage caching, proxies, authentication, …

Uniform URL synta...
Underlying data model
  Entity Data Model
  Entities  Resources
  Associations  Links

            Operation semantics
 ...
Addressing entities and sets
 Entity-set           /Bookmarks
 Single entity        /Bookmarks(123)
 Member access        ...
HTTP

Create services directly
                                      Hosting/HTTP listener
from Visual Studio
            ...
Visibility
• Per-container visibility control
• Read, Query and Write options

Authentication
• Integrate with hosting env...
AJAX integration
   AJAX-friendly JSON format in services
   Javascript library that integrates with the
   ASP.NET AJAX t...
Web applications
  Data services client can be used in ASP.NET
  ASP.NET data source control for accessing
  remote servic...
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-20...
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 da...
Sessions
   Introducing SQL Server Data Services
   Accessing Windows Live Services with AtomPub
   Using the Microsoft Sy...
ADO.NET Data Services Framework
  Site: http://astoria.mslivelabs.com
  Blog: http://blogs.msdn.com/astoriateam
  Forums:
...
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be...
RESTful Data Services with the ADO.NET Data Services Framework
RESTful Data Services with the ADO.NET Data Services Framework
Upcoming SlideShare
Loading in...5
×

RESTful Data Services with the ADO.NET Data Services Framework

2,279

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
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,279
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
62
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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: http://astoria.mslivelabs.com Blog: http://blogs.msdn.com/astoriateam Forums: http://forums.microsoft.com/MSDN/ShowForum .aspx?ForumID=1430&SiteID=1 Contact me http://blogs.msdn.com/pablo pablo.castro@microsoft.com
  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.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×