- •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.Список литературы
- •Введение в веб-сервисы
8.2.4Конвертация валюты с помощью веб-сервиса цб
Пусть для конвертации валюты ЦБ предоставляет следующий сервис:
/// <summary>
/// Производит конвертацию валюты
/// </summary>
/// <param name="from">ISO код исходной валюты</param>
/// <param name="to">ISO код целевой валюты</param>
/// <returns>Коэффициент перевода</returns>
[WebMethod]
public double Convert(string from, string to)
{
}
В поставленной задаче конвертация всегда производится из долларов в рубли, поэтому эти значения можно использовать в качестве констант для создания сообщения вызова веб-сервиса ЦБ:
CurrencyReq.from = "USD";
CurrencyReq.to = "RUR";
Полученный после вызова веб-сервиса курс перевода используется для модификации суммы заказа, которая в эту оркестровку передается в качестве входного и выходного параметра:
Sum = Sum * CurrencyRes.ConvertResult;
Таким образом, эта оркестровка описывается довольно простой схемой:
Рис. 8.35. Схема оркестровки перевода валюты.
8.2.5Тестирование работоспособности приложения
Для проверки работоспособности системы был создан тестовый пример, состоящий из трех заказов:
Заказ с большим количеством товаров, заведомо превышающим количество доступных товаров в интернет-магазине.
Заказ с неверными номерами товаров, которые не содержатся в каталоге товаров фирмы-поставщика.
Заказ с верными номерами товаров, указанных в доступном для заказа количестве.
Функция «OrdersReload» веб-сервиса ERP системы предприятия была модифицирована таким образом, чтобы заполнять очередь заказов данными из тестового примера. В результате запуска приложения при помощи стартового сообщения были получены следующие результаты:
Во время регистрации заказа в интернет-магазине произошла ошибка «NotEnoughGoods», в результате чего транзакция была отменена и затем вызвана функция удаления заказа из очереди ERP системы со статусом «successfully = False».
Во время регистрации заказа в интернет-магазине произошла ошибка «WrongGoodId», в результате чего транзакция была отменена и затем вызвана функция удаления заказа из очереди ERP системы со статусом «successfully = False».
Регистрация заказ в интернет-магазине прошла успешно, затем была вызвана функция конвертации полученной суммы заказа из валюты «USD» в «RUR». После этого веб-сервис платежной системы получил запрос на перевод соответствующей суммы в рублях со счета компании на счет фирмы-поставщика. Заказ был удалее из очереди со статусом «successfully = True».
Кроме вызовов операций веб-сервисов с соответствующими параметрами, которое можно было наблюдать в режиме отладки, результатом работы созданного приложения является набор записей в системном логе, содержащий отладочную информацию о функционировании системы, например о статусе заказа: «Order status is: WrongGoodId».
8.3Порядок выполнения работы
Запустить Visual Studio 2005 и открыть свое решение.
Добавить в решение проект типа «Empty BizTalk Server Project».
Добавить в проект ссылки на используемые веб-сервисы в соответствии с вариантом задания (веб-сервис ERP-системы, веб-сервис интернет магазина, веб-сервис конвертации валют или платежной системы).
Добавить в проект новую оркестровку, производящую заказ первого заказа из очереди ERP-системы в интернет-магазине.
Добавить в проект карту преобразования и настроить конвертацию из формата ERP-системы в формат магазина.
Закрыть Visual Studio 2005 и завершить сеанс работы.
