第7章 Oracle WebLogic Server での埋め込みプロセスエンジンまたはデシジョンエンジンの設定
埋め込みエンジンとは、デシジョンとビジネスプロセスを実行できるようにする軽量のワークフローおよびルールエンジンです。埋め込みエンジンは、Red Hat Process Automation Manager アプリケーションに含めるか、OpenShift、Kubernetes および Docker 経由でサービスとしてデプロイできます。また、API を使用して Red Hat Process Automation Manager アプリケーションにエンジンを埋め込むか、または contexts and dependency injection (CDI) サービスセットとして、埋め込むことができます。
Red Hat Process Automation Manager アプリケーションで埋め込みされたエンジンを使用する予定の場合には、Red Hat Business Automation 部品表 (BOM) ファイルをプロジェクトの pom.xml
ファイルに追加して、プロジェクトに、Maven の依存関係を追加する必要があります。Red Hat Business Automation BOM は、Red Hat Decision Manager および Red Hat Process Automation Manager に適用されます。Red Hat Business Automation BOM に関する詳細は、「What is the mapping between Red Hat Process Automation Manager and the Maven library version?」を参照してください。
手順
Red Hat Business Automation BOM を
pom.xml
ファイルで宣言します。<dependencyManagement> <dependencies> <dependency> <groupId>com.redhat.ba</groupId> <artifactId>ba-platform-bom</artifactId> <version>7.6.0.redhat-00002</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- Your dependencies --> </dependencies>
<dependencies>
タグでお使いのプロジェクトに必要な依存関係を宣言します。製品の BOM をプロジェクトにインポートしたら、ユーザー向け製品依存関係のバージョンが定義されるため、<dependency>
要素のサブ要素<version>
を指定する必要はありません。ただし、<dependency>
要素を使用して、プロジェクトで使用する依存関係を宣言する必要があります。標準的な Red Hat Process Automation Manager プロジェクトでは、使用する機能に応じて、以下の依存関係を宣言します。
埋め込みプロセスエンジン依存関係
<!-- Public KIE API --> <dependency> <groupId>org.kie</groupId> <artifactId>kie-api</artifactId> </dependency> <!-- Core dependencies for process engine --> <dependency> <groupId>org.jbpm</groupId> <artifactId>jbpm-flow</artifactId> </dependency> <dependency> <groupId>org.jbpm</groupId> <artifactId>jbpm-flow-builder</artifactId> </dependency> <dependency> <groupId>org.jbpm</groupId> <artifactId>jbpm-bpmn2</artifactId> </dependency> <dependency> <groupId>org.jbpm</groupId> <artifactId>jbpm-runtime-manager</artifactId> </dependency> <dependency> <groupId>org.jbpm</groupId> <artifactId>jbpm-persistence-jpa</artifactId> </dependency> <dependency> <groupId>org.jbpm</groupId> <artifactId>jbpm-query-jpa</artifactId> </dependency> <dependency> <groupId>org.jbpm</groupId> <artifactId>jbpm-audit</artifactId> </dependency> <dependency> <groupId>org.jbpm</groupId> <artifactId>jbpm-kie-services</artifactId> </dependency> <!-- Dependency needed for default WorkItemHandler implementations. --> <dependency> <groupId>org.jbpm</groupId> <artifactId>jbpm-workitems-core</artifactId> </dependency> <!-- Logging dependency. You can use any logging framework compatible with slf4j. --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> </dependency>
CDI を使用する Red Hat Process Automation Manager プロジェクトでは、通常、以下の依存関係を宣言します。
CDI が有効化されたプロセスエンジンの依存関係
<dependency> <groupId>org.kie</groupId> <artifactId>kie-api</artifactId> </dependency> <dependency> <groupId>org.jbpm</groupId> <artifactId>jbpm-kie-services</artifactId> </dependency> <dependency> <groupId>org.jbpm</groupId> <artifactId>jbpm-services-cdi</artifactId> </dependency>
埋め込みデシジョンエンジン依存関係
<dependency> <groupId>org.drools</groupId> <artifactId>drools-compiler</artifactId> </dependency> <!-- Dependency for persistence support. --> <dependency> <groupId>org.drools</groupId> <artifactId>drools-persistence-jpa</artifactId> </dependency> <!-- Dependencies for decision tables, templates, and scorecards. For other assets, declare org.drools:business-central-models-* dependencies. --> <dependency> <groupId>org.drools</groupId> <artifactId>drools-decisiontables</artifactId> </dependency> <dependency> <groupId>org.drools</groupId> <artifactId>drools-templates</artifactId> </dependency> <dependency> <groupId>org.drools</groupId> <artifactId>drools-scorecards</artifactId> </dependency> <!-- Dependency for loading KJARs from a Maven repository using KieScanner. --> <dependency> <groupId>org.kie</groupId> <artifactId>kie-ci</artifactId> </dependency>
Process Server を使用するには、以下の依存関係を宣言します。
クライアントアプリケーションの Process Server 依存関係
<dependency> <groupId>org.kie.server</groupId> <artifactId>kie-server-client</artifactId> </dependency>
Red Hat Process Automation Manager にリモートクライアントを作成するには、以下の依存関係を宣言します。
クライアントの依存関係
<dependency> <groupId>org.uberfire</groupId> <artifactId>uberfire-rest-client</artifactId> </dependency>
ルール、プロセス定義など、アセットを含む JAR ファイルを作成する場合は、お使いの Maven プロジェクトのパッケージングの種類を
kjar
とし、org.kie:kie-maven-plugin
を使用して、<project>
要素に置かれたkjar
パッケージングタイプを処理します。以下の例の${kie.version}
は、「What is the mapping between Red Hat Process Automation Manager and the Maven library version?」に記載されている Maven ライブラリーのバージョンです。<packaging>kjar</packaging> <build> <plugins> <plugin> <groupId>org.kie</groupId> <artifactId>kie-maven-plugin</artifactId> <version>${kie.version}</version> <extensions>true</extensions> </plugin> </plugins> </build>
プロジェクトで永続サポートのあるプロセスエンジンまたはデシジョンエンジンを使用する場合には、Red Hat Business Automation BOM ファイルから
version.org.hibernate-4ee7
プロパティーをコピーして、pom.xml
ファイルのdependencyManagement
セクションに以下の Hibernate の依存関係を宣言する必要があります。Hibernate の依存関係
<!-- hibernate dependencies --> <dependencyManagement> <dependencies> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>${version.org.hibernate-4ee7}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${version.org.hibernate-4ee7}</version> </dependency> </dependencies> </dependencyManagement>