Проф. В.К.Толстых, www.tolstykh.com Web-службы (Web-сервисы) Введение, протоколы, архитектура, создание Web- служб в среде Visual Studio.NET Из цикла лекций.

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



Advertisements
Похожие презентации
Проф. В.К.Толстых, Web-службы (Web-сервисы) Введение, протоколы, архитектура, создание Web- служб в среде Visual Studio.NET Из цикла лекций.
Advertisements

ДонНУ, кафедра КТ, проф.В.К.Толстых Web-службы (Web-сервисы) введение введение Разработка в среде Delphi Из цикла лекций «Internet-технологии разработки.
WEB- ТЕХНОЛОГИИ Лекция 6. Понятие Web- сервисов 1 Интерфейс в глобальную сеть для некоторого абстрактного программного обеспечения, этот интерфейс позволяет.
ДонНУ, кафедра КТ, проф.В.К.Толстых WCF-службы Создание и тестирование.dll-библиотеки WCF-служб Из цикла лекций «Internet-технологии разработки приложений»
Проф. В.К.Толстых, Технологии разработки Internet- приложений Администрирование IIS 5, 6 сайт, виртуальный каталог, приложение, пул, рабочий.
Проф. В.К.Толстых, Пример Web-службы Калькулятор с валидацией Из цикла лекций «Internet-технологии разработки приложений» для студентов.
SOAP Содержание лекции Протокол SOAP. Структура SOAP-сообщения: конверт, заголовок, тело сообщения. Стандарты WS-Addressing и WS-Security. SOAP-Fault.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – валидация, валидационные элементы управления Из цикла.
КУРС «WEB-ДИЗАЙН». Что такое Web-страница? То, что мы видим в окне браузера, когда заходим на какой-либо сайт! Мы видим веб-страницу сайта – ее содержимое!
Сетевые службы Для конечного пользователя сеть это не компьютеры, кабели и концентраторы и даже не информационные потоки, для него сеть это, прежде всего,
Web - сервисы. Веб-служба, веб-сервис (англ. web service) идентифицируемая веб-адресом программная система со стандартизированными интерфейсами.англ.веб-адресоминтерфейсами.
ДонНУ, кафедра КТ, проф.В.К.Толстых Технологии разработки Internet- приложений ASP.NET приложения: Безопасность – аутентификация Из цикла лекций «Технологии.
И н т е р н е т Выполнил студент 1 курса, группа С-12, Курбетьев Александр.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – директивы Из цикла лекций «Технологии разработки Internet-приложений»
Web-службы SOAP, WSDL, UDDI, GXA среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря.
Тема 5. Основы современной технологии программирования Программирование в средах современных информационных систем. Интегрированные системы разработки.
Ключевые слова 1.WWW 2.Структура Web-страницыHTML 3.HTML-редактор 4.Цветовые схемы 5.гиперссылка.
Реализация концепции построения и формирования отраслевой системы государственного учета, регистрации и мониторинга (ОСГУРМ) информационных ресурсов сферы.
Языки, технологии и средства создания Web-сайтов. Компонентная структура. Выполнил Федорова Я.В., студентка СФУ ИППС 1 курс заочное отделение.
Работа с электронной почтой с использованием вэб-интерфейса Урок 2 Службы Интернета.
Транксрипт:

проф. В.К.Толстых, Web-службы (Web-сервисы) Введение, протоколы, архитектура, создание Web- служб в среде Visual Studio.NET Из цикла лекций «Internet-технологии разработки приложений» для студентов 4-го курса кафедры Компьютерных технологий физического факультета Донецкого национального университета

– отдельные независимые приложения многократного использования, которые представляют свои функции через Web-интерфейс. Для связи с внешним миром, вместо протокола удаленного вызова процедур (RPC), используют протокол HTTP. Любой клиент и любой сервер (потребители) могут использовать службы независимо от языка их реализации и устройства на котором они установлены. Web-службы основаны на открытых стандартах (используется XML), ими легко овладеть, и эти стандарты широко поддерживаются на всех платформах Unix и Windows. Web-службы позволяют приложениям или другим Web-службам совместно использовать данные и функции таким способом, при котором не имеет значения, как именно эти приложения выполняются, какую платформу, операционную систему или устройство они используют. Что это такое?

SOAP (Simple Object Access Protocol) – простой протокол доступа к объектам. Основан на XML для дистанционного вызова процедур по Intranet и Internet.Определяет формат запроса и параметров, передаваемых в запросе. WSDL (Web Service Description Language) – протокол описания Web-служб. Он позволяет предоставить описание и расположение всех методов Web- службы, а также их параметры на XML. UDDI (Universal Description, Discovery, and Integration) – универсальное описание, обнаружение и интеграция. Это открытый системный реестр, предназначенный для хранения информации о Web-службах. UDDI доступен по адресу Visual Studio, Delphi – это инструментальные средства, которые могут быть использованы для разработки Web-служб Протоколы Web-служб

Пример работы протокола SOAP Сообщения между Web-службой и его пользователем пакуются в SOAP-конверты (SOAP envelopes). Вот как выглядит простой SOAP-запрос, который отправляется через HTPP к Web-службе: WC1A8GH UK Ключевые элементы SOAP-конверта узнать достаточно просто: это два параметра ("почтовый индекс") и ("страна"), которые содержатся внутри элемента под названием. Этот элемент является названием Web-службы к которой мы обращаемся с запросом: верный ли почтовый код для указанной страны? Название Web-службы Параметры запроса

