shyam pather development manager microsoft session code: dtl208

Download Shyam Pather Development Manager Microsoft Session Code: DTL208

If you can't read please download the document

Upload: shauna-foster

Post on 18-Jan-2018

225 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

Shyam Pather Development Manager Microsoft Session Code: DTL208 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 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 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 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 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 ' ' Paging/Bookmarks?$top=10&$skip=30 Inline expansion/Bookmarks?$expand=Tags Data Services for the Web 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] 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=' ' Composable, follow URI scheme Service Operations 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 Consuming Data Services An HTTP stack is enough AtomPub clients.NET Framework & Silverlight LINQ to ADO.NET Data Services Framework AJAX Building and Consuming Data Services 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 Features in v1.5 Server enhancements Row count Server-side paging Customizable feeds BLOB streams Client enhancements Row Count WPF/SL data binding 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 Row Count (cont.) /Products/$count?$skip=10&$take=10 Count /Products?$skip=10&$take=10&$inlinecount=allpages 10 products + Inline Count 1.No data Server-Side Paging /Products 500,000 products 500,000 product records You cant always assume the client will do the right thing 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 Row Count & Server-Side Paging Name Title Company Customizable Feeds Title? Author? Atom Pub (APP) Entry Document BLOB Streams Base64 String BLOB Streams (cont.) /Products(1)/Photo Photo Metadata /Products(1)/Photo/$value Photo Image Customizable Feeds and BLOB Streams Client Enhancements Data Service Context Row Count BLOB Server- Side Paging Friendly Feeds WPF Data Binding 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 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 Databinding Enhancements Name Title Company Summary Create and consume data services with a flexible RESTful interface Growing unified ecosystem of libraries & tools Were 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 My Contact Info International Content & CommunityResources for IT ProfessionalsResources for DevelopersMicrosoft 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: Track Resources ADO.NET Data Services Team Blog:ADO.NET Team Blog:Phanis Blog: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 Qians Blog:Andy Conrads Blog: 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. Required Slide Complete a session evaluation and enter to win! 10 pairs of MP3 sunglasses to be won 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