第7章 Oracle WebLogic Server での埋め込みデシジョンエンジンの設定
デシジョンエンジンとは、デシジョンとビジネスプロセスを実行できるようにする軽量のルールエンジンです。デシジョンエンジンは、Red Hat Decision Manager アプリケーションに含めるか、OpenShift、Kubernetes、および Docker 経由でサービスとしてデプロイできます。また、API を使用して Red Hat Decision Manager アプリケーションに埋め込むか、または contexts and dependency injection (CDI) サービスセットの一部として、デシジョンエンジンを埋め込むことができます。
Red Hat Decision Manager アプリケーションで、埋め込まれたエンジンを使用する予定の場合には、Red Hat Business Automation 部品表 (BOM) ファイルをプロジェクトの pom.xml
ファイルに追加して、プロジェクトに、Maven の依存関係を追加する必要があります。Red Hat Business Automation BOM は、Red Hat Decision Manager に適用されます。Red Hat Business Automation BOM (Bill of Materials) の詳細情報は、What is the mapping between Red Hat Decision 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.3.0.GA-redhat-00002</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- Your dependencies --> </dependencies>
<dependencies>
タグでお使いのプロジェクトに必要な依存関係を宣言します。製品の BOM をプロジェクトにインポートしたら、ユーザー向け製品依存関係のバージョンが定義されるため、<dependency>
要素のサブ要素<version>
を指定する必要はありません。ただし、<dependency>
要素を使用して、プロジェクトで使用する依存関係を宣言する必要があります。標準的な Red Hat Decision Manager プロジェクトでは、使用する機能に応じて、以下の依存関係を宣言します。
埋め込みデシジョンエンジン依存関係
<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>
Decision Server を使用するには、以下の依存関係を宣言します。
クライアントアプリケーション Decision Server 依存関係
<dependency> <groupId>org.kie.server</groupId> <artifactId>kie-server-client</artifactId> </dependency>
Red Hat Decision 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 Decision 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 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>