Лучшие 3 способа разработки проектов на основе JBoss BPM Suite
Март 19, 2018
В этой серии советов и приемов мы представляем некоторые технические аспекты работы с продуктами JBoss BRMS и JBoss BPM Suite, демонстрируя три основных способа, с помощью которых вы, как разработчик, можете создавать свои проекты на основе проектов, создаваемых бизнес-пользователями. JBoss BPM Suite (или JBoss BRMS).
Разработчик в каждом из нас не всегда заинтересован в том, чтобы оставаться в рамках прекрасной
веб-панели Business Central, как это предусмотрено, но работает с нашей любимой IDE для создания приложений, которые используют работу нашего бизнес-пользователя.
Мы ожидаем клонировать проект, созданный бизнес-пользователем, и создать его с нуля, или мы хотим встроить эту зависимость проекта и запустить наш проект на основе артефактов продукта, доступных нам в центральных репозиториях JBoss maven.
Мы также можем не доверять нашим бизнес-пользователям и хотеть создавать, запускать и анализировать некоторые модульные тесты, чтобы подтвердить, что этот материал, от которого мы зависим, работает должным образом.
Все эти действия основаны на том, что мы понимаем, какие артефакты продукта нам нужны, как проекты бизнес-пользователей строятся на панели инструментов их продуктов и как их создавать вне продукта, когда мы клонируем эти проекты.
Когда бизнес-пользователи входят в систему и создают проект с правилами, событиями и / или процессами, это приводит к созданию JAR для знаний (KJAR) после его создания. Этот KJAR является просто файлом JAR артефакта Maven, который по умолчанию помещается в локальный репозиторий, но его можно настроить так, чтобы он указывал на любой допустимый репозиторий Maven.
Как разработчик, вы хотите использовать это как зависимость в своем проекте, так как это работает?
Нам нужно указать файл pom.xml нашего проекта разработки на соответствующий проект бизнес-пользователя, который будет построен из пакета JBoss BPM Suite с использованием демонстрационного проекта Customer Evaluation. Если вы посмотрите на этот проект, вы найдете pom.xml, который делает именно это: bpms-customer -valuation-demo / projects / customer -valuation-demo / pom.xml .
Найдите фрагмент кода в pom.xml ниже, чтобы увидеть, как проект добавляется в зависимости от ваших проектов разработки.
# Add this to your development projects pom.xml file as shown to depend on the
# customer evaluation project build version 1.0.
#
<!-- KJar file from project. -->
<dependency>
<groupId>customer</groupId>
<artifactId>evaluation</artifactId>
<version>1.0</version>
<scope>compile</scope>
</dependency>
Далее мы рассмотрим, как вы можете добавить центральный репозиторий JBoss maven и использовать новейшие зависимости продукта JBoss BPM Suite.
2. Зависимости JBoss BPM Suite Maven
Репозиторий JBoss maven используется, как показано ниже, и будет указывать на последнюю версию продукта, которую мы хотим использовать, на момент написания этой статьи это был JBoss BPM Suite 6.0.2:
# Add this to your pom.xml as shown, or modify (exercise left to the reader)
# to add into your .m2/settings.xml file.
#
<repositories>
<repository>
<id>jboss-maven-repository</id>
<name>JBoss Maven Repository</name>
<url>http://maven.repository.redhat.com/techpreview/all/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
</repository>
</repositories>
Далее мы хотим настроить модульный тест, который будет выполнять наши правила, события и процесс проекта.
Вы можете найти это в настройке демонстрационного проекта Customer Evaluation с maven-зависимостями, используя центральное свойство pom.xml, чтобы указать на версию артефакта, которую мы используем в настоящее время. Далее нам нужна зависимость продукта для модульного тестирования нашего кода.
# Add this to your pom.xml as shown, or modify (exercise left to the reader)
# to add into your .m2/settings.xml file.
#
<repositories>
<repository>
<id>jboss-maven-repository</id>
<name>JBoss Maven Repository</name>
<url>http://maven.repository.redhat.com/techpreview/all/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
</repository>
</repositories>
Бизнес центральный файл проекта.
Далее и последний раздел, как создавать проекты бизнес-пользователей, поскольку они клонируются непосредственно из внутреннего репозитория git продукта JBoss BPM Suite.
# Cloning the business users customer evaluation demo project from the
# command line.
#
$ git clone ssh://erics@localhost:8001/customer
Cloning into 'customer'...
The authenticity of host '[localhost]:8001 ([127.0.0.1]:8001)' can't be established.
DSA key fingerprint is ef:51:d6:ec:7f:ce:8b:e1:b6:a1:96:5e:6a:cf:d3:f8.
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:
remote: Counting objects: 602, done
remote: Finding sources: 100% (602/602)
remote: Getting sizes: 100% (466/466)
remote: Compressing objects: 100% (118792/118792)
remote: Total 602 (delta 24), reused 72 (delta 21)
Receiving objects: 100% (602/602), 60.23 KiB, done.
Resolving deltas: 100% (344/344), done.
$ cd customer/evaluation/
$ ls -l
total 16
drwxr-xr-x 32 erics 501 1088 Aug 13 17:36 global
-rw-r--r-- 1 erics 501 990 Aug 13 17:36 pom.xml
-rw-r--r-- 1 erics 501 97 Aug 13 17:36 project.imports
drwxr-xr-x 4 erics 501 136 Aug 13 17:36 src
# When we try to build it breaks on the strange kie-maven-plugin
# found in the pom.xml.
#
$ mvn install
[INFO] Scanning for projects...
Downloading: http://repo.maven.apache.org/maven2/org/kie/kie-maven-plugin/6.0.3-redhat-4/kie-maven-plugin-6.0.3-redhat-4.pom
[WARNING] The POM for org.kie:kie-maven-plugin:jar:6.0.3-redhat-4 is missing, no dependency information available
Downloading: http://repo.maven.apache.org/maven2/org/kie/kie-maven-plugin/6.0.3-redhat-4/kie-maven-plugin-6.0.3-redhat-4.jar
Downloading: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
Downloaded: http://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar (165 KB at 148.8 KB/sec)
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project customer:evaluation:1.0 (/Users/erics/demo-projects/bpms6/bpms-customer-evaluation-demo/support/customer/evaluation/pom.xml) has 2 errors
[ERROR] Unresolveable build extension: Plugin org.kie:kie-maven-plugin:6.0.3-redhat-4 or one of its dependencies could not be resolved: Could not find artifact org.kie:kie-maven-plugin:jar:6.0.3-redhat-4 in central (http://repo.maven.apache.org/maven2) -> [Help 2]
[ERROR] Unknown packaging: kjar @ line 8, column 14
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException
После клонирования вы заметите, что проект не будет собираться локально из-за отсутствующих зависимостей, в которых нуждается kie-maven-plugin. Если вы добавите их локально в файл pom.xml, он будет создан локально, но они будут управляться внутри продукта, когда бизнес-пользователь строит изнутри business central.
Рекомендуется не помещать эти изменения обратно в хранилище, а использовать их только извне. Как только вы сделаете это и добавите JBoss maven репозиторий, он будет построен за пределами централизованного инструментария бизнес-интерфейса.
01
# Add repositories and plugins for maven central to the pom.xml.
Надеюсь, это поможет вам начать работу, когда вы попытаетесь интегрировать свой проект разработки с различными возможностями, предлагаемыми продуктом JBoss BPM Suite (и JBoss BRMS).