четверг, 16 марта 2017 г.

Oracle BPM Suite 12.2.1.2 Quick Start: установка, настройка, развертывание и тестирование бизнес-процесса на языке BPMN 2.0

Oracle BPM Suite - решение от корпорации Oracle для моделирования и исполнения бизнес-процессов предприятия с использованием нотации BPMN 2.0. Для моделирования бизнес-процессов используется интегрированная среда разработки JDeveloper. Корпорация Oracle распространяет специальный дистрибутив продукта, предназначенный для разработчиков, который включает в себя сервер приложений Oracle WebLogic, на котором работает BPM Suite, сам BPM Suite и интегрированную среду разработки JDeveloper - Quick Start.


В данной статье мне хочется поделиться с читателями информацией о том, как получить пакет Oracle BPM Suite 12.2.1.2 Quick Start с сайта edelivery.oracle.com, установить его на машину разработчика, создать первый бизнес-процесс в JDeveloper, настроить встроенный в среду разработки домен сервера приложений, включающий в себя BPM Suite, SOA Suite, Oracle Service Bus и использующий Apache Derby в качестве СУБД, развернуть созданный процесс в данном домене и запустить его тестовый экземпляр.




Установка Oracle BPM Suite Quick Start


Дистрибутив последней на момент написания статьи версии продукта Oracle BPM Suite (12.2.1.2) доступен в Oracle Software Delivery Cloud - edelivery.oracle.com. Для доступа к службе необходимо иметь единую учетную запись на сайте Oracle, которую можно создать абсолютно бесплатно.

Первым шагом является выбор продукта, который вам нужен. Чтобы скачать BPM Suite Quick Start (файлы fmw_12.2.1.2.0_bpm_quickstart.jar и fmw_12.2.1.2.0_bpm_quickstart2.jar), нужно выбрать продукт под названием Oracle SOA Suite for Oracle Middleware (BPM, FMW, Service Oriented Architecture) и указать свою любимую операционную систему.


Выбранный продукт попадает в очередь на скачивание.


На следующем шаге мастер предложит выбрать интересующие пакеты. Очевидно, это - Oracle Business Process Management.


После нажатия кнопки Continue будет отображен текст стандартной лицензии Oracle, с которым нужно ознакомиться и согласиться.


Взамен будет показано окно, на котором представлены ссылки на каждый из входящих в пакет файлов. Файлы можно скачать либо с помощью Download Manager'а, либо просто браузером, нажав на соответствующие ссылки.



Для установки варианта BPM Suite Quick Start достаточно скачать только первые два файла. Скачанные архивы необходимо распаковать в один и тот же каталог, чтобы файлы fmw_12.2.1.2.0_bpm_quickstart.jar и fmw_12.2.1.2.0_bpm_quickstart2.jar находились вместе. Запускаемым JAR-архивом является первый из файлов.

Важно!!! Инсталляцию продукта необходимо запускать под JDK, а не JRE:

> C:\java\jdk1.8.0_121\bin\java.exe -jar fmw_12.2.1.2.0_bpm_quickstart.jar

Инсталляция продукта осуществляется с помощью стандартного мастера Oracle Universal Installer. Первый шаг мастера является информационным, сообщающим о том, что будет установлена версия продукта, включающая в себя все необходимое для разработки.


Следующий шаг мастера предлагает либо выбрать каталог, в котором находятся скачанные с металинка патчи и обновления продукта, либо указать параметры учетной записи для автоматического скачивания обновлений во время установки. Впрочем, от установки обновлений можно и отказаться.


Далее необходимо выбрать каталог, в который будут установлены все компоненты, поставляемые вместе с пакетом Quick Start - Oracle Home. При необходимости каталог будет создан автоматически.


После нажатия кнопки Next выполняется проверка окружения, в которое осуществляется установка: поддерживается ли операционная система и версия JDK продуктом.


Следующий шаг мастера является промежуточным перед непосредственно установкой продукта - последний шанс проконтролировать, какие именно пакеты будут установлены и в какой именно каталог.


После нажатия кнопки Install запускается непосредственно процесс установки. В процессе распаковывается и копируется 4.5 Гб файлов, что занимает определенное время - вплоть до 15 - 20 минут.


Стоит запастись терпением.


На последнем шаге мастера отображается итоговая информация о выполненной установке. Прямо отсюда можно запустить интегрированную среду разработки JDeveloper и перейти к моделированию бизнес-процессов. Для этого необходимо поставить галочку Start JDeveloper и нажать кнопку Finish.


Создание нового приложения BPM с помощью JDeveloper


При запуске интегрированной среды разработки JDeveloper необходимо выбрать роль разработчика из нескольких предложенных. Среда довольно тяжелая и правильный выбор роли, например Java Developer, позволяет существенно ее облегчить, т.к. в оперативную память будут загружены только необходимые для работы пользователя (например, разработчика на языке Java) компоненты. Впрочем, для моделирования бизнес-процессов на языке BPMN 2.0 необходимо выбрать роль Studio Developer, предоставляющую доступ ко всем возможностям JDeveloper.


Если снять галочку Always prompt for role selection on startup, то при последующих запусках интегрированной среды разработки данное окно не будет вас беспокоить.

Во время первого запуска JDeveloper пытается найти установленные на машине свои предыдущие версии и импортировать их настройки.


И наконец после успешного запуска отображается стартовая страница JDeveloper и панель Applications, которая вполне ожидаемо пуста и содержит лишь две кнопки, приглашающие начать работу: New Application... и Open Application....


Форма создания нового приложения доступна при нажатии, естественно, первой из них. JDeveloper - это действительно интегрированная среда разработки, т.к. данный инструмент может быть использован для создания приложений самого разного рода, начиная от простых Java Desktop Application, до приложений Java EE и заканчивая приложениями, на которых основана сервисно-ориентированная архитектура предприятия или интеграционное взаимодействие между корпоративными информационными системами, а так же моделирующие бизнес-процессы предприятия.


После выбора BPM Application в качестве типа создаваемого приложения будет запущен мастер Create BPM Application, состоящий из трех форм. На первой их них нужно указать наименование приложения, а также каталог, в котором будет расположен его код. Опционально можно указать префикс Java-пакетов, характерный для приложения.


На следующем шаге мастера указываются параметры для создания первого проекта в составе приложения: наименование проекта и каталог, в котором будет расположен составляющий его код. Здесь же отображается набор features, доступных для проекта: BPM и SOA Suite.


Проекты в составе BPM Application представляют собой композиты в терминах компонентной архитектуры сервисов (Service Component Architecture (SCA)). Последний - третий - шаг мастера создания нового приложения позволяет задать имя такого композита в первом проекте приложения, а так же выбрать его начальное содержимое: будет ли это пустой композит или композит, содержащий бизнес-правило, процесс BPEL, компонент Spring Framework и т.д. Для моделирования бизнес-процесса на языке BPMN 2.0 необходимо создать композит Composite With BPMN Process.


При нажатии кнопки Finish запускается мастер создания модели процесса на языке BPMN 2.0, на первом шаге которого необходимо указать название процесса, опционально задать его описание, а так же выбрать тип процесса из предложенных: доступный как асинхронный сервис (Asynchronous Service), доступный как синхронный сервис (Synchronous Service), содержащий только действие пользователя (Manual Process), или повторно используемый и доступный из callable activity (Reusable Process). Простейший процесс, лишь демонстрирующий работу с Oracle BPM Suite, может быть создан как асинхронный.


Асинхронный сервис, в качестве которого создаваемый процесс доступен внешнему миру, характеризуется набором входных и выходных параметров. На втором шаге мастера создания бизнес-процесса необходимо описать данные параметры, указав наименование и тип каждого параметра.


Третий шаг мастера создания бизнес-процесса позволяет задать некоторую начальную реализацию - набор действий, из которых и состоит процесс. Каждое действие характеризуется наименованием, описанием, типом реализации и ролью, которая ее исполняет. Простейшим типом действия является Script task.


Последний - четвертый - шаг мастера создания бизнес-процесса позволяет задать набор расширенных параметров процесса, в частности - пространство имен XML для сервиса, через который процесс будет доступен внешнему миру.


После нажатия кнопки Finish будет сгенерирована начальная реализация бизнес-процесса в соответствии с заданной во время работы с мастером.


Данная начальная реализация готова для развертывания в среде исполнения Oracle BPM Suite. Можно развернуть проект на уже готовом домене сервера приложений Oracle WebLogic, содержащем продукт BPM Suite, например на общем сервере разработки, используемом всей командой. Можно пойти и другим путем - настроить домен и поднять сервер на локальной машине разработчика, причем сделать это можно без необходимости покидать интегрированную среду разработки JDeveloper.

Встроенный сервер приложений WebLogic: создание домена и запуск сервера


Вкладка, на которой отображаются доступные для интегрированной среды разработки подключения к серверам приложений, доступна из пункта меню Window -> Application Servers. На данной вкладке по-умолчанию доступен встроенный, поставляемый вместе с JDeveloper, экземпляр сервера приложений Oracle WebLogic - Integrated WebLogic Server. Однако прежде чем работать с данным сервером, необходимо создать домен по-умолчанию (Create Default Domain...).


Окно настройки домена по-умолчанию содержит две вкладки. На первой - Configuration - задаются базовые настройки домена: логин и пароль администратора, адрес для прослушивания сервером, а также порты (обычный и SSL).