Yes Элемент в запросе поменялся на элемент в ответе. В этом элементе содержится только один элемент, значение которого обозначает, что почтовый индекс правильный. Ответ Web-службы Параметры ответа Ответ:

Как это все работает Как это все работает автор: Patrick Cooney и A List ApartA List Apart Представим себе, что я - разработчик сайта, и мой клиент попросил меня добавить к сайту новую функцию: необходимо добавить проверку правильности почтового индекса в регистрационной форме. Для осуществления этой проверки мне понадобилось бы создавать базу данных всех почтовых индексов всех 30 стран, где наша компания ведет бизнес, а потом проверять при регистрации соответствие почтового индекса указанному в регистрации городу. Но у меня этих данных нет, и я думаю, что на сбор подобных данных придется потратить ощутимую сумму денег. Вместо того, чтобы раскошеливаться на покупку базы данных, писать самому код, следить за целостностью и правильностью всех данных и отлаживать работу скриптов, я просто иду в каталог UDDI и ищу, нет ли там веб-сервиса, который мог бы сделать эту работу за меня. Придя на сайт я запускаю поиск и нахожу прекрасный сервис от компании XYZ Corp. Я внимательно рассматриваю определение формата веб-сервиса (определение записано на языке WSDL, убеждаюсь, что сервис делает именно то, что мне нужно. Затем справляюсь у своих коллег о репутации компании XYZ Corp, узнаю, что она солидная, и затем обращаюсь к компании XYZ с вопросом о цене. Если цена на доступ к сервису доступна для моего бюджета, я пишу простую Web-страницу для своего сайта, которая вызывает веб-сервис компании XYZ Corp, и опля, на сайте появляется моментальная проверка почтового индекса.

Архитектура Web-сервисов Потребитель Web-службы Клиентское приложение Прокси-класс Посредник Общения с Web-службой Web-сервер Реестр UDDI Поиск службы (выполняется в ручную) Получение ссылки на службу Получение WSDL- документа Вызов метода через SOAP Получение результата посредством SOAP WSDL-документ Метод 1 Метод 2 Метод 3 Web-служба

Реализация Web-служб для.NET приложений 1. Вы разрабатываете web-службу как.NET-класс с атрибутами, которые идентифицируют его как web-службу с некоторыми функциями. 2. В среде.NET автоматически создается документ WSDL, где описывается, как клиент должен взаимодействовать с web-службой. 3. Потребитель находит вашу web-службу и, решив воспользоваться ею, добавляет соответствующую web-ссылку в проект Delphi.NET или Visual Studio.NET (или запускает утилиту wsdl.exe). 4. В среде.NET осуществляется автоматическая проверка документа WSDL и генерируется прокси-класс, который позволяет потребителю взаимодейство- вать с web-службой. 5. Потребитель вызывает один из методов вашего класса web-службы. С его точки зрения этот вызов не отличается от вызова метода любого другого класса, но в действительности потребитель взаимодействует с прокси- классом, а не с web-службой. 6. Прокси-класс преобразует переданные параметры в сообщение SOAP и отправляет его web-службе. 7. Вскоре прокси-класс получает SOAP-ответ, преобразует таковой в соответствующий тип данных и возвращает его как обычный тип данных.NET. 8. Потребитель использует возвращенную ему информацию.

Разработка Web-службы с помощью текстового редактора Код Web-службы HelloWorldService на языке С#: Файл HelloWorldService.asmx помещаем в папку IIS, где инсталлирована.NET Framework Метод HelloWorld() Метод NextMethod() Директива ASP.NET, говорящая, что это – Web-служба Новый класс HelloWorldServices описан в пользовательском пространстве имен ProgWS Помещаем новый класс в пространство имен ProgWS Подключить стандартное пространство имён System.Web.Services Описание доступного всем класса HelloWorldService на основе System.Web.Services.WebService

Просмотр Web-службы Просмотр Web-службы См. пример HelloWorldService.asmxHelloWorldService.asmx Имя службы = класс страницы System.Web.Services.WebService.HelloWorldService Имена методов службы: HelloWorld() и NextMethod() XML-описание службы Содержимое страниц Web-служб не предназначено для отображения в браузере..NET предоставляет браузерам стандартную тестовую страницу, которая отображается при обращении к файлам *.asmx.

XML-описание и тестирование метода HelloWorld Результат работы метода HelloWorld – возвращена строка Hello Worl! Тестирование методов службы возможно только на локальной машине

Создание Web-службы в среде Visual Studio.NET Смотрите пример - Web- служба КалькуляторWeb- служба Калькулятор

...проблемы веб-сервисов К сожалению, за великий потенциал веб-сервисов приходится платить определенную цену: Использование XML в качестве формата передачи данных приводит к тому, что ваши сообщения будут очень большими по размеру. Так как мы используем удаленные компьютеры для выполнения определенных функций, мы полностью полагаемся на Интернет, что создает слишком много ненадежных звеньев в цепи между нашим веб-сервером и веб-сервисом. Система лицензирования и взимания платежей за пользование веб-сервисами еще должна быть принята разработчиками. Из-за того, что веб-сервисов еще слишком мало, большинство компаний пытается провести на своих потенциальных клиентов хорошее впечатление намеренно снижая стоимость услуг и предлагая благоприятные условия лицензирования. Должно еще пройти какое-то время, прежде чем будет выяснена реальная стоимость услуг веб-сервисов.