ADO.NET Data Services for the Web “Project Astoria” Mike Flasko Program Manager, Microsoft.

Download Report

Transcript ADO.NET Data Services for the Web “Project Astoria” Mike Flasko Program Manager, Microsoft.

ADO.NET Data Services
for the Web “Project Astoria”
Mike Flasko
Program Manager, Microsoft
2
Agenda
Why ADO.NET Data Services?
Characteristics of a data service
Creating and consuming services
Product Roadmap
Summary: A data platform for the web
3
Why ADO.NET Data Services?
HTML + Javascript
Data (XML, etc)
AJAX
Applications
4
DLL + XAML
Data (XML, etc)
Silverlight
Applications
Mashup UI
Data (XML, etc)
Online
Services
Data
Feeds
Mashups
A REST Interface for Data
Entity Data Model
URIs
• Every resource is addressable via a URI
• Flexible URI scheme for data retrieval
HTTP
• Data as resources, HTTP verbs to manipulate it
• Leverage caching, proxies, authentication, …
Formats
5
• The underlying model
• Entities and associations  resources and links
• AtomPub, JSON
Creating Data Services
HTTP
Create services directly
from Visual Studio
Various data sources
– Entity Framework
– LINQ providers
Model-driven
– Structural description in
Entity Data Model
– Schema shapes the
service contract
6
Hosting/HTTP Listener
Data Services Runtime
IQueryable [+ IUpdatable]
Data Source Provider
Entity
Custom LINQ
provider
Framework
Relational
database
Other
sources
Securing and Extending Services
Visibility
• Per-container visibility control
• Read, Query and Write options
Authentication
• Integrate with hosting environment
• ASP.NET, WCF or custom authentication schemes
Interceptors
• Execute before HTTP GET/PUT/POST/DELETE
• Enable validation, custom row-level security policies
• Maintain the REST interface
Service Operations
• Custom entry points, e.g. /MyTags?startDate='2007-01-01'
• Composable, follow URI scheme
7
Refining Data Services
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
• Allows clients & servers to version at different speeds
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
8
Talking to Data Services
An HTTP stack is enough
AtomPub clients
.NET Framework & Silverlight 2
– LINQ to ADO.NET Data Services Framework
AJAX (CodePlex)
In future: ASP.NET Data Source Control
9
AtomPub in Windows Live & Data Services
Unified Development Story
Visual
Studio
.NET and
Silverlight 2
ASP.NET
Integration
AJAX library
3rd party
components
AtomPub
Consumer Services
e.g.:
• Windows Live
Spaces (Photos)
10
Infrastructure Services
e.g.: ApplicationBased Storage
• SQL Server Data
Services
On-Premises Services
e.g.:
• Data Services
framework using
local SQL Server
Roadmap & Summary
Shipped CTPs in 2007 as “Project Astoria”
– A proof of concept to gather feedback
Released to production as part of .NET Fx 3.5 SP1
– Started from scratch and built a production-quality version
Silverlight 2 client to RTW with Silverlight 2 SDK
Working on V2 data services V2
– Containment
– "Astoria Offline"
– We want to hear from you...
11
Resources
Team Blog: http://blogs.msdn.com/astoriateam
Online Forum:
– Search "ADO.NET Data Services": http://forums.microsoft.com
Data Developer Center:
– http://msdn.microsoft.com/data
Email me: [email protected]
12
13
Resources
www.microsoft.com/teched
Tech·Talks
Live Simulcasts
14
Tech·Ed Bloggers
Virtual Labs
http://microsoft.com/expression
http://msdn.microsoft.com
Professional Design tools for
tomorrow
Developer’s Kit, Licenses,
and MORE!
© 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.
15