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

Download Report

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

Why data services?
Common challenges when creating rich web
applications
Creating rich web applications with data
services
Future scenarios & roadmap
HTML + Javascript
Data (XML, etc)
DLL + XAML
Data (XML, etc)
Mashup UI
Data
Feeds
AJAX
Silverlight
Mashups &
Applications Applications Rich Clients
Data (XML, etc)
Online
Services
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
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
3rd Party Control Vendors: data service aware
controls
Familiar programming paradigms
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
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
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
“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
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
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
RESTful Data Services with the ADO.NET Data
Services Framework
Accessing Windows Live Services via AtomPub
Using the Microsoft Sync Framework and
FeedSync
http://blogs.msdn.com/astoriateam
http://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.