Рубрики
Без рубрики

Руководство по jBPM с Java

Узнайте о системе управления бизнес-процессами (BPM) и ее реализации на Java в виде системы jBPM.

Автор оригинала: baeldung.

1. введение

В этом уроке мы обсудим систему управления бизнес-процессами (BPM) и ее реализацию в Java как jBPM System.

2. Система Управления Бизнес-Процессами

Мы можем определить Управление бизнес-процессами как одну из тех областей, сфера применения которой выходит за рамки разработки и охватывает все аспекты деятельности компании.

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

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

3. Система jBPM

jBPM – это реализация системы BPM на Java. Это позволяет нам создавать поток бизнес-процессов, выполнять его и контролировать его жизненный цикл. Ядром jBPM является движок рабочих процессов, написанный на Java, который предоставляет нам инструмент для создания и выполнения потока процессов с использованием новейших спецификаций нотации моделирования бизнес-процессов (BPMN) 2.0.

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

Вот пример графической блок-схемы порядка выполнения нашей модели процесса BPMN, чтобы помочь в нашем понимании:

  1. Мы начинаем выполнение потока, используя начальный контекст, обозначенный зеленым начальным узлом
  2. Во-первых, задача 1 будет выполнена
  3. По завершении задачи 1 мы перейдем к Задаче 2
  4. Выполнение останавливается при обнаружении красного конечного узла

4. Плагины IDE для проекта jBPM

Давайте посмотрим, как установить плагины для создания проекта jBPM и процесса BPMN 2.0 в Eclipse и IntelliJ IDEA.

4.1. Плагин Eclipse

Нам нужно будет установить плагин для создания проектов jBPM. Давайте выполним следующие действия:

  1. В разделе Справка нажмите кнопку Установить новое программное обеспечение
  2. Добавьте сайт обновления Drools и jBPM
  3. Примите условия лицензионного соглашения и завершите установку плагина
  4. Перезапустить Eclipse

Как только Eclipse перезапустится, нам нужно будет перейти в Windows -> Настройки -> Drools -> Узлы потока Drools :

После выбора всех опций мы можем нажать на кнопку “Применить и закрыть”. Теперь мы готовы создать наш первый проект jBPM .

4.2. Плагин IntelliJ IDEA

По умолчанию в IntelliJ IDEA установлен плагин jBPM, но он присутствует только в Ultimate, а не в опции Сообщества.

Нам просто нужно включить его, нажав Configure -> Settings -> Plugins -> Installed -> JBoss jBPM :

В настоящее время для этой ИДЕИ нет конструктора процессов BPMN 2.0, хотя мы можем импортировать файлы *.bpmn из любого другого конструктора и запустить их.

5. Пример Hello World

Давайте испачкаем руки в создании простого проекта Hello World.

5.1. Создайте проект jBPM

Чтобы создать новый проект jBPM в Eclipse, мы перейдем в File -> New -> Other -> jBPM Project (Maven) . После предоставления названия нашего проекта мы можем нажать кнопку готово. Eclipse выполнит всю тяжелую работу за нас и загрузит необходимые зависимости Maven, чтобы создать для нас образец проекта jBPM.

Чтобы создать то же самое в IntelliJ IDEA, мы можем перейти в File -> New -> Project -> JBoss Drools . IDE загрузит все необходимые зависимости и разместит их в папке lib проекта.

5.2. Создайте модель процесса Hello World

Давайте создадим небольшую модель процесса BPM, которая печатает “Hello World” в консоли.

Для этого нам нужно создать новый файл BPMN в разделе src/main/resources :

Расширение файла .bpmn и он открывается в конструкторе BPMN:

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

В этой модели Hello World мы будем использовать:

  • Событие Start – требуется для запуска экземпляра процесса
  • Задача скрипта – включение фрагментов Java
  • Событие End – требуется для завершения экземпляра процесса

Как упоминалось ранее, IntelliJ IDEA не имеет дизайнера BPMN, но мы можем импортировать файлы .bpmn , разработанные в Eclipse или веб-дизайнере.

5.3. Объявить и создать Базу знаний (kbase)

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

Мы создадим kmodule.xml под resources/META-INF с нашей базой и объявлением пакета файлов BPMN:


    

Как только объявление будет сделано, мы можем использовать KieContainer для загрузки kbase :

KieServices kService = KieServices.Factory.get();
KieContainer kContainer = kService.getKieClasspathContainer();
KieBase kbase = kContainer.getKieBase(kbaseId);

5.4. Создайте менеджер времени выполнения jBPM

Мы будем использовать JBPMHelper , присутствующий в пакете org.jbpm.test , для создания примера среды выполнения.

Для создания среды нам требуются две вещи: во-первых, источник данных для создания EntityManagerFactory и , во-вторых, наша kbase .

JBPMHelper имеет методы для запуска сервера H2 в памяти и установки источника данных. Используя то же самое, мы можем создать EntityManagerFactory :

JBPMHelper.startH2Server();
JBPMHelper.setupDataSource();
EntityManagerFactory emf = Persistence.createEntityManagerFactory(persistenceUnit);

Как только мы все подготовим, мы сможем создать нашу Среду выполнения :

RuntimeEnvironmentBuilder runtimeEnvironmentBuilder = 
  RuntimeEnvironmentBuilder.Factory.get().newDefaultBuilder();
RuntimeEnvironment runtimeEnvironment = runtimeEnvironmentBuilder.
  entityManagerFactory(emf).knowledgeBase(kbase).get();

Используя Среду выполнения , мы можем создать наш менеджер времени выполнения jBPM:

RuntimeManager runtimeManager = RuntimeManagerFactory.Factory.get()
  .newSingletonRuntimeManager(runtimeEnvironment);

5.5. Выполнение экземпляра процесса

Наконец, мы будем использовать Runtime Manager , чтобы получить Runtime Engine :

RuntimeEngine engine = manager.getRuntimeEngine(initialContext);

Используя Runtime Engine, мы создадим сеанс знаний и запустим процесс:

KieSession ksession = engine.getKieSession();
ksession.startProcess(processId);

Процесс запустится и напечатает Hello World на консоли IDE.

6. Заключение

В этой статье мы представили систему BPM, используя ее Java — реализацию – jBPM .

Это было краткое руководство по запуску проекта jBPM. В примере, показанном здесь, используется минимальный процесс, чтобы дать краткое представление о выполнении процесса, и его можно найти на GitHub .

Чтобы выполнить процесс, нам просто нужно запустить метод main в классе Workflow Process Main .