- •1. Введение в веб-сервисы 4
- •2. Лабораторная работа №1. Расширяемый язык разметки xml. 17
- •3. Лабораторная работа №2. Схемы xml-документов. 28
- •3.1 Цель работы 28
- •3.3 Порядок выполнения работы 34
- •4. Лабораторная работа №3. Язык определения веб-сервисов wsdl. Реализация веб-сервисов. 38
- •4.1 Цель работы 38
- •5. Лабораторная работа №4. Протокол soap. Использование веб-сервисов. 59
- •1.1Основы веб-сервисов
- •1.2Использование веб-сервисов
- •1.Введение в веб-сервисы
- •1.3Технологический базис веб-сервисов
- •1.3.5Дополнительные технологии
- •1.4Принципы взаимодействия веб-сервисов
- •1.4.1Rpc-ориентированные взаимодействия
- •1.4.2Документно-ориентированные взаимодействия
- •1.4.3Взаимодействие в рамках сервисно-ориентированной архитектуры
- •1.5Веб-сервисы и другие технологии
- •1.5.1История развития
- •1.5.5Сравнение с веб-сервисами
- •2.Лабораторная работа №1. Расширяемый язык разметки xml.
- •2.1Цель работы
- •2.2Теоретическое введение
- •2.2.1Пример xml-документа
- •2.2.2Правила составления xml-документов
- •2.2.3Элементы xml
- •2.2.4Атрибуты xml
- •2.2.5Пространства имен xml
- •2.3Порядок выполнения работы
- •2.4Отчет по работе
- •2.5Контрольные вопросы
- •3.Лабораторная работа №2. Схемы xml-документов.
- •3.1Цель работы
- •3.2Теоретическое введение
- •3.2.1Схемы xml-документов
- •3.2.2Определение шаблона документа dtd
- •3.2.3Xml-Схемы
- •3.3Порядок выполнения работы
- •3.4Отчет по работе
- •3.5Контрольные вопросы
- •4.2.2Основные элементы языка wsdl
- •4.2.3Определение типов данных в wsdl
- •4.2.4Определение типов портов в wsdl
- •4.2.5Определение сервиса и его привязка к протоколам в wsdl
- •4.2.6Реализации веб-сервисов
- •4.2.7Создание веб-сервисов на платформе .Net
- •4.2.8Создание веб-сервиса интернет-магазина
- •4.3Порядок выполнения работы
- •4.4Отчет по работе
- •4.5Контрольные вопросы
- •5.2.2Основные элементы soap
- •5.2.3Привязка soap к http
- •5.2.4Создание на платформе .Net клиентских приложений использующих веб-сервисы
- •5.2.5Создание клиентского приложения для работы с веб-сервисом интернет-магазина
- •5.3Порядок выполнения работы
- •5.4Отчет по работе
- •6.2.2Основные элементы bpel
- •6.2.3BizTalk 2006 как средство интеграции приложений
- •6.2.4Пример использования bpel
- •6.3Порядок выполнения работы
- •7.3Порядок выполнения работы
- •7.4Отчет по работе
- •7.5Контрольные вопросы
- •8.2.2Обработка заказов через веб-сервис erp системы компании
- •8.2.3Регистрация заказа и оплата через платежную систему
- •8.2.4Конвертация валюты с помощью веб-сервиса цб
- •8.2.5Тестирование работоспособности приложения
- •8.3Порядок выполнения работы
- •9.Лабораторная работа №8. Интеграция веб-сервисов при помощи BizTalk 2006. Часть 2.
- •9.1Порядок выполнения работы
- •9.2Отчет по работе
- •9.3Контрольные вопросы
- •10.Варианты заданий
- •10.1Вариант 1
- •10.2Вариант 2
- •11.Список литературы
- •Введение в веб-сервисы
1.Введение в веб-сервисы
1.1Основы веб-сервисов
Сегодня в большинстве случаев взаимодействие в сети Интернет происходит посредством передачи текстовой или графической информации. Эти взаимодействия осуществляются с помощью протокола HTTP. Большая часть передаваемой при этом информации представлена на языке HTML, теги которого позволяют отобразить ее в браузере в понятном для пользователя виде. Этого уровня взаимодействия вполне достаточно, когда в качестве конечного потребителя предаваемых данных выступает человек. Однако для программно-ориентированного взаимодействия этот способ коммуникации подходит плохо.
Существует множество технологий, предназначенных для интеграции приложений через сеть. К их числу относятся: COM/DCOM, CORBA/IIOP, XML-RPC и RMI. Некоторые из этих технологий считаются устаревшими, другие активно применятся до сих пор, но ни одна из них по разным причинам не смогла полностью разрешить проблему программно-ориентированного взаимодействия через сеть. Веб-сервисы по своей сути базируются на идеях позаимствованных у этих технологий и являются дальнейшим их развитием. При этом при развитии технологии веб-сервисов основными принципами являлись: независимость от платформы и языка программирования, простота реализации, поиска веб-сервисов и интеграции приложений с их помощью. Кроме того, технология веб-сервисов является общепризнанной и поддерживается большинством крупных компаний, которые принимают активное участие в утверждении и дальнейшей разработке стандартов в этой области в рамках консорциума W3C (http://www.w3.org/).
Так что же представляют собой веб-сервисы? Ответ на этот вопрос можно найти в определении, которое приводится в глоссарии по веб-сервисам [i.1], размещенном на сайте W3C: «Веб-сервисом называется программная система, разработанная для поддержания взаимодействия между двумя компьютерами посредством сети. Ее публичные интерфейсы и привязки определены и описаны посредством XML (а именно WSDL). Описание этой программной системы может быть найдено другими программными системами, которые могут взаимодействовать с ней согласно этому описанию посредством SOAP сообщений, обычно передаваемых с помощью HTTP».
Как видно из этого определения, оно задает лишь общие границы веб-сервисов и ничего не говорит о способах их реализации, используемой платформе и протоколе общения. К примеру, использование протокола HTTP вовсе не является обязательным, и он может быть с легкостью заменен SMTP или другим протоколом с помощью привязок описываемых в WSDL файле веб-сервиса. На применение языков программирования также не накладывается никаких ограничений. На данный момент поддержка веб-сервисов уже добавлена в большинство языков программирования в виде стандартных библиотек. Многие среды разработки также предоставляют средства поддержки веб-сервисов, которые позволяют программистам работать с ними, не вдаваясь в подробности их функционирования.
1.2Использование веб-сервисов
При создании веб-сервисов преследовалось множество целей и возможности их применения довольно широки. Веб-сервисы могут применяться для:
Осуществления B2B (Business-to-Business) транзакций. По своей сути именно это применение и подтолкнуло производителей программного обеспечения к разработке технологии веб-сервисов. Основная идея заключается в том, что веб-сервисы должны позволять производить интеграцию бизнес процессов отдельных компаний «на лету», т.е. без участия в этом процессе программистов.
Например, в качестве предприятия рассмотрим крупный магазин. Для его функционирования требуется регулярное пополнение склада необходимыми товарами от поставщиков. Веб-сервисы позволяют полностью автоматизировать этот процесс. С помощью реестра веб-сервисов складское программное обеспечение находит веб-сервис, предоставляющий данные по нужным товарам. Далее с его помощью оно может найти поставщика, который предоставляет конкретный товар на самых выгодных условиях. Затем с помощью веб-сервисов этого поставщика складское программное обеспечение может произвести резервирование и заказ на доставку необходимых товаров.
Интеграции внутренних систем отдельных компаний. Веб-сервисы выступают в качестве удобного средства для интеграции различных информационных систем внутри компании. Например, с их помощью можно произвести интеграцию ERP системы, обеспечивающей управление ресурсами предприятия, и CRM системы, которая работает с заказчиками.
Создания клиент-серверных приложений. При разработке программного обеспечения веб-сервисы могут использоваться в качестве связующего звена, обеспечивающего коммуникацию между клиентом и сервером. Конечно, такой способ взаимодействия накладывает некоторые ограничения на процесс общения, т.к. веб-сервис, по сути, представляет собой статический набор функций, однако в ряде случаев его применение вполне оправдано. Идея использования веб-сервисов в качестве составных частей различных программных пакетов с точки зрения производителей имеет множество преимуществ. В частности становится возможным продажа не самого программного обеспечения, а взимание платы за пользование веб-сервисом, обеспечивающим работу этого ПО. Такой подход к функционированию программ автоматически позволяет решить многие проблемы связанные с незаконным использованием ПО. При этом упрощаются процедуры обновления и доступа к общим данным, т.к. веб-сервис выполняется на сервере производителя ПО. Единственным препятствием для создания таких систем является нестабильность и низкая скорость соединения с Интернетом у многих потенциальных пользователей. Однако, учитывая темпы развития этой сферы, такого рода проблемы в скором времени станут неактуальными.
Использования в качестве готовых модулей для разработчиков. К примеру, независимый разработчик может создать веб-сервис, производящий некие сложные математические вычисления на быстром сервере, и другие разработчики могут использовать его в своих программах, вместо того, чтобы писать этот алгоритм самим, а потом нагружать этими вычислениями компьютер пользователя.
Предоставления некоторой информации через Интернет. Примером такого использования веб-сервисов может служить веб-сервис, предоставляющий прогноз погоды. Данные, полученные из него, могут использоваться как на различных сайтах предоставляющих прогноз погоды, так и в обычных приложениях, приложениях исполняемых на мобильных телефонах и карманных компьютерах.
При всем разнообразии вариантов использования веб-сервисов не следует забывать, что они не являются продуктом для конечного пользователя, в отличие от сайтов, которые только визуализируются в браузерах. Веб-сервис представляет собой приложение, позволяющее использовать свою функциональность другими приложениями, которые могут функционировать в различных средах и на клиентах разных типов.
