
- •Архитектуры и модели программ и знаний
- •Web-программирование для .NET
- •Содержание
- •Часть 1: Обзор
- •История
- •Недостатки традиционных
- •Web-сервисы –
- •Web-сервисы –
- •Распределенные Web- приложения
- •Часть 2: Архитектура
- •Архитектура .NET
- •модель
- •Конфигурация 1/2
- •Конфигурация 2/2
- •Часть 3: Разработка Web- сервисов
- •Основы разработки Web-
- •Инфраструктура Web-сервисов
- •Код и синтаксис
- •Пример .asmx - файла
- •Пространство имен System.Web.Services 1/2
- •Пространство имен System.Web.Services 2/2
- •Публикация Web-сервиса
- •Поиск Web-сервиса (“открытие” – discovering)
- •Утилита Disco.exe
- •Утилита WSDL.exe
- •Часть 4: Использование Web- сервисов
- •Модель приложения
- •Использование Web-
- •Вызов: HTTP-GET и HTTP-
- •Вызов: HTTP-SOAP
- •Использование Web- сервисов
- •WSDL 1/2
- •WSDL 2/2
- •Пример WSDL-файла
- •Часть 5: Более развитые Web- сервисы
- •Управление состояниями
- •Модель безопасности
- •Транзакции 1/2
- •Транзакции 2/2
- •Модель исполнения
- •Использование Web-сервисов через пользовательский интерфейс
- •Пример (.aspx)
- •Пример
- •Технология Silverlight
- •Вопросы и домашнее задание к лекции 20

Пространство имен System.Web.Services 2/2
WebServiceBindingAttribute
WSDL-интерфейс
(Web Services Definition Language)
Набор операций
WebServicesConfiguration
Содержит информацию о конфигурации
Секция <webservices> файла Web.config
WebServicesConfigurationSectionHandler
(C)Сафонов В.О. 2012

Публикация Web-сервиса
Экспортирование Web-сервиса и его методов
Создание прокси и сборки для Web- сервиса
Генерация прокси инструментом WSDL
Создание сборки
Нотификация пользователей о Web-сервисе
Публикация WSDL-контракта и HTML- описания
Клиенты Web-сервиса
Могут быть Web-приложениями или браузерами
(C)Сафонов В.О. 2012

Поиск Web-сервиса (“открытие” – discovering)
DISCO – технология, разработанная и запатентованная Microsoft для публикации и поиска XML Web-сервисовоснована на файлах .vsdisco (от “discovery”)
Основаны на XML
Содержат ссылки на ресурсы для извлечения WSDL
Хранятся в корневой директории Web-сервиса
Доступ – через URL и динамически найденный документ
Начало поиска - утилитой Disco
Файл .vsdisco автоматически создается Visual Studio.NET
Глобальный справочник Web-сервисов и UDDI
Universal Discovery, Description, and Integration ( http://www.uddi.org) – глобальный реестр Web- сервисов
(C)Сафонов В.О. 2012

Утилита Disco.exe
Поиск web-сервисовПример вызова из командной строки:
disco /out:location /domain:domain /username:username
/password:password http://localhost/WebService1/
WebService1.vsdisco
Создает WML-файл results.discomap со списком всех Web-сервисов по заданному адресу
(C) Сафонов В.О. 2012

Утилита WSDL.exe
Инструмент для описания Web-сервисов
Создает клиентский прокси-класс для взаимодействия с Web-сервисом
Вход:
URL WSDL-файла, язык определения прокси и протокол
Имя пользователя и пароль
Выход:
Исходный файл кода на заданном языке, содержащего:
Прокси-класс
Код для сетевого вызова и маршалинга (выстраивания) данных
wsdl /l:C# /protocol:protocol /out:filename /namespace:MathServiceSpace MathService.sdl
(C) Сафонов В.О. 2012

Часть 4: Использование Web- сервисов
Модель приложенияВызов Web-сервисовИспользование web-сервисов
Web Services Description Language (WSDL)
(C) Сафонов В.О. 2012

Модель приложения
Web Service
Developer
Web Application
Developer
Web Server 1
asmx Service App |
.aspx |
|
Web Server 2
Proxy Web Form
Service App
(C) Сафонов В.О. 2012

Использование Web-
сервисов
web-сервисы адресуются с помощью URL
HTTP-запрос
Протоколы
HTTP-GET
Имя и аргументы метода, указанные в URL
HTTP-POST
Имя и аргументы метода находятся в теле POST
HTTP-SOAP
XML-грамматика для
Адресации Web-сервисовВыдачи результатов
(C) Сафонов В.О. 2012

Вызов: HTTP-GET и HTTP-
POST
http://server/appl/service.asmx/method?param=value
Стандарт HTTP-GET
MethodName = PathInfo
Аргументы метода = строка запроса в URL
Строка-ключ запроса = имя параметра
Несколько параметров
Только примитивные типа .NET
Результат – XML-документ
Любой тип данных .NET
HTTP-POST
Аналогичен GET, но аргументы задаются в теле формы
(C) Сафонов В.О. 2012 |
29 |
(C) Сафонов В.О. 2009 |

Вызов: HTTP-SOAP
(Simple Object Access Protocol)
SOAP введен как стандарт в 1999 г.XML-грамматика для:
Web-метода, его аргументов и результатов
Поддерживает все типы данных .NET
Плюс классы, структуры, наборы данных
Выстраивание классов и структур
Сериализация в XML-формате
(C) Сафонов В.О. 2012 |
30 |
(C) Сафонов В.О. 2009 |