Presentation is loading. Please wait.

Presentation is loading. Please wait.

MIX 09 6/5/2018 9:14 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.

Similar presentations


Presentation on theme: "MIX 09 6/5/2018 9:14 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered."— Presentation transcript:

1 MIX 09 6/5/2018 9:14 AM © 2009 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.

2 Modeling RESTful Data Services: Present and Future
6/5/2018 9:14 AM Modeling RESTful Data Services: Present and Future Pablo Castro Software Architect Microsoft Corporation © 2007 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.

3 Agenda On data services for the web Modeling data services
Structure Security Behavior What’s next… Short- and long-term plans

4 Scenarios for Data Services
Data in RIAs Silverlight/AJAX apps Client-server designed and deployed together Easy deployment Functionality surfaces in user interface Data-Centric Services Online services Loosely coupled clients and servers Easy access State, functionality through service interface

5 REST-ish Service Interfaces
RESTful State and functionality in terms of resources Expose uniform interface Follows REST constraints Client-server Stateless Layered Cacheable Web Friendly Not necessarily RESTful Heavy use of URLs Not just for addressing GET/POST simple XML/JSON documents Low barrier of entry

6 What does the service look like?
Service structure

7 Service Structure Flexible interface != database interface
Model as appropriate for a service interface Application-level concepts Latency, payload size considerations Consider optimistic concurrency requirements Server-side schema versus service schema Access rights control service level schema Hidden, read-only, non-queryable, POST-only sets Maintain full capability for server-side code

8 Who can access the service?
Authentication

9 Authentication Consider your target scenario
AJAX/Silverlight applications “Forms” authentication works well Login in HTML forms or within Silverlight Wide-open RESTful service interface Standard schemes much more important Basic + SSL often does it Digest, certificates provide more robust options “Integrated” is great for corporate networks

10 Who can do what with the service?
Access Control

11 Access Control Use query and change interceptors
Policies that apply regardless of access path Query path composition-based, highly efficient Role-based access control For actions Row-level security For entities

12 Behaviors in a resource-centric interface?
State-based behavior

13 Behavior on State Transitions
Custom methods break the uniform interface Still possible if needed: “Service operations” Consider WCF/SOAP service if it’s all methods Behavior attached to state transitions ProcessSalesOrder()  Order.Status=“Ready” Change interceptors to detect transitions Perform secondary side-effects Kick-off workflows

14 Short and long term plans
What's next… Short and long term plans

15 ADO.NET Data Services v1.5, CTP 1
6/5/2018 9:14 AM announcing ADO.NET Data Services v1.5, CTP 1 © 2007 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.

16 ADO.NET Data Services v1.5 Focused on service capabilities
Row count – everybody asked for this :) Feed customization BLOBs with streaming interface for media Data-binding for the .NET and Silverlight Server-driven paging “Fancy” providers with full flexibility Installs without overwriting 1.0 runtime CTP1 available now, RTM around this fall

17 ASP.NET AJAX and Data Services
New version of ASP.NET AJAX coming Preview 4 available in codeplex now Built-in support for Data Services Great templates and data binding features It all works together 

18 Use Data Services for a REST interface over SDS
SQL Data Services SDS  full relational store in the cloud Use existing applications and know-how Use existing database APIs Host in Azure or access over the Internet Use Data Services for a REST interface over SDS Azure Client/ Browser SDS Web App Azure Client/ Server/ Browser SDS

19 .NET RIA Services Asks for Data Services programming model
Server: Better business logic framework Client: Better UI and validation integration Integrate with “Domain Service” classes .NET RIA Services use Data Services for queries, updates and data exchange Author Data Services using .NET RIA Services

20 .NET RIA Services public class CatalogService : DataService<Catalog> { // initialization, interceptors, etc. } public class Catalog : LinqToEntitiesDomainService<BikesEntities> public IQueryable<Product> GetProducts() return Context.Products .Where(p => p.Status == "Active"); public void UpdateProduct(Product current, Product original) // ... Data Service exposes domain through RESTful interface Domain Service encapsulates business logic

21 "Astoria Offline" Sync-enabled service interfaces
End-to-end solution for building offline applications Client and server libraries, Visual Studio integration, etc. Standard disclaimer: early exploration, just thoughts for now :)

22 Summary You can build fully functional RESTful services with ADO.NET Data Services Behaviors, access control, etc. can be modeled using a resource-centric interface We are extending data services to provide more base functionality Future focus on better business logic programming model and sync/offline

23 Resources Data Services Team Blog ADO.NET Data Services page @ MSDN
ADO.NET Data Services MSDN ADO.NET Data Services forums

24 Please Complete an Evaluation Form Your feedback is important!
MIX 09 6/5/2018 9:14 AM Please Complete an Evaluation Form Your feedback is important! Evaluation forms can be found on each chair Temp Staff at the back of the room have additional evaluation form copies © 2009 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.

25 6/5/2018 9:14 AM © 2009 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. © 2007 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.


Download ppt "MIX 09 6/5/2018 9:14 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered."

Similar presentations


Ads by Google