Web-службы (Web-сервисы) презентация

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

Studio .NET

Из цикла лекций «Internet-технологии разработки приложений» для студентов 4-го курса кафедры Компьютерных технологий физического факультета Донецкого национального университета


Слайд 2– отдельные независимые приложения многократного использования, которые представляют свои функции через

Web-интерфейс. Для связи с внешним миром, вместо протокола удаленного вызова процедур (RPC), используют протокол HTTP.

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

Web-службы позволяют приложениям или другим Web-службам совместно использовать данные и функции таким способом, при котором не имеет значения, как именно эти приложения выполняются, какую платформу, операционную систему или устройство они используют.

Что это такое?


Слайд 3SOAP (Simple Object Access Protocol) – простой протокол доступа к объектам.

Основан на XML для дистанционного вызова процедур по Intranet и Internet.Определяет формат запроса и параметров, передаваемых в запросе.
WSDL (Web Service Description Language) – протокол описания Web-служб. Он позволяет предоставить описание и расположение всех методов Web-службы, а также их параметры на XML.
UDDI (Universal Description, Discovery, and Integration) – универсальное описание, обнаружение и интеграция. Это открытый системный реестр, предназначенный для хранения информации о Web-службах. UDDI доступен по адресу www.uddi.org

Visual Studio, Delphi – это инструментальные средства, которые могут быть использованы для разработки Web-служб

Протоколы Web-служб


Слайд 4Пример работы протокола SOAP
Сообщения между Web-службой и его пользователем пакуются в

SOAP-конверты (SOAP envelopes). Вот как выглядит простой SOAP-запрос, который отправляется через HTPP к Web-службе:

WC1A8GH UK

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

Название Web-службы

Параметры запроса


Слайд 5 Yes
Элемент в запросе поменялся на элемент в

ответе. В этом элементе содержится только один элемент , значение которого обозначает, что почтовый индекс правильный.

Ответ Web-службы

Параметры ответа

Ответ:


Слайд 6Как это все работает автор: Patrick Cooney и A List Apart
Представим себе,

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

Слайд 7Архитектура Web-сервисов


Потребитель Web-службы
Клиентское
приложение

Прокси-класс
Посредник
Общения с
Web-службой
Web-сервер

Реестр UDDI
Поиск службы
(выполняется в ручную)
Получение

ссылки на службу

Получение WSDL-документа

Вызов метода через SOAP

Получение результата посредством SOAP


Слайд 8Реализация 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. Потребитель использует возвращенную ему информацию.

Слайд 9Разработка Web-службы с помощью текстового редактора
Код Web-службы HelloWorldService на языке С#:
Файл

HelloWorldService.asmx помещаем в папку IIS, где инсталлирована .NET Framework

Метод HelloWorld()

Метод NextMethod()



Директива ASP.NET, говорящая, что это – Web-служба


Новый класс HelloWorldServices описан в пользовательском пространстве имен ProgWS

Помещаем новый класс в пространство имен ProgWS


Подключить стандартное пространство имён System.Web.Services

Описание доступного всем класса HelloWorldService на основе System.Web.Services.WebService


Слайд 10Просмотр Web-службы См. пример HelloWorldService.asmx
Имя службы = класс страницы System.Web.Services.WebService.HelloWorldService
Имена методов

службы: HelloWorld() и NextMethod()

XML-описание службы

Содержимое страниц Web-служб не предназначено для отображения в браузере. .NET предоставляет браузерам стандартную тестовую страницу, которая отображается при обращении к файлам *.asmx.


Слайд 11XML-описание и тестирование метода HelloWorld
Результат работы метода HelloWorld – возвращена строка

Hello Worl!

Тестирование методов службы возможно только на локальной машине


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


Слайд 13...проблемы веб-сервисов
К сожалению, за великий потенциал веб-сервисов приходится платить
определенную

цену:

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

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика