Проектирование сервисов для сервис-ориентированной архитектуры – сервисы online обработки заказа товаров с учетом кредитоспособности поку

Автор работы: Пользователь скрыл имя, 07 Декабря 2011 в 12:25, курсовая работа

Описание

Тенденции, которые можно наблюдать на сегодняшний день, свидетельствуют к переходу на новый уровень проектирования систем – систем с сервис-ориентированной архитектурой (Service-Oriented Architecture, SOA). И наиболее перспективной технологией, на сегодняшний день, на которой реализуется SOA, является технология web-сервисов. В этой работе будут рассмотрены способы создания web-сервисов с использованием нескольких технологий – JAX-RPC, позволяющая создавать и обращаться к web-службам на платформе Java и BPEL – язык описания бизнес-процессов, построенных на взаимодействии web-служб.

Содержание

1 ВВЕДЕНИЕ 4
2 ПОСТАНОВКА ЗАДАЧИ 4
3 РАЗРАБОТКА ПО МЕТОДИКЕ RUP 5
4 ФУНКЦИОНАЛЬНАЯ ДЕКОМПОЗИЦИЯ СИСТЕМЫ 6
4.1 ВАРИАНТ ИСПОЛЬЗОВАНИЯ: ОБРАБОТАТЬ ЗАКАЗ 7
4.2 ВАРИАНТ ИСПОЛЬЗОВАНИЯ: ПОДТВЕРДИТЬ ЗАКАЗ 7
4.3 ВАРИАНТ ИСПОЛЬЗОВАНИЯ: ОТМЕНИТЬ ЗАКАЗ 8
4.4 ВАРИАНТ ИСПОЛЬЗОВАНИЯ: ПОЛУЧИТЬ ДОКУМЕНТЫ ЗАКАЗА КЛИЕНТА 8
5 СТРУКТУРНАЯ ОРГАНИЗАЦИЯ СИСТЕМЫ 8
5.1 ОПИСАНИЕ РАЗРАБОТАННЫХ СЕРВИСОВ 9
5.1.1 Сервис хранения документов заказов (WebSellerDB) 9
5.1.2 Сервис обработки заказов (WebSeller) 9
5.2 СХЕМА ДАННЫХ 10
6 КРАТКОЕ ОПИСАНИЕ И РОЛЬ ИСПОЛЬЗУЕМЫХ ТЕХНОЛОГИЙ 11
6.1 XML-ТЕХНОЛОГИИ 11
6.2 ТЕХНОЛОГИИ WEB-СЛУЖБ 12
6.2.1 WSDL 12
6.2.2 JAX-RPC 12
6.2.3 SOAP Handlers 15
6.3 КОРОТКО ОБ ИСПОЛЬЗУЕМЫХ ТЕХНОЛОГИЯХ APACHE 16
6.3.1 Apache Software Foundation 16
6.3.2 Jakarta Tomcat 17
6.3.3 Apache Axis 18
6.3.4 Apache Xindice 18
6.3.5 Другие инструменты Apache 19
6.4 ЯЗЫК BPEL 20
6.5 BPEL ENGINE, ACTIVEBPEL, ACTIVEWEBFLOW PROFESSIONAL 21
7 ОБОСНОВАНИЕ ТЕХНИЧЕСКИХ РЕШЕНИЙ 21
7.1 РАЗРАБОТКА XML-СХЕМЫ ДОКУМЕНТА ЗАКАЗА 21
7.2 РАЗРАБОТКА WSDL-ОПИСАНИЙ 23
7.3 ОРГАНИЗАЦИЯ ДОСТУПА К БД 23
7.3.1 Класс XindiceHelper 24
7.3.2 Класс WebSellerDBHandler 24
7.4 BPEL-ПРОЦЕСС ДЛЯ СЕРВИСА WEBSELLER 27
7.4.1 Инициализация 28
7.4.2 Процедура проверки кредитоспособности 28
7.4.3 Управление состоянием заказа 29
7.4.4 Обработка ошибок 31
8 РАЗВЕРТЫВАНИЕ (DEPLOYMENT) WEB-СЛУЖБ 32
9 ТЕСТОВЫЕ ПРИМЕРЫ 33
9.1 КРАТКОЕ ОПИСАНИЕ ТЕСТОВ И РЕЗУЛЬТАТОВ ИХ РАБОТЫ 33
9.1.1 Пример выполнения теста с таймаутом 34
10 ЗАКЛЮЧЕНИЕ 35
11 ИСПОЛЬЗОВАННЫЕ ТЕХНОЛОГИИ И ИСТОЧНИКИ ИНФОРМАЦИИ 36
ПРИЛОЖЕНИЕ А. СТРУКТУРА КАТАЛОГОВ ДИСКА 38
ПРИЛОЖЕНИЕ Б. ГЛОССАРИЙ 39
СПИСОК ТЕРМИНОВ 39
ПРИЛОЖЕНИЕ В. СОЗДАНИЕ РАБОЧЕГО ОКРУЖЕНИЯ 41
ИСПОЛЬЗУЕМЫЕ ИНСТРУМЕНТЫ 41
УСТАНОВКА ИСПОЛНЯЕМОЙ СРЕДЫ 41
Переменные окружения 41
Процесс установки 42
НАСТРОЙКА СРЕДЫ РАЗРАБОТКИ 43
Интегрирование сред разработки BPEL, WS и Java 43
Настройка JUnit и Ant 44
Настройка отладки проекта в Eclipse 45
Настройка CLASSPATH в Eclipse 45
ПРИЛОЖЕНИЕ Г. ЗАДАНИЯ ANT (ANT TARGETS) 48

Работа состоит из  1 файл

Курсовая работа (WebSeller).doc

— 921.00 Кб (Скачать документ)

Настройка среды разработки

В качестве среды  разработки используется Eclipse (версия 3.1.1). Для разработки BPEL процессов используется ActiveWebflow Professional8.

Интегрирование  сред разработки BPEL, WS и Java

Как было отмечено ранее (см. сноску №8), дизайнер ActiveWebflow Professional распространяется как отдельная IDE на базе Eclipse и поддержка программирования на Java в этом Eclipse отсутствует. Также текущая версия основана на базе Eclipse 3.0.1, в котором отсутствует поддержка для Java 5.

По этому проще  всего на данный момент использовать две копии Eclipse: первую (дизайнер ActiveWebflow Professional) использовать только для дизайна BPEL-процессов, а другую (Eclipse 3.1.1) для всего остального. Каждая копия Eclipse работает со своим рабочим пространством (workspace), которое не разделяется между инстанциями. Workspace содержит набор проектов, с которыми на данный момент идет работа. Eclipse позволяет в разных проектах создавать папки-ссылки на другие папки. В качестве рекомендации предлагается создать полную структуру каталогов в проекте в рабочей области Eclipse 3.1.1 и из проекта в ActiveWebflow Professional сделать ссылки на папки bpel, bpr и wsdl – это все, что понадобится для дизайна BPEL-процесса (см. рис. ниже).

Рисунок 11 Рабочая область (Workspace)

Eclipse 3.1.1

Рисунок 12 Рабочая область (Workspace)

ActiveWebflow Professional

Axis ([AXIS]) предлагает вспомогательные средства для разработки web-служб – утилиты WSDL2Java и Java2WSDL (см. сноску №6). Для автоматизации разработки в поставку Axis также входит набор задач (taskdef) для Apache Ant ([ANT]), которые позволяют работать с этими и некоторыми другими утилитами (например, AdminClient). Напомним, что Ant интегрирован в среду разработки Eclipse, что позволяет наладить процесс автоматизации разработки web-служб (см. Приложение Г. Задания Ant (Ant Targets)).

Настройка JUnit и Ant

Для того чтобы  можно было запускать JUnit-тесты из Ant-скрипта в среде Eclipse, необходимо в настройках Ant в Eclipse указать путь, по которому располагается файл junit.jar (Window à Preferences… à Ant à Runtime à Classpath à Ant Home Entries à Add JARs…).

Для того чтобы JUnit тесты можно было запускать из командной строки с использованием задания test (ant test), необходимо предварительно в %ANT_HOME%/lib скопировать файл junit.jar. Это можно сделать заданием deploy-junit (см. Приложение Г. Задания Ant (Ant Targets)).

За дополнительной информацией можно обратиться к Apache Ant FAQ (http://ant.apache.org/faq.html#delegating-classloader-1.6).

Настройка отладки проекта в Eclipse

Для того чтобы  можно было подключиться к процессу Tomcat через JPDA9, нужно настроить Tomcat для режима отладки в начало файла %CATALINA_HOME%\bin\catalina.bat добавить две строчки10:

set JPDA_TRANSPORT=dt_socket

set JPDA_ADDRESS=8000

И запускать Tomcat командой11 %CATALINA_HOME%\bin\catalina.bat jpda start.

Далее нужно  создать конфигурацию для запуска  отладчика: Run à Debug… à Remote Java Application à New. Параметры по умолчанию подойдут. Необходимо только задать проект, для которого будет работать отладочный режим, и задать название конфигурации.

Теперь можно  подключаться к процессу Tomcat из Eclipse: Run à Debug… à Remote Java Application à Название конфигурации à Debug.

Настройка CLASSPATH в Eclipse

При загрузке проекта  в Eclipse могут возникнуть некоторые ошибки, связанные с CLASPATH (Рисунок 13 Возможные ошибки в Project Build Path).

Рисунок 13 Возможные ошибки в Project Build Path

Пути к необходимым библиотекам в CLASSPATH заданы относительно переменной classpath (classpath variable) CATALINA_HOME. Не следует ее путать с переменной окружения. Эта переменная имеет отношение только к Eclipse.

Рисунок 14 Добавление Classpath Variable

Чтобы добавить переменную classpath нужно выполнить следующее (Рисунок 14 Добавление Classpath Variable): Project à Properties… à Java Build Path à Вкладка Libraries à Add Variable… à Configure Variables… à New… à Добавить переменную CATALINA_HOME со значением пути корневого каталога Tomcat à OK.

 

Приложение  Г. Задания Ant (Ant Targets)

Ниже приведен набор заданий Ant, разработанных для проекта Web Seller. Исходный текст скрипта, с подробными комментариями, приведен на диске: файл webseller/ant/build.xml.

Некоторые задания  предназначены для использования в среде Eclipse для автоматизации процесса разработки. Другие, такие как test, build и clean – дублируют функциональность Eclipse и предназначены в основном для работы с командной строкой.

Рисунок 15 Задания Ant-скрипта для проекта Web Seller

Информация о работе Проектирование сервисов для сервис-ориентированной архитектуры – сервисы online обработки заказа товаров с учетом кредитоспособности поку