Статьи

Как дублировать артефакты в JBoss BPM Suite за 3 простых шага


Ранее мы показали, 
как получить доступ к вашему бизнес-проекту пользователей в JBoss BPM Suite путем клонирования по SSH-соединению.

В следующем примере 
 в качестве отправной точки используется
проект процесса JBoss BPM HR Employee Rewards , дающий нам завершенный проект процесса.

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

Рассматривая JBoss BPM Suite, мы не можем найти способ сделать это на панели инструментов, даже когда мы управляем артефактами как пользователь-администратор.

Авторский проект дубликат артефакта процесса.

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

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

1. Проект клонирования

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

$ git clone ssh://erics@localhost:8001/rewards-demo

Cloning into 'rewards-demo'...
The authenticity of host '[localhost]:8001 ([127.0.0.1]:8001)' can't be established.
DSA key fingerprint is ef:48:43:b3:ef:c4:ac:c7:d3:2a:3f:52:63:52:8c:e8.
Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '[localhost]:8001' (DSA) to the list of known hosts.
Password authentication
Password: bpmsuite1!

remote: Counting objects: 1277, done
remote: Finding sources: 100% (1277/1277)
remote: Getting sizes: 100% (1142/1142)
remote: Compressing objects: 100% (1076486/1076486)
Receiving objects: 100% (1277/1277), 135.97 KiB | 0 bytes/s, done.
remote: Total 1277 (delta 41), reused 0 (delta 0)
Resolving deltas: 100% (706/706), done.
Checking connectivity... done.

Это дает вам локальную копию проекта процесса вознаграждения и всех артефактов.

2. Скопируйте существующий артефакт

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

$ cd rewards-demo

$ cp rewards/src/main/resources/com/redhat/jboss/hr/rewards/rewards-approval.bpmn2 \
     rewards/src/main/resources/com/redhat/jboss/hr/rewards/rewards-multi-approval.bpmn2

$ git add rewards/src/main/resources/com/redhat/jboss/hr/rewards/rewards-multi-approval.bpmn2

$ git co -m "Added new process to extend with multi-instance approval."

Перспектива администрации с добавлением дубликата.

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

3. Вернитесь в проект

Мы помещаем изменения обратно в наш центральный репозиторий по SSH.

$ git push

Password authentication
Password: bpmsuite1!

Counting objects: 21, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (11/11), 787 bytes | 0 bytes/s, done.
Total 11 (delta 4), reused 0 (delta 0)
remote: Resolving deltas: 100% (4/4)
remote: Updating references: 100% (1/1)
To ssh://erics@localhost:8001/rewards-demo
   87e23d9..c772080  master -> master

Теперь мы видим, что он появляется в бизнес-центре как в перспективе администрирования, так и в перспективе создания проекта. Это можно сделать точно так же, используя JBoss BRMS.

Задвинул обратно в центральное хранилище.

Мы надеемся, что это поможет ускорить разработку, легко дублируя существующие артефакты в проектах JBoss BRMS & BPM Suite.