Presentation is loading. Please wait.

Presentation is loading. Please wait.

Shyam Pather Development Manager Microsoft Session Code: DTL208.

Similar presentations


Presentation on theme: "Shyam Pather Development Manager Microsoft Session Code: DTL208."— Presentation transcript:

1

2 Shyam Pather (spather@microsoft.com) Development Manager Microsoft Session Code: DTL208

3 Agenda ADO.NET Data Services Intro What is v1.5? A Tour of v1.5 Features Server Enhancements Row count Server-side paging Customizable feeds BLOB streams Client Enhancements Row Count WPF/SL data binding

4 Data in the Web HTML + Javascript Data (XML,JSON,…) DLL + XAML Data (XML,JSON,…) Mashup UI Data Feeds AJAX Applications Silverlight Applications Online Services Mashups

5 A RESTful Interface for Data 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

6 Model and Operation Semantics 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

7 URL Conventions Addressing entities and sets Presentation options 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 Sorting/Bookmarks?$orderby=Name Filtering/Bookmarks?$filter=Created gt '2007-05-07' Paging/Bookmarks?$top=10&$skip=30 Inline expansion/Bookmarks?$expand=Tags

8 Data Services for the Web

9 Data Access Layer Creating Data Services Create services directly from Visual Studio Various data sources Entity Framework LINQ providers Model-driven Structural description in Entity Data Model Metadata shapes service Entity Framework Custom LINQ provider Relational database Other sources Service Runtime Hosting/HTTP listener HTTPHTTP IQueryable [+ IUpdatable]

10 Refining and Securing Services Per-container visibility control Read, Query and Write options Visibility Integrate with hosting environment ASP.NET, WCF or custom authentication schemes Authentication Execute before HTTP GET/PUT/POST/DELETE Enable validation, custom row-level security policies Maintain the REST interface Interceptors Custom entry points, e.g. /MyTags?startDate='2007-01-01' Composable, follow URI scheme Service Operations

11 More Features… Optimistic Concurrency Integrates with EF notion of concurrency tokens per type Uses existing HTTP semantics (ETags) Batching Create responsive, operation intensive applications Enables “all or nothing” groups of CUD operations Versioning Simple versioning scheme Error Handling & Contracts Map exceptions in service-tier to platform independent, HTTP-friendly responses Debug mode to control verbosity of error information on the wire

12 Consuming Data Services An HTTP stack is enough AtomPub clients.NET Framework & Silverlight LINQ to ADO.NET Data Services Framework AJAX

13 Building and Consuming Data Services

14 What is v1.5? v1 shipped in.NET 3.5 SP1 Client library in Silverlight 2 & 3 SDK v1.5 is “the next version” In-place update to.NET 3.5 SP1 Also ships in.NET 4.0 OOB update to client library in Silverlight 3 SDK. When? RTM this fall

15 Features in v1.5 Server enhancements Row count Server-side paging Customizable feeds BLOB streams Client enhancements Row Count WPF/SL data binding

16 Row Count /Products n # of products /Products?$skip=10&$take=10 10 products 1.No paging 2.Potentially lots of data 1.No idea of total # of products

17 Row Count (cont.) /Products/$count?$skip=10&$take=10 Count /Products?$skip=10&$take=10&$inlinecount=allpages 10 products + Inline Count 1.No data

18 Server-Side Paging /Products 500,000 products 500,000 product records You can’t always assume the client will do the right thing…

19 Server-Side Paging (cont.) /Products 20 products + link to next page /Products?$skiptoken=20 500,000 product records 20 products + link to next page 500,000 product records

20 Row Count & Server-Side Paging Name Title Company

21 Customizable Feeds Title? Author? Atom Pub (APP) Entry Document

22 BLOB Streams Base64 String

23 BLOB Streams (cont.) /Products(1)/Photo Photo Metadata /Products(1)/Photo/$value Photo Image

24 Customizable Feeds and BLOB Streams

25 Client Enhancements Data Service Context Row Count BLOB Server- Side Paging Friendly Feeds WPF Data Binding

26 Data Service Entity Data Service Entity WPF Framework Element WPF Framework Element 2. Bind data to control 3. Modify data within control Data Service Context Data Service Context 1. Retrieve data 4. Notify context of the change

27 WPF Data Binding (cont.) Data Service Entity List Data Service Entity List WPF Items Control WPF Items Control 2. Bind data to control 3. Modify data within control Data Service Context Data Service Context 1. Retrieve data 4. Notify context of the change

28 Databinding Enhancements Name Title Company

29 Summary Create and consume data services with a flexible RESTful interface Growing unified ecosystem of libraries & tools We’re making improvements, starting with v1.5 Give it a try! Feedback is welcome :) You can use v1 in.NET 3.5 SP1 Minor enhancements in.NET 4.0 Beta 1 CTP of v1.5 available

30

31 My Contact Info spather@microsoft.com

32 www.microsoft.com/teched International Content & Community http://microsoft.com/technet Resources for IT Professionals http://microsoft.com/msdn Resources for Developers www.microsoft.com/learning Microsoft Certification & Training Resources Resources Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings from Tech-Ed website. These will only be available after the event. Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings from Tech-Ed website. These will only be available after the event. Tech ·Ed Africa 2009 sessions will be made available for download the week after the event from: www.tech-ed.co.zawww.tech-ed.co.za

33 Track Resources ADO.NET Data Services Team Blog: http://blogs.msdn.com/astoriateam/ ADO.NET Team Blog: http://blogs.msdn.com/adonet/ Phani’s Blog: http://blogs.msdn.com/phaniraj/ Required Slide Track Owners to provide guidance. Please address any queries to your track owners. Required Slide Track Owners to provide guidance. Please address any queries to your track owners. Peter Qian’s Blog: http://blogs.msdn.com/peter_qian/ Andy Conrad’s Blog: http://blogs.msdn.com/aconrad/

34 Related Content Sessions: DTL312: The ADO.NET Entity Framework: Tips & Tricks DTL312: The ADO.NET Entity Framework: Tips & Tricks DTL402: The ADO.NET Entity Framework 4 DTL402: The ADO.NET Entity Framework 4 DTL401: How LINQ Works: A Deep Dive into the Microsoft Visual Basic and C# Implementations DTL401: How LINQ Works: A Deep Dive into the Microsoft Visual Basic and C# Implementations Whiteboard Sessions: WTB211: A Strategic Comparison of Data Access Technologies from Microsoft WTB211: A Strategic Comparison of Data Access Technologies from Microsoft Hotlabs: DTL20H: Application Development with the ADO.NET Entity Framework in the Microsoft.NET Framework 4 DTL20H: Application Development with the ADO.NET Entity Framework in the Microsoft.NET Framework 4 SOA12H: WCF 3.5: Introducing Windows Communication Foundation 3.5 SOA12H: WCF 3.5: Introducing Windows Communication Foundation 3.5 Required Slide Speakers, please list the Breakout Sessions, TLC Interactive Theaters and Labs that are related to your session. Any queries, please check with your Track Owner. Required Slide Speakers, please list the Breakout Sessions, TLC Interactive Theaters and Labs that are related to your session. Any queries, please check with your Track Owner.

35 Required Slide Complete a session evaluation and enter to win! 10 pairs of MP3 sunglasses to be won

36 © 2009 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. Required Slide


Download ppt "Shyam Pather Development Manager Microsoft Session Code: DTL208."

Similar presentations


Ads by Google