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

Building RESTful Real World Applications with the ADO.NET Data Services Framework

Embed Size (px)

DESCRIPTION

Come hear from developers creating real-world applications and user-interface controls on top of the ADO.NET Data Services Framework (aka Project "Astoria"). Learn best practices for building RESTful applications and components,.

Citation preview

Page 1: Building RESTful Real World Applications with the ADO.NET Data Services Framework

RESTful real world applications using the ADO.NET Data Services FrameworkMike FlaskoProgram ManagerMicrosoft Corporation

Page 2: Building RESTful Real World Applications with the ADO.NET Data Services Framework

Agenda

Why data services?Common challenges when creating rich web applicationsCreating rich web applications with data servicesFuture scenarios & roadmap

Page 3: Building RESTful Real World Applications with the ADO.NET Data Services Framework

Why Data Services?

HTML + Javascript

Data (XML, etc)

DLL + XAML

Data (XML, etc) Data (XML, etc)

Mashup UI

Data Feeds

AJAX Applicatio

ns

Silverlight Applicatio

ns

Online Services

Mashups & Rich Clients

Page 4: Building RESTful Real World Applications with the ADO.NET Data Services Framework

Leverage existing developer knowledge & code assetsProvide rich, interactive, data-driven experiences

Expressive, maintainable service contractEfficient network usage, minimize latency, …

Secure data accessManage concurrent operations“But my data is …”

Only accessible through stored proceduresNot stored in a database

Common Rich Web Application Challenges 1

2

3

4

5

Page 5: Building RESTful Real World Applications with the ADO.NET Data Services Framework

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 control3rd Party Control Vendors: data service aware controls

Familiar programming paradigms

Page 6: Building RESTful Real World Applications with the ADO.NET Data Services Framework

Data Service Aware Controls

demo

Page 7: Building RESTful Real World Applications with the ADO.NET Data Services Framework

Providing rich, interactive, data-driven experiences

Service Operations

• Custom entry points, e.g. /CustomersByCity?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

Page 8: Building RESTful Real World Applications with the ADO.NET Data Services Framework

Galen MurdockPresident/CEOVeracity Solutions

customer

FreeNatal: Rich web client using data services

Greg JensenSenior Software EngineerVeracity Solutions

Page 9: Building RESTful Real World Applications with the ADO.NET Data Services Framework

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

AuthorizationLocked by defaultInfrastructure to express your authorization policy

Page 10: Building RESTful Real World Applications with the ADO.NET Data Services Framework

ConcurrencyIf its just HTTP, what about concurrent operations?

Supports optimistic concurrency

Integrates with existing HTTP infrastructure

GET /Customers(1)

200, ETag:xx

PUT/Customers(1)If-Match: xx

201, ETag:xx

OR

412, ETag:xx

Page 11: Building RESTful Real World Applications with the ADO.NET Data Services Framework

Using Any Data Source“But my data is …”

Create a data service backed by a DB using the ADO.NET Entity Framework

Supports stored procedures

Expose any other data source using a custom provider

Data

HTTP

ADO.NET Data Service

ADO.NETEntity

Framework

Custom Provide

r

Any data source (DB, Web service, feed, file, etc)

Page 12: Building RESTful Real World Applications with the ADO.NET Data Services Framework

Looking Forward…

Clients are not always “connected”How can we enable rich web clients experiences while offline?

Store changes locallySynchronize local data with a data service when reconnected

Page 13: Building RESTful Real World Applications with the ADO.NET Data Services Framework

Summary & RoadmapA framework to create and consume REST-based data servicesProvides a rich service tier for consumption by web clients

RoadmapSpecial “release” for MIX attendees on the conference CDADO.NET Data Services Framework Beta 1 to come in a few weeks…

AJAX & ASP.NET Data source to come afterExploring offline integration with data services

Page 14: Building RESTful Real World Applications 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 AtomPubUsing the Microsoft Sync Framework and FeedSync

http://blogs.msdn.com/astoriateamhttp://www.freenatal.org

Page 15: Building RESTful Real World Applications with the ADO.NET Data Services Framework

© 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.

Page 16: Building RESTful Real World Applications with the ADO.NET Data Services Framework