Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНАЯ РАБОТА Web-сервис.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
68.04 Кб
Скачать

ЛАБОРАТОРНАЯ РАБОТА

ПРОГРАММИРОВАНИЕ И ИСПОЛЬЗОВАНИЕ

XML WEB-СЕРВИСОВ

1. Цель работы

Целью работы является изучение программирования поставщиков и клиентов Web-сервисов.

2. Задачи

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

3. Теоретическая часть

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

Веб-сервисы, как таковые, предназначались быть программными, а не визуальными интерактивными решениями (т. е. они предназначались для применения в рамках концепции программа–программа, а не человек–программа). Поэтому они не имеют специального пользовательского интерфейса. Однако благодаря наличию веб-методов они могут в реальном времени предоставлять информацию о чем угодно. Одним словом, веб-сервис предоставляет услуги другим приложениям, причем последние могут быть любого типа, как веб-приложениями, так и обычными приложениями с графическим интерфейсом.

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

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

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

Структура веб-сервисов. Веб-сервисы базируются на применении открытых, утверждаемых консорциумом IT-сообщества стандартах и протоколах, ключевыми из которых являются следующие:

– SOAP (Simple Object Access Protocol) — протокол доступа к простым объектам, т. е. механизм для передачи информации между уделенными объектами на базе протокола HTTP и некоторых других Интернет-протоколов;

– WSDL (Web Services Description Language) — язык описания веб-сервисов;

– UDDI (Universal Description, Discovery and Integration) — универсальное описание, обнаружение и интеграция, упрощенного говоря, протокол поиска ресурсов в Интернет.

SOAP. Базовым протоколом, обеспечивающим взаимодействие в среде веб-сервисов, является протокол SOAP (Simple Object Access Protocol). Он позволяет приложениям взаимодействовать между собой через Internet, используя для этого XML-документы, называемые сообщениями SOAP.

Сообщение SOAP содержит конверт, который описывает содержимое, предполагаемого получателя сообщения и требования к обработке сообщения. SOAP-сообщения представляет собой иерархическую структуру вложенных XML-элементов (или узлов): SOAPMessage, SOAPPart, SOAPEnvelope, SOAPHeader, SOAPBody и содержимое передаваемого сообщения в формате XML (XML content).

UDDI. Спецификация UDDI (UDDI (Universal Description, Discovery and Integration – универсальное описание, расположение и интеграция)) описывает базирующийся на протоколе SOAP веб-сервис, в задачи которого входит определение местоположения и описание протокола взаимодействия любого веб-сервиса. По сути, это каталог доступных веб-сервисов.

WSDL. После того как нужный веб-сервис найден в одном из каталогов UDDI, нужна информация о том, как собственно обратиться к веб-сервису и какие конкретно условия или правила необходимо соблюсти, чтобы сделать это правильно. Для этого используется WSDL (Web Service Description Language – язык описания веб-сервиса), который предназначен, как и следует из его названия, для описания веб-сервисом своих возможностей, своего интерфейса и некоторых метаданных предназначенных для использования теми, кто будет использовать этот веб-сервис.

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

Схема работы веб-сервиса. В общем виде схему взаимодействия клиента с веб-сервисом можно представить следующим образом (рис. 1).

Рисунок 1 – Схема работы веб-сервиса

Под «запросом» подразумевается вызов метода (процедуры, функции), под «ответом» – результат выполнения вызванного метода.

Веб-сервисы в ASP.NET. Создание веб-службы похоже на создание веб-страницы. Платформа. NET предоставляет оболочку WebMethods, которая позволяет преобразовывать SOAP-сообщения в классы. NET. В результате веб-методы, объявляемые в веб-сервисе, почти не отличаются от функций, которые программируются при разработке веб-форм.

Однако есть ряд требований, которыми следует руководствоваться при разработке веб-сервисов. Во-первых, файл веб-сервиса должен иметь расширение asmx. Во-вторых, файл веб-сервиса должен начинаться с директивы WebService. В-третьих, метод, вызываемый через веб, должен иметь атрибут WebMethod. Это делается путем аннотирования методов атрибутом [WebMethod], находящемся в пространстве имен System. Web. Services.

Среда Microsoft Visual Studio, в которой традиционно создаются как веб-приложения, так и веб-сервисы, позволяет максимально автоматизировать процесс разработки веб-сервиса. Достаточно создать новое веб-приложение и выбрать его тип ( Web Services). Кроме того, Visual Studio позволяет протестировать веб-сервис. Для его отображения используется файл DefaultWsdlHelpGenerator. aspx, размещенный в системной папке CONFIG.

Использование Visual Studio также упрощает разработку клиентов веб-сервисов. Для этого к Windows- или веб-приложению нужно добавить веб-ссылку на сервис. При этом необязательно знать точный URL-адрес сервиса – Visual Studio предоставляет UDDI-интерфейс для поиска доступных веб-сервисов.

Веб-сервисы в PHP. Наиболее распространенными способами создания и использования веб-сервисов в PHP являются библиотека NuSOAP и PHP-расширение SOAP Extension. В лабораторной работе предлагается использовать первый из них.

NuSOAP – представляет из себя набор PHP-классов, позволяющих разработчикам создавать и использовать веб-сервисы на SOAP. NuSOAP может также генерировать WSDL-описание веб-сервиса и использовать его., поддерживает различные виды сервисов (rpc/encoded и document/literal). В то же время необходимо учитывать, что поддержка SOAP и WSDL в NuSOAP реализована не полностью по сравнению с другими реализациями, например, .NET или Apache Axis.

Для использования NuSOAP достаточно скачать его (например, с сайта SourceForge), а потом разместить копию файла nusoap. php в дерево своей программы, чтобы можно было подключать ее в PHP-код.

Ключевым классом, который используется при создании веб-сервиса, является soap_server. Методы сервиса представляют собой обычные PHP-функции, которые с помощью метода register преобразуются в веб-методы веб-сервиса.

NuSOAP предоставляет несколько возможностей, полезных для отладки веб-сервиса. В NuSOAP при отладке можно просмотреть посланный запрос и ответ сервера. Класс soapclient содержит атрибуты request и response, которые позволяют отобразить соответственно запрос и ответ.

Кроме того, NuSOAP позволяет автоматически генерировать WSDL для сервиса, используя дополнительные аттрибуты и методы класса soap_server. Информация о сервисе указывается при помощи метода configureWSDL. Информация о каждом методе определяется указанием дополнительных параметров методу register.

Для создания клиента веб-сервиса используется класс soapclient, в качестве параметра которому передается URL-адрес сервиса. Вызов веб-метода выполняется с помощью метода call того же класса soapclient.

Веб-сервисы в JSP. Разработка Web-сервисов в JSP основана на создании Java-классов, реализующих ту функциональность, которая должен предоставлять веб-сервис. Каждая функция, определенная в составе Java-класса представляет собой веб-метод веб-службы.

В лабораторной работе программирование JSP-приложений выполняется с помощью визуальной среды Eclipse Europe. Для программирования веб-сервисов эта среда предоставляет полезный инструментарий – мастер Web Service. Он позволяет оформить Java-класс в виде веб-службы, в частности, автоматически генерирует ее WSDL-описание.

При разработке JSP-клиента Web-сервиса достаточно разместить WSDL-файл веб-службы в каталоге с приложением. Файлы клиента сервиса нужно представить в форме объектов Web Service Client. В результате будет сгенерирован прокси-класс, соответствующий веб-сервису, и переносящий его функциональность в клиентское приложение.

Вариант А. Технология ASP.NET и СУБД Microsoft SQL Server