Проектирование сервисов для сервис-ориентированной архитектуры: сервисы online обработки заказа товаров с учетом кредитоспособности покупателя
Особенности создания набора web-сервисов, учитывающих функцию кредитоспособности покупателя. Учет возможности управления статусом заказа. Анализ функциональной декомпозиции системы. Использование разработанных сервисов и технологий, их эффективность.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 24.02.2012 |
Размер файла | 2,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Список терминов
§ BPEL - Business Process Execution Language
§ Внешняя система - система, которая использует наш бизнес-процесс через своих клиентов - продавцов и покупателей.
o Так как данная система является учебной, в ней не рассматривается вопрос разделения ролей актантов, таких как продавец или покупатель. Они все представлены одним актантом - внешняя система.
§ Документ заказа - структура данных (XML-документ), который содержит информацию о заказе, а именно: статус документа заказа, идентификатор заказа, выдаваемый нашей системой при сохранении документа заказа в БД, информация о покупателе, его контактную информацию и его идентификатор во внешней системе; информация о корзине покупателя, в которой содержится информация о магазине, в котором совершается покупка, товарах и их количестве, которые собирается купить покупатель.
§ Статус документа заказа - может принимать значения STATE_PENDING, STATE_CREDIT_STATUS, STATE_WAITING.
o STATE_PENDING - документ заказа поступил в систему;
o STATE_CREDIT_STATUS - документ заказа проходит проверку на кредитоспособность покупателя;
o STATE_WAITING - документ заказа находится в режиме ожидания подтверждения или отмены заказа.
§ Сумма заказа N - сумма, установленная для данного магазина, ниже которой магазин может самостоятельно предъявить кредит покупателю. В случае если сумма заказа больше N, наша система обращается к сторонней службе проверки кредитоспособности покупателя.
§ Продавец магазина - подтверждает факт явки покупателя в магазин за получением товара.
§ Время - специальный актант, который по прошествии определенного времени T извлекает заказ из системы, если покупатель не подтвердил заказ (т.е. продавец не зафиксировал факт явки покупателя).
Приложение В
Создание рабочего окружения
Используемые инструменты
Для развертывания понадобятся:
1. Java 1.5.0 (см. [JAVA])
2. Tomcat 5.5.12 (см. [TOMCAT])
3. Apache Xindice 1.1b4 (см. [XINDICE])
4. ActiveBPEL engine v1.2 (см. [AEBPEL])
5. Apache Axis 1.2.1 (см. [AXIS])
6. Apache Ant 1.6.5 (см. [ANT])
Тестирование системы на совместимость с другими версиями не проводилось.
Установка исполняемой среды
Для детальной информации по установке см. оригинальные инструкции по установки конкретного ПО. Ниже будут рассмотрены вопросы, касаемо интеграции ПО, перечисленного в разделе «Используемые инструменты».
Будем считать, что установка производится на «чистую» систему, так что вопросы совместимости с уже установленным ПО здесь рассматриваться не будут.
Переменные окружения
Для продолжения работы необходимо определить следующие переменные окружения:
Таблица 2 Переменные окружения
Процесс установки
1. Распаковать Tomcat (apache-tomcat-5.5.12.tar.gz) в %CATALINA_HOME%;
2. Распаковать Tomcat Compatibility Pack (apache-tomcat-5.5.12-compat.tar.gz) для поддержки Java 1.4.x;
3. Распаковать Ant (apache-ant-1.6.5-bin.tar.bz2) в %ANT_HOME%;
4. Собрать xindice.war (или скачать готовый архив [XINDICE]) и скопировать его в %CATALINA_HOME%\webapps\;
5. xindice.jar в %CATALINA_HOME%\shared\lib\;
6. Установить activebpel-1.2;
§ activebpel-1.2\install.bat
7. Из %CATALINA_HOME%\webapps\xindice\WEB-INF\lib\ в %CATALINA_HOME%\shared\lib файлы:
§ xalan-2.5.2.jar
§ xmldb-api-20030701.jar
§ xmldb-api-sdk-20030701.jar
§ xmldb-common-20030701.jar
§ xmldb-xupdate-20040205.jar
§ xmlrpc-1.1.jar
8. Установить параметры ActiveBPEL Engine (http://localhost:8080/BpelAdmin/config.jsp)
§ Auto create target path for Copy/To: Да
§ Validate Input/Output messages against schema: Нет
Настройка среды разработки
В качестве среды разработки используется Eclipse (версия 3.1.1). Для разработки BPEL процессов используется ActiveWebflow Professional Графический дизайнер BPEL процессов. В данной работе использовалась версия 1.1.6 на базе Eclipse 3.0.1. Разработка фирмы Active Endpoints, Inc. [AEWEBFLOW].
Интегрирование сред разработки 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 через JPDA Java Platform Debugger Architecture (JPDA), нужно настроить Tomcat для режима отладки в начало файла %CATALINA_HOME%\bin\catalina.bat добавить две строчки Данное замечание актуально лишь для ОС Windows. Shell-скрипт для Linux (catalina.sh) имеет данные значения установленными по умолчанию.:
set JPDA_TRANSPORT=dt_socket
set JPDA_ADDRESS=8000
И запускать Tomcat командой Эту команду можно также добавить в меню Run External Tools …, чтобы можно было запускать Tomcat не выходя из Eclipse. %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
Размещено на Allbest.ru
Подобные документы
Идеи по использованию сервисов поисковой системы Google для совместной работы с учащимися в блоге "Учимся с Google". Организация коллективной деятельности с помощью сервисов Google. Характеристика функций основных сервисов, их достоинства и недостатки.
реферат [24,5 K], добавлен 27.11.2012Эволюция облачных сервисов. Характеристики и классификация облачных сервисов. Анализ возможностей облачных сервисов, предлагаемых для использования в малом бизнесе. Анализ стоимости владения локальным решением по автоматизации деятельности бухгалтерии.
курсовая работа [2,7 M], добавлен 10.05.2015Web 2.0 как новое поколение сетевых сервисов, его возможности и преимущества по сравнению с предшественниками. Принцип работы и назначение открытых общественных веб-сервисов. Деятельность и значение социальных сетевых сервисов на современном этапе.
курсовая работа [46,1 K], добавлен 03.07.2009Рассмотрение эффективности корпоративной сервисной шины и веб-сервисов. Ознакомление со стеком технологий веб-сервисов. Исследование и характеристика процесса взаимодействия между потребителем и провайдером сервиса, который задается с помощью интерфейса.
дипломная работа [596,0 K], добавлен 22.08.2017Файлообменные и облачные сервисы. Типы организации файлообменных сетей. Сравнительная характеристика облачных и файлообменных сервисов. Загрузка и скачивание файла с DropBox. Шаринг файлов в DropBox. Загрузка, поиск и скачивание файла с DepositFiles.
курсовая работа [2,6 M], добавлен 25.05.2015Мониторинг сервисов веб-приложения. Проблема отслеживания большого количества сервисов, поддерживающих работу веб-приложения, ее решение с помощью "Service discovery"-инструментов. Применение программного инструмента Consul как клиент-серверной системы.
статья [184,4 K], добавлен 10.12.2016Возможности интерфейса программирования приложений ARI крупных картографических веб-сервисов в процессе создания двух картографических веб-сервисов. Анализ существующих веб-сервисов. Карты Яндекса и Google, пользовательские карты. Выбор среды разработки.
дипломная работа [4,5 M], добавлен 24.09.2012Анализ облачных сервисов для автоматизации бизнеса и обоснование преимуществ перехода на облачную обработку данных. Виды и модели облачных сервисов для бизнеса, принципы их работы и характеристики. Задачи автоматизации бизнеса на примере облачных решений.
дипломная работа [2,3 M], добавлен 06.09.2017Принципы создания и демонстрации презентаций. История появления Online-сервисов и инструментов для создания компьютерных презентаций. Информационно-логическая модель презентации. Разработка шаблона компьютерной презентации в среде MS Office Power Point.
курсовая работа [3,9 M], добавлен 22.02.2022Поисковые системы. Описание и сравнение сервисов поисковых систем, предоставляемых пользователям. Сравнительный анализ интерфейсов. Риски использования поисковых систем. Блокировка вирусных сайтов. Загруженность главной страницы новостями и рекламой.
презентация [198,3 K], добавлен 17.01.2014