why data services? common challenges when creating rich web applications creating rich web...

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

Upload: jane-alexander

Post on 04-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

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

Agenda

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

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

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

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

Data Service Aware Controls

demo

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

Galen MurdockPresident/CEOVeracity Solutions

customer

FreeNatal: Rich web client using data services

Greg JensenSenior Software EngineerVeracity Solutions

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

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

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)

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

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

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

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