RESTful real world applications using the ADO NET

  • Slides: 16
Download presentation
RESTful real world applications using the ADO. NET Data Services Framework Mike Flasko Program

RESTful real world applications using the ADO. NET Data Services Framework Mike Flasko Program Manager Microsoft Corporation

Agenda Why data services? Common challenges when creating rich web applications Creating rich web

Agenda Why data services? Common challenges when creating rich web applications Creating rich web applications with data services Future scenarios & roadmap

Why Data Services? HTML + Javascript Data (XML, etc) DLL + XAML Data (XML,

Why Data Services? HTML + Javascript Data (XML, etc) DLL + XAML Data (XML, etc) Mashup UI Data Feeds AJAX Silverlight Mashups & Applications Rich Clients Data (XML, etc) Online Services

Common Rich Web Application Challenges 1 2 3 4 5 Leverage existing developer knowledge

Common Rich Web Application Challenges 1 2 3 4 5 Leverage existing developer knowledge & code assets Provide rich, interactive, data-driven experiences Expressive, maintainable service contract Efficient network usage, minimize latency, … Secure data access Manage concurrent operations “But my data is …” Only accessible through stored procedures Not stored in a database

Enabling Reuse What practices and assets can be reused when targeting data services? Uniform

Enabling Reuse 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 3 rd Party Control Vendors: data service aware controls Familiar programming paradigms

Data Service Aware Controls demo

Data Service Aware Controls demo

Providing rich, interactive, data-driven experiences Service Operations • Custom entry points, e. g. /Customers.

Providing rich, interactive, data-driven experiences Service Operations • Custom entry points, e. g. /Customers. By. City? 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

Free. Natal: Rich web client using data services Greg Jensen Galen Murdock Senior Software

Free. Natal: Rich web client using data services Greg Jensen Galen Murdock Senior Software President/CEO Veracity Solutions Engineer Veracity Solutions customer

Controlling Access Can data services integrate with existing approaches for access control? Authentication Integrates

Controlling Access 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

Concurrency GET /Customers(1) 200, ETag: xx PUT/Customers(1) If-Match: xx 201, ETag: xx OR 412,

Concurrency GET /Customers(1) 200, ETag: xx PUT/Customers(1) If-Match: xx 201, ETag: xx OR 412, ETag: xx If its just HTTP, what about concurrent operations? Supports optimistic concurrency Integrates with existing HTTP infrastructure

Using Any Data Source “But my data is …” Data Create a data service

Using Any Data Source “But my data is …” Data Create a data service backed by a DB using the ADO. NET Entity Framework HTTP ADO. NET Data Service Custom Provider ADO. NET Entity Framework Any data source (DB, Web service, feed, file, etc) Supports stored procedures Expose any other data source using a custom provider

Looking Forward… Clients are not always “connected” How can we enable rich web clients

Looking Forward… 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

Summary & Roadmap A framework to create and consume REST-based data services Provides a

Summary & Roadmap 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

Related Talks & Resources RESTful Data Services with the ADO. NET Data Services Framework

Related Talks & Resources RESTful Data Services with the ADO. NET Data Services Framework Accessing Windows Live Services via Atom. Pub Using the Microsoft Sync Framework and Feed. Sync http: //blogs. msdn. com/astoriateam http: //www. freenatal. org

© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows Vista and other product names

© 2008 Microsoft Corporation. All rights reserved. Microsoft, 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.