Проектирование сервисов для сервис-ориентированной архитектуры: сервисы 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>