Download presentation
Presentation is loading. Please wait.
2
ADO.NET Data Services (codename Astoria)
Сергей Звездин © 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
Silverlight Applications
Данные в Web HTML + Javascript DLL + XAML Mashup UI Data (XML, etc) Data (XML, etc) Data (XML, etc) Data Feeds AJAX Applications Silverlight Applications Mashups & Rich Clients Online Services
4
DataAcces: Проблемы? Выразительный, легкий в обслуживании контракт сервиса Эффективное использование сети, минимизация сетевых задержек, … Безопасность данных Конкурирующие операции «А что если мои данные…» Доступны только через хранимые процедуры Хранятся не в базе данных
5
SOAP/WS-* vs. REST Два подхода к построению веб-сервисов
Represintational State Transfer (REST) Взаимодополняющие подходы SOAP/WS-* - ориентация на операции REST – ориентация на данные
6
Доступ через SOAP/WS-*
Client SOAP Service POST /ServiceAccess/MyService1.svc Host: SOAPAction: GetBalance … <soap:Envelope xmlns:soap= … <soap:Body> <GetBalance xmlns= … <Account>2</Account> </GetBalance> </soap:Body> </soap:Envelope> Data
7
Доступ через REST Data REST Client REST Service
GET Data
8
SOAP/WS-* vs. REST SOAP/WS-* REST Protocol for invoking operations
HTTP Transport protocol HTTP, TCP, … Language for describing interfaces WSDL - Conveying security tokens WS-Security HTTP, SSL Acquiring security tokens WS-Trust Establishing a security context WS-SecureConversation SSL
9
ADO.NET Data Services – платформа для построения сервисов в стиле REST
10
RESTful интерфейс HTTP Унифицированный синтаксис URL
Данные представляются как HTTP-ресурсы; HTTP-методы управляют данными Кэширование, прокси, аутентификация, … Унифицированный синтаксис URL Каждая часть информации адресуется Предсказуемый и гибкий синтаксис URL Различные представления Content-Type Atom*, JSON, Plain XML
11
Семантика HTTP-операций
HTTP verbs GET – получить ресурс POST – создать ресурс PUT – изменить ресурс DELETE – удалить ресурс
12
Адресация Адресация наборов данных и одиночных сущностей
Опции представления Entity-set /Bookmarks Single entity /Bookmarks(123) Member access /Bookmarks(123)/Name Link traversal /Bookmarks(123)/Tags Deep access /Bookmarks(123)/Tags('abc')/Name Raw value access /Bookmarks(123)/Names/$value Sorting /Bookmarks?$orderby=Name Filtering /Bookmarks?$filter=Created gt ' ' Paging /Bookmarks?$top=10&$skip=30 Inline expansion /Bookmarks?$expand=Tags
13
Источники данных LINQ to SQL ADO.NET Entity Framework Custom provider
IQueryable IUpdatable Данные HTTP ADO.NET Data Service LINQ to SQL ADO.NET Entity Framework Custom provider Источники данных: DB, Web Service, feed, file, ...
14
ADO.NET Data Services overview
Демонстрация ADO.NET Data Services overview
15
RESTful интерфейс Сервисные операции
Пользовательские точки входа: Отложенная загрузка связанных сущностей Конструкция $expand помещает в граф данных необходимый ресурс в рамках одного запроса Метод LoadProperty позволяет загрузить необходимую сущность после получения результатов запроса Фильтрация и разбиение на страницы Передача только необходимых данных (обработка данных на стороне сервера) Batching Передача операций create/update/delete на сервис в пакетном режиме и поддержка семантики «все или ничего»
16
Контроль доступа Видимость Аутентификация Перехватчики (interceptors)
Управление видимостью на уровне контейнера объектов Опции Read, Query, Write Аутентификация Интеграция с hosting-средой ASP.NET, WCF, Live ID или пользовательские схемы аутентификации Перехватчики (interceptors) Выполняются перед GET/PUT/POST/DELETE Включают валидацию и пользовательские политики безопасности на уровне строк данных
17
Демонстрация Data security
18
Конкурентный доступ Optimistic concurrency
GET /Customers(1) Optimistic concurrency Интеграция с существующей HTTP инфраструктурой 200, ETag:xx PUT/Customers(1) If-Match: xx 201, ETag:xx 412, ETag:xx OR
19
Что дальше… Клиенты не всегда подключены к серверу…
Задача построения инфраструктуры offline-клиента Сохранение данных сервиса локально (SQL Server Compact) Синхронизация данных с сервисом при подключении к сервису Прозрачность с точки зрения построения клиента «Astoria Offline»
20
Ресурсы http://astoria.mslivelabs.com/
21
9/18/2018 6:24 AM © 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. © 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.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.