Учебный курс Технологии и средства разработки корпоративных систем Лекция 7 Создание веб-сервисов Лекции читает кандидат технических наук, доцент Зыков.

Презентация:



Advertisements
Похожие презентации
Проф. В.К.Толстых, Пример Web-службы Калькулятор с валидацией Из цикла лекций «Internet-технологии разработки приложений» для студентов.
Advertisements

Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
ДонНУ, кафедра КТ, проф.В.К.Толстых Web-службы (Web-сервисы) введение введение Разработка в среде Delphi Из цикла лекций «Internet-технологии разработки.
Web - сервисы. Веб-служба, веб-сервис (англ. web service) идентифицируемая веб-адресом программная система со стандартизированными интерфейсами.англ.веб-адресоминтерфейсами.
WEB- ТЕХНОЛОГИИ Лекция 6. Понятие Web- сервисов 1 Интерфейс в глобальную сеть для некоторого абстрактного программного обеспечения, этот интерфейс позволяет.
Рассматриваемые темы Введение в Web Services EJB и Web Services 2-1.
SOAP Содержание лекции Протокол SOAP. Структура SOAP-сообщения: конверт, заголовок, тело сообщения. Стандарты WS-Addressing и WS-Security. SOAP-Fault.
Web-службы SOAP, WSDL, UDDI, GXA среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – Модули HTTP, фильтры, события приложения - Global.asax.
Проф. В.К.Толстых, Web-службы (Web-сервисы) Введение, протоколы, архитектура, создание Web- служб в среде Visual Studio.NET Из цикла лекций.
ДонНУ, кафедра КТ, проф.В.К.Толстых WCF-службы Создание и тестирование.dll-библиотеки WCF-служб Из цикла лекций «Internet-технологии разработки приложений»
К построению и контролю соблюдения политик безопасности распределенных компьютерных систем на основе механизмов доверия А. А. Иткес В. Б. Савкин Институт.
Реализация доступа к учетным регистрам и функциям ПП ПАРУС - Предприятие 8 через WEB Обзор возможностей.
Учебный курс Технологии и средства разработки корпоративных систем Лекция 1 Открытые системы. Клиент и сервер Лекции читает кандидат технических наук,
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – обработка ошибок страниц и приложения, Global.aspx.
Учебный курс Технологии и средства разработки корпоративных систем Лекция 5 Создание графического интерфейса пользователя Лекции читает кандидат технических.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – локализация ресурсов приложения Из цикла лекций «Технологии.
1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Веб-технологии и современные средства разработки УЦ ВГТУ & SoftLine Academy.
Электронная почта Самый старый и самый популярный сервис Интернета. Позволяет осуществлять обмен информацией через почтовые серверы, которые сохраняют.
Транксрипт:

Учебный курс Технологии и средства разработки корпоративных систем Лекция 7 Создание веб-сервисов Лекции читает кандидат технических наук, доцент Зыков Сергей Викторович

2 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Содержание 1.Web-сервисы и их использование 2.Пример Web-сервиса 3.Реализация Web-сервисов в.NET 4.Обнаружение Web-сервисов 5.WSDL – язык описания Web-сервисов 6.Протокол SOAP и его поддержка 7.Использование Web-сервисов в приложениях.NET 8.Безопасность Web-сервисов

3 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Что такое Web-сервисы? Web-сервис - особый тип Web-приложения. Задачей Web-сервиса является не генерация html разметки для браузера пользователя, как у традиционных Web-приложений, а предоставление функций, называемых Web-методами, которые можно вызывать по Интернету.

4 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Краеугольные камни Web-сервисов Web-сервисы исполняются на сервере (исполняющей средой в нашем случае служит ASP.NET) Web-сервисы публикуют методы, которые могут быть вызваны внешними клиентами Web-сервисы ожидают поступления http-запросов для вызова методов Web-сервисы исполняют запросы и возвращают http ответы

5 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Использование Web-сервисов B2B решения Доступная клиенту функциональность Интеграция гетерогенных систем Быстрая разработка

6 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Пример Web-сервиса Рассмотрим пример Web-сервис вычисляющий квадратный корень числа В Microsoft Visual Studio.NET 2005 (2008) для создания Web-сервиса необходимо выбрать New Web Site - > ASP.NET Web Service. Назовем Web-сервис RootCalculatorService Среда Microsoft Visual Studio.NET генерирует несколько файлов Service.asmx, Web.config и Service.cs

7 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Пример Web-сервиса (1)

8 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Пример Web-сервиса (2)

9 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Пример Web-сервиса (3)

10 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Пример Web-сервиса (4)

11 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Общие характеристики Web-сервисов: Web-сервисы реализуются как asmx - файлы (данное расширение зарегистрировано в файле Machine.config ) Исполняемый код Web-сервиса может находиться как в самом файле asmx, так и в специальном файле с кодом Asmx- файлы начинаются WebService, эта директива содержит, по крайней мере, атрибут class, задающий класс, из которого состоит Web-сервис Классы Web-сервисов могут иметь необязательные атрибуты WebService Web-методы объявляются путем назначения открытым методам класса сервиса атрибута WebMethod.

12 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Атрибут WebMethod Имя параметраЗначение BufferResponse Включение/отключение буферизации откликов CacheDuration Кэширует отклики данного метода на указанное число секунд Description Описание Web-метода EnableSession Включает/отключает поддержку состояния сеанса MessageName Название Web-метода TransactionOption Параметры обработки транзакций

13 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Наследование от класса WebService Наследование от данного класса позволяет получить прямой доступ к таким свойствам как Application, Session, Context, Server, User Наследование от этого класса позволяет в частности использовать технологию.NET Remoting

14 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Обнаружение Web-сервисов Файловый механизм DISCO – для обнаружения локальных Web-сервисов Служба Universal Description, Discovery and Integration (UDDI) – для глобального поиска Web- сервисов

15 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Язык описания Web-сервисов WSDL Язык WSDL - XML-диалект, позволяющий описывать Web-сервисы и их методы Язык WSDL использует несколько уровней абстракции для описания Web-сервисов в модульном ключе Описание WSDL помещается между тегами базового элемента Definitions и включает разделы: Types, Messages, Operations, Port Types, Bindings, Ports, Services

16 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 SOAP – протокол взаимодействия Web-сервисов SOAP – протокол удаленного вызова, функционирующий поверх http (Simple Object Access Protocol) Каждое сообщение SOAP состоит из следующих частей: Конверт Заголовок Тело SOAP основывается на XML

17 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Настройка представления SOAP Среда.NET позволяет настраивать формат сообщений SOAP отправляемых Web-методом Настраивать это представление позволяют атрибуты: SoapMethodAttribute SoapRpcMethodAttribute

18 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Конфигурация заголовков SOAP Заголовки SOAP настраиваются программно с помощью атрибута SoapHeaderAttribute Для определения своего собственного представления заголовка необходимо наследовать от класса System.Web.Services.Protocols.SoapHeader Для атрибута указывается имя переменной класса заголовка [WebService()] public class Service1 : System.Web.Services.WebService { public Header1 m_foo;... [WebMethod] [SoapHeader("m_foo")] public string Bar() { m_foo.DidUnderstand = true; return m_foo.Header; }

19 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Расширения SOAP Расширения (Extensions) SOAP – предоставляют широкие возможности по настройке и обработке пакетов данных в формате SOAP Для использования расширений SOAP необходимо: создать наследника класса SoapExtension, использовать сопутствующий атрибут SoapExtensionAttribute

20 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Прокси Web-сервисов Прокси Web-сервиса - локальное представление удаленного Web-сервиса в приложении Прокси является объектом класса, созданного.NET Framework SDK на основеWSDL-описания данного Web- сервиса Методы данного класса соответствуют методам Web- сервиса Генерация данных классов встроена в Microsoft Visual Studio.NET, однако их можно генерировать и специальной утилитой wsdl.exe

21 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Асинхронный вызов Web-сервиса Прокси Web-сервисов позволяют осуществлять как синхронный, так и асинхронный вызов методов Асинхронные методы Web-сервиса помечены префиксами Begin и End Сигнализатором окончания вызова служит либо объект возвращаемый методом Begin[MethodName] и реализующий интерфейс IAsyncResult, либо подписка на уведомление о завершении метода путем передачи делегата

22 Корпоративные системы Веб-сервисы и распределенные приложения ИНТУИТ, 2009 Web-сервисы и безопасность Intranet Internet IP Security Firewalls Virtual Private Networks Http Security ASP.NET Authentication SOAP Digital Signatures Application-Specific Authentication