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

проф. В.К.Толстых, 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.NET, Delphi 6, 7, for.NET – это инструментальные средства, которые могут быть использованы для разработки 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 в качестве формата передачи данных приводит к тому, что ваши сообщения будут очень большими по размеру. Так как мы используем удаленные компьютеры для выполнения определенных функций, мы полностью полагаемся на Интернет, что создает слишком много ненадежных звеньев в цепи между нашим веб-сервером и веб-сервисом. Система лицензирования и взимания платежей за пользование веб-сервисами еще должна быть принята разработчиками. Из-за того, что веб-сервисов еще слишком мало, большинство компаний пытается провести на своих потенциальных клиентов хорошее впечатление намеренно снижая стоимость услуг и предлагая благоприятные условия лицензирования. Должно еще пройти какое-то время, прежде чем будет выяснена реальная стоимость услуг веб-сервисов.

Дальнейшее развитие – переход к WCF службам Особенности версии.NET 3.0

Windows Communication Foundation (WCF) предоставляет единую инфраструк- туру разработки, повышающую производительность и снижающую затраты на создание безопасных, надёжных и транзакционных Web-служб нового поколения. Windows Presentation Foundation графическая (презентационная) подсистема. Оно включает новое ядро, которое должно заменить GDI и GDI+. Сейчас его можно назвать альтернативным вариантом Adobe Flash и Java-апплетам.GDIGDI+Adobe FlashJava-апплетам Windows CardSpace патентованная технология единого входа от Microsoft. WCS это способ простой и безопасной идентификации пользователей при перемещении между ресурсами Интернета без необходимости повторного ввода имен и паролей. Windows Workflow Foundation (WF) представляет собой технологию для определения, выполнения и управления рабочими процессами. Данная технология представляет новый, более высокий, уровень абстракции в программировании под.NET. По сути – это визуальные (в VS 2008) блок-схемы с возможность вставки кодов, Windows-сервисов, веб-сервисов, приложений-серверов, IIS- приложений…