- •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Основы веб-сервисов
- •1.2Использование веб-сервисов
- •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.Список литературы
- •Введение в веб-сервисы
2.2.1Пример xml-документа
Синтаксические правила XML очень просты и легки в использовании. Поэтому составление и работа с XML-документами представляет собой довольно простой процесс, что способствует росту популярности этого стандарта.
Для начала рассмотрим простой пример XML-документа, схематично описывающего заказ товаров в интернет магазине:
<?xml version="1.0" encoding="utf-8" ?>
<order customerId="12">
<address>Москва, Каширское шоссе, 31</address>
<date>01.04.2006</date>
<time>12:40</time>
<items>
<item id="2133">
<name>Монитор</name>
</item>
<item id="2233">
<name>Видеокарта</name>
</item>
</items>
</order>
В первой строке этого документа содержится тэг декларации XML, в котором указывается версия стандарта языка, в соответствии с которой будет производиться обработка документа, а также кодировка документа. В следующей строке представлен корневой элемент документа – “order”. Он содержит атрибут “customerId”, указывающий на идентификатор заказчика. Каждый элемент состоит из двух тэгов: открывающего и закрывающего. Все, что находится между этими тэгами, является содержимым элемента. Там могут быть перечислены дочерние элементы и значение элемента. Атрибуты элемента могут быть перечислены только в отрывающем тэге.
2.2.2Правила составления xml-документов
Существует несколько правил, которые надо соблюдать при составлении XML-документов, чтобы они были правильными, т.е. могли быть обработаны XML-процессорами без ошибок.
Каждый XML-документ должен содержать ровно один корневой элемент.
К примеру, такой документ является неправильным т.к. содержит два корневых элемента:
<?xml version="1.0" encoding="utf-8" ?>
<order>
...
</order>
<request>
...
</request>
Для правильной организации хранения этих данных в XML нужно использовать структуру вида:
<?xml version="1.0" encoding="utf-8" ?>
<communication>
<order>
...
</order>
<request>
...
</request>
</communication>
Все элементы должны иметь закрывающий тэг.
В стандарте HTML для некоторых элементов наличие закрывающего тэга не обязательно. К примеру, тэг <br> осуществляет перенос каретки на новую строку:
Строка<br>
Новая строка
В XML наличие закрывающего тега обязательно. Поэтому структура такого вида будет считаться неправильной из-за отсутствия закрывающего тэга для названия товара:
<item id="2133">
<name>Монитор
</item>
Стоит отметить тот факт, что хотя закрывающий тэг и является обязательным, он может быть упрощен. Приведенную выше структуру можно правильно оформить в следующем виде:
<item id="2133" name="Монитор"></item>
Эта структура может быть упрощена таким образом:
<item id="2133" name="Монитор"/>
Как понятно из примера это возможно только в том случае, если у элемента отсутствуют дочерние элементы и значение.
В тэгах XML учитывается регистр.
В XML тэги <item> и <Item> будут интерпретированы как разные. Таким образом, это может привести к ошибке в документе:
<Item id="2133">
<name>Монитор</name>
</item>
Этот документ будет считаться неправильным из-за отсутствия закрывающего тэга </Item>.
Существует также несколько особенностей XML, которые следует учитывать при составлении документов:
Пробелы в XML-документах сохраняются.
Это отличает XML от HTML, в котором для устранения ошибок при выводе документов на экран любое количество идущих подряд пробелов заменяется одним.
Некоторые особые символы должны заменяться ссылками на сущность.
Существуют два символа, которые при наличии их в значении элемента или атрибута вызовут ошибку: “<” и “&”. Поэтому при составлении документа их надо заменять ссылкой на сущность:
<name>Монитор с диаганалью < 19 дюймов</name>
После разбора этого элемента XML процессором в качестве значения этого элемента будет строка:
Монитор с диаганалью < 19 дюймов
В XML изначально заданы пять сущностей. Хотя три из них можно применять в тексте документов, их также желательно заменять ссылками на сущность.
Символ |
Обозначение |
< |
< |
> |
> |
& |
& |
` (апостроф) |
' |
“ (двойная кавычка) |
" |
Таблица 2.1. Сущности языка XML.
Для добавления текста, который не будет интерпретироваться при разборе XML-документа, используется конструкция CDATA.
Использование этой конструкции позволяет не преобразовывать символы в ссылки на сущность т.к. весь текст заключенный внутри этой конструкции не обрабатывается при разборе XML-документа. Это удобно в том случае, если надо включить в документ читабельный текст с использованием запрещенных символов, например, исходный код программы или кусок HTML-документа, как показано ниже:
<message>
<![CDATA[
<div style="width: 200px; height: 70px; text-align: center">
<span style="color: red; background-color: blue">
Купи хлеба!
</span>
</div>
]]>
</message>
Комментарии в XML.
Для добавления в XML документ комментариев, т.е. текста который не будет использоваться при разборе документа и не будет включен в значение элемента, используется специальная конструкция:
<order customerId="12">
<address>Москва, Каширское шоссе, 31</address>
<!-- Дата должна быть в формате dd.mm.yyyy -->
<date>01.04.2006</date>
...
</order>