На второй - Technologies - отображается (к сожалению, его нельзя изменять) список продуктов, которые будут включены в состав домена, в их числе должны быть SOA Suite, Service Bus и BPM Suite.


При нажатии на кнопку OK начинается создание домена.


Данный процесс занимает до 10 минут (в зависимости от мощности локальной рабочей станции разработчика), прохождение основных контрольных точек отображается в окне сообщений Messages - Log.


Как только домен будет успешно создан, у элемента IntegratedWebLogicServer на списке подключенных к среде разработки серверов приложений пропадет замечание domain unconfigured и данный сервер будет готов к запуску.


Однако перед запуском сервера приложений необходимо обновить поставляемую вместе с ним СУБД Apache Derby.

Интегрированный в среду разработки домен сервера приложений предназначен только для разработки и использует легковесную СУБД Apache Derby для работы Oracle BPM Suite. При запуске домена на Oracle JDK 1.8.0_121 я столкнулся с тем, что поставляемая вместе с сервером приложений Oracle WebLogic 12.2.1.2, версия СУБД Apache Derby 10.11.1.1 отказалась работать на данной версии JDK. Предлагаю следующую последовательность действий для обновления СУБД:

  • Скачать с официального сайта последнюю версию - 10.13.1.1;

  • Распаковать архив с СУБД в каталог %MIDDLEWARE_HOME%\wlserver\common\derbynew;

  • Внести изменения в файл bin\setDomainEnv.cmd (на Windows) в каталоге интегрированного в среду разработки домена: добавить указание изменить значение переменной окружения DERBY_HOME, например set DERBY_HOME=C:\Oracle\Middleware\bpmquickinstalldev\wlserver\common\derbynew. Данную директиву необходимо добавить после вызова call "%DOMAIN_HOME%\bin\setSOADomainEnv.cmd". На операционных системах семейства Windows, начиная с Windows 7, каталог интегрированного в среду разработки домена находится по следующему адресу: ДОМАШНИЙ КАТАЛОГ ПОЛЬЗОВАТЕЛЯ\AppData\Roaming\JDeveloper\systemВЕРСИЯ.РЕЛИЗ.СБОРКА\DefaultDomain.

Журнал запуска сервера приложений будет отображаться в окне Running: IntegratedWebLogicServer - Log. Запуск может занять несколько минут, сигналом о том, что сервер запущен будет появление записи [IntegratedWebLogicServer started.] в данном журнале.


Развертывание бизнес-процесса на сервере приложений


Ву-а-ля, сервер запущен и теперь на нем можно разворачивать проекты (композиты). Функция развертывания доступна из контекстного меню проекта Deploy -> Имя проекта....


Перед первым развертыванием нового проекта на подключенном к JDeveloper сервере необходимо выполнить настройку параметров развертывания.

Прежде всего следует выбрать куда именно осуществляется развертывание проекта - на сервер приложений или просто сохранение в файл.


Далее необходимо задать номер ревизии и параметры версионирования (какую ревизию использовать по-умолчанию, перезаписывать ли уже развернутые ревизии), а также опционально указать путь к используемому конфигурационному плану.


На следующем шаге мастера развертывания нужно выбрать сервер приложений из настроенных в JDeveloper'е.


Несколько секунд нужны интегрированной среде разработки на получение информации о запущенных SOA-серверах в домене


и получения списка SOA-каталогов, в которых могут находиться развернутые проекты.


Финальное окно мастера содержит суммарную информацию о развертывании: заданные ранее настройки, путь к создаваемому файлу с SAR-архивом проекта, а также параметры сервера, на который и осуществляется развертывание.


При нажатии на кнопку Finish начинается развертывание проекта на сервере приложений. Ход процесса отображается в окне Deployment - Log. Появление в окне строки Deployment finished. свидетельствует об успешном развертывании проекта в среде исполнения Oracle BPM Suite.


Тестирование бизнес-процесса с помощью консоли управления Enterprise Manager


Для тестирования созданной и развернутой модели бизнес-процесса воспользуемся возможностями консоли управления, поставляемой вместе с продуктами стека Oracle Fusion Middleware (компонентом которого и является Oracle BPM Suite), - Oracle Enterprise Manager Fusion Middleware Control 12c.


После успешной авторизации в консоли управления откроется стартовая рабочая область. В левом верхнем углу рабочей области расположена иконка, похожая на дерево файлов. При нажатии на данную иконку отображается основное меню консоли управления, в котором можно выбрать компонент, с которым возникла необходимость работать.


Для тестирования бизнес-процесса необходимо обратиться к компоненту SOA -> soa-infra (DefaultServer).


Если перейти к списку развернутых на сервере проектов (композитов, Deployed Composites), то можно будет увидеть созданный ранее проект HelloBpmProject.


При переходе по ссылке, представляющей собой имя проекта, откроется описание композита - список участвующих в нем компонентов, выставленных сервисов и задействованных референсов (ссылок).


Кнопка Test... открывает окно, позволяющее обратиться к веб-сервису, через который доступен бизнес-процесс.


Перед обращением к сервису необходимо задать значения для его входных параметров, в данном случае - параметра actorName. После этого можно нажать кнопку Test Web Service - сформированный SOAP-запрос будет отправлен на сервис, за которым скрывается бизнес-процесс. Так как сервис асинхронный, то практически мгновенно отобразится окно с пустым ответом от сервиса.


Необходимо получить трассировку исполнения процесса. Для этого нужно найти последний запущенный экземпляр композита, для чего - перейти на вкладку Flow Instances, заполнить параметры поиска, отображаемые в правой части экрана (скорее даже ничего там не менять) и нажать на кнопку Search.


В основном окне консоли управления отобразится список отработавших экземпляров композита.


Необходимо нажать на ссылку, представляющую собой идентификатор (Flow ID) самого верхнего экземпляра в списке. Во всплывающем окне будет показано прохождение входяшего сообщения по процессу - его поступление на конечную точку выставленного сервиса HelloWorldProcess service и обработку в компоненте BPMN - HelloWorldProcess.


Если нажать на ссылку HelloWorldProcess, то откроется окно с аудитом исполнения действий бизнес-процесса. По-умолчанию действия с типом Script Activities не отображаются, но это можно исправить, выбрав соответствующий пункт выпадающего списка Human Activities; Service....


Видно, что действие Setup Initial Data завершено успешно.


Действия процесса можно отобразить в виде дерева


... или в графическом представлении нотации BPMN 2.0.


Заключение


Мы рассмотрели процесс получения дистрибутива и установки продукта Oracle BPM Suite 12.2.1.2 Quick Start на локальную машину разработчика и разобрались как создать модель простейшего бизнес-процесса на языке BPMN 2.0 в интегрированной среде разработки JDeveloper. Затем настроили интегрированный в среду разработки домен сервера приложений Oracle WebLogic, содержащий среду исполнения Oracle BPM Suite и использующий СУБД Apache Derby для ее работы. Созданный проект с моделью простейшего бизнес-процесса был развернут на настроенном домене. В заключение бизнес-процесс был протестирован с помощью консоли управления Oracle Enterprise Manager Fusion Middleware Control 12c. Конечно, реальные бизнес-процессы моделируемые с помощью Oracle BPM Suite гораздо сложнее и могут включать в себя как операции, выполняемые автоматически, так и вручную. Надеюсь в следующих статьях серии познакомить своих читателей с механизмом Oracle BPM Suite для обработки выполняемых вручную операций - Human Task. Оставайтесь на связи и не стесняйтесь задавать ваши вопросы в комментариях.

Понравилось сообщение - подпишитесь на блог

5 комментариев:

george g комментирует...

Имел небольшой опыт работы с Oracle BPM Suite 11g. Неизгладимое впечатление произвело на меня - тяжеловестность платформы.
Интересно, есть ли спрос на данное решение в России?
Стоит ли изучить данное решение подробно?

Pavel Samolysov комментирует...

Я думаю, это - отголоски американской гигантомании :) Если серьезно, то штука безусловно громоздкая, но решающая множество задач. Не в том смысле, что нельзя собрать команду и написать все на Java, а в том, что экономит деньги и предоставляет невиданную гибкость. В конце концов никто не говорит, что Oracle Database - громоздкая фигня, не приносящая ценности. Oracle BPM - это такое же инфраструктурное решение, только работающее с другими объектами - с бизнес-процессами предприятия, одной из основных характеристик которых является постоянное стремление к изменениям.

Что касается богоспасаемого отечества, то к счастью в мире есть гораздо более продвинутые страны, но даже у нас подобные решения различных вендоров популярны, например в банковской индустрии. В конце концов тот же кредитный конвейер - просто просится быть сделанным на BPM. Конкретно Oracle BPM есть в нескольких банках на букву "В".

Артем Варкулевич комментирует...

Привет Паш,
Вернулся в Оракл? )))

Pavel Samolysov комментирует...

В процессе возвращения. Если кто-то мне хочет с этим помочь - welcome :)

Vladimir Zhilyaev комментирует...

Добрый день, тоже столкнулся с проблемой запуска Derby DB, решил с помощью дока на сапорте - Doc ID 1629498.1

Отправить комментарий

Любой Ваш комментарий важен для меня, однако, помните, что действует предмодерация. Давайте уважать друг друга!