ADO.NET Data Services for the Web “Project Astoria” Mike Flasko Program Manager, Microsoft.
Download ReportTranscript 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