Проектирование сервисов для сервис-ориентированной архитектуры: сервисы online обработки заказа товаров с учетом кредитоспособности покупателя
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
andler региона (Scope), переданного ей в качестве параметра. Такой обработчик объявлен в регионе ScopeOrder (см. Рисунок 4 Инициализация бизнес-процесса). Обработанные исключения выбрасываются на следующий уровень - клиенту, вызвавшему службу WebSeller.
Развертывание (deployment) Web-служб
Для того чтобы развернуть (установить) сервисы можно воспользоваться разработанными заданиями ant (см. Приложение Г. Задания Ant (Ant Targets)). Условно можно определить три типа заданий Ant, разработанных для данного проекта:
1.Для компилирования и сборки проекта;
2.Для развертывания проекта (установки web-служб и BPEL-процессов);
.Для запуска тестов.
На этапе сборки проекта создается файл архива, который можно устанавливать в ActiveBPEL Engine: webseller/wsr/webseller.wsr - web-служба WebSellerDB. Архив BPEL-процесса WebSeller - webseller/bpr/webseller.bpr - создается при помощи ActiveWebflow Professional.
Для сборки проекта необходимо выполнить команду (webseller/ant/ - рабочий каталог):build
Все, что нужно для развертывания - это скопировать файлы архивов служб в каталог TALINA_HOME%/bpr. Сделать это можно командой:deploy
Для запуска тестов можно воспользоваться командами:
ant deploy-junittest
Тестовые примеры
Для созданного BPEL-процесса в качестве эмуляции системы, в которую интегрирован этот сервис, разработан набор JUnit-тестов (класс net.sf.dmitrygusev.webseller.test.TestWebSeller).
Краткое описание тестов и результатов их работы
В классе TestWebSeller эмулируются три исхода вызова службы:
1.Нормальное завершение обработки заказа подтверждением от клиента (метод testOrderProcessingConfirm());
2.Отмена сделанного заказа (метод testOrderProcessingCancel());
.Таймаут (метод testOrderProcessingTimeout()).
Пример выполнения теста с таймаутом
Рисунок 8 Пример выполнения BPEL-процесса в тесте с таймаутом
Рисунок 9 Глобальные обработчики исключительных ситуаций
Заключение
Сервис-ориентированные архитектуры (Service-Oriented Architectures, SOA) сегодня очень популярны. Хотя SOA не предполагает использование web-служб в качестве сервисов, на сегодняшний день преимущественно именно web-службы используются для построения SOA. В связи с этим на ряду с поддержкой разработки web-служб в языках ООП (JAX-RPC/SAAJ/JAXM, если рассматривать в контексте языка Java) появляются также специфические языки, которые позволяют создавать новые сервисы на основе уже существующих. Примером такого языка является рассмотренный в данной работе язык BPEL, который позволяет специалистам с квалификацией ниже, чем разработчики языков ООП, например, бизнес аналитикам, с легкостью описывать бизнес-процессы, работающие в реальных SOA, пользуясь графическими нотациями, предоставляющие более высокий уровень абстракции для описания сервиса. Используя BPEL, новые сервисы могут разрабатываться за считанные дни и недели, против месяцев и годов, которые пришлось бы потратить на их реализацию, используя технологии более низкого уровня, таких как JAX-RPC/SAAJ/JAXM.
Использованные технологии и источники информации
1.[AEBPEL]ActiveBPEL, LLC - это софтверная организация, работающая в open source, которая лицензирует и распространяет технологию ActiveBPEL™ engine. ActiveBPEL engine - это runtime environment, которая способна исполнять процессы, созданные согласно спецификации Business Process Execution Language for Web Service (BPEL4WS, или просто BPEL) версии 1.1. (
.[AEWEBFLOW]Основанный на стандартах набор продуктов управления процессами, которые позволяют информационным аналитикам создавать, устанавливать и управлять составлением процессов, которые имеют 100% совместимость с BPEL 1.1. ActiveWebflow состоит из интегрированных визуальных средств разработки (ActiveWebflow Professional) и окружением исполнения BPEL уровня предприятия (ActiveWebflow Enterprise). В двух словах, аналитики процессов и разработчики приложений могут использовать ActiveWebflow Professional чтобы создавать и тестировать BPEL-процессы, для дальнейшего развертывания этих процессов в ActiveWebflow Enterprise. ()
.[ANT]Apache Ant - это Java-based build tool. ()
.[AXIS]Apache Axis - это реализация SOAP ("Simple Object Access Protocol"), рекомендованного W3C. ()
5.[JAVA]Технология Java (
.[TOMCAT]Официальная эталонная реализация технологий Servlet 2.4 и JavaServer Pages 2.0. (
.[XINDICE]Реализация с открытым кодом XML-базы данных. (
.[XUPDATE]Язык для изменения XML-документов. (
9.[APACHE]Официальный сайт Apache Software Foundation, (www.apache.org )
Приложение А
Структура каталогов диска
Рисунок 10 Структура каталогов диска
"Другие проекты" - установочные дистрибутивы используемых технологий (см. раздел Используемые инструменты).
"Курсовой проект (WebSeller)" - разработанный курсовой проект, включая:
o"Пояснительная записка" - эта пояснительная записка;
o"Плакаты" - разработанные чертежи и плакаты;
o"Артефакты RUP" - разработанные артефакты RUP;
o"Проект WebSeller для Eclipse 3.1.1" - архив проекта WebSeller.
"Настроенный Tomcat" - сконфигурированный Tomcat, с установленными сервисами проекта WebSeller.
Приложение Б
Глоссарий
Артефакт Глоссарий также представлен на прилагаемом диске, см. Glossary в каталоге "Артефакты RUP", Приложение А. Структура каталогов диска
Список терминов
BPEL - Business Process Execution Language
Внешняя система - система, которая использует наш бизнес-процесс через своих клиентов - продавцов и покупа?/p>