第3章 Red Hat ビルドの Kogito マイクロサービスの Maven プロジェクトの作成
Red Hat ビルドの Kogito マイクロサービスの開発を開始する前に、アセットおよびその他の関連リソースをビルドできる Maven プロジェクトを作成する必要があります。
手順
- コマンドターミナルで、新しプロジェクトを保存するローカルディレクトリーに移動します。
以下のコマンドを入力して、定義したディレクトリーにプロジェクトを生成します。
Red Hat ビルドの Quarkus の場合
$ mvn io.quarkus:quarkus-maven-plugin:create \ -DprojectGroupId=org.acme -DprojectArtifactId=sample-kogito \ -DprojectVersion=1.0.0-SNAPSHOT -Dextensions=kogito-quarkus
Spring Boot の場合
$ mvn archetype:generate \ -DarchetypeGroupId=org.kie.kogito \ -DarchetypeArtifactId=kogito-spring-boot-archetype \ -DgroupId=org.acme -DartifactId=sample-kogito \ -DarchetypeVersion=1.11.0.Final \ -Dversion=1.0-SNAPSHOT
このコマンドは、
sample-kogito
の Maven プロジェクトを生成し、ビジネスアプリケーション自動化用のアプリケーション準備に必要な依存関係および設定の拡張をインポートします。プロジェクトの PMML 実行を有効にする場合は、Red Hat ビルドの Kogito マイクロサービスが含まれる Maven プロジェクトの
pom.xml
ファイルに以下の依存関係を追加します。PMML 実行を有効にするための依存関係
<dependency> <groupId>org.kie.kogito</groupId> <artifactId>kogito-pmml</artifactId> </dependency> <dependency> <groupId>org.jpmml</groupId> <artifactId>pmml-model</artifactId> </dependency>
Red Hat ビルドの Quarkus でアプリケーションを OpenShift で実行する予定の場合には、以下の例のように liveness および readiness Probe の
smallrye-health
拡張もインポートする必要があります。OpenShift 上の Red Hat ビルドの Quarkus アプリケーションの SmallRye Health 拡張
$ mvn quarkus:add-extension -Dextensions="smallrye-health"
このコマンドにより、Quarkus 上の Red Hat ビルドの Red Hat Process Automation Manager プロジェクトの
pom.xml
ファイルに、以下の依存関係を生成します。OpenShift 上の Red Hat ビルドの Quarkus アプリケーションの SmallRye Health 依存関係
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-smallrye-health</artifactId> </dependency>
- VS Code IDE でプロジェクトを開くか、インポートしてコンテンツを表示します。
3.1. Red Hat ビルドの Kogito マイクロサービス用のカスタム Spring Boot プロジェクトの作成
Red Hat ビルドの Kogito マイクロサービスの Spring Boot アーキタイプを使用して、カスタム Maven プロジェクトを作成できます。Spring Boot archetype を使用すると、Spring Boot スターターまたはアドオンをプロジェクトに追加できます。
Spring Boot スターターは、プロジェクト向けのオールインワン記述子で、Red Hat ビルドの Kogito が提供するビジネス自動化エンジンが必要です。Spring Boot スターターには、決定、ルール、および予測が含まれます。
プロジェクトにすべてのアセットが含まれ、Red Hat ビルドの Kogito を初めて使用する場合には、kogito -spring-boot-starter
スターターを使用できます。より詳細なアプローチには、kogito-decisions-spring-boot-starter
などの特定のスターターを使用するか、スターターの組み合わせを使用します。
Red Hat ビルドの Kogito は、以下の Spring Boot スターターをサポートします。
- Spring Boot スターターの決定
Spring Boot プロジェクトに DMN サポートを提供するスターターです。以下は、デシジョン Spring ブートスターターをプロジェクトに追加する例です。
<dependencies> <dependency> <groupId>org.kie.kogito</groupId> <artifactId>kogito-decisions-spring-boot-starter</artifactId> </dependency> </dependencies>
- Spring Boot スターターの予測
Spring Boot プロジェクトに PMML サポートを提供するスターターです。以下は、予測 Spring ブートスターターをプロジェクトに追加する例です。
<dependencies> <dependency> <groupId>org.kie.kogito</groupId> <artifactId>kogito-predictions-spring-boot-starter</artifactId> </dependency> </dependencies>
- ルール Spring Boot スターター
Spring Boot プロジェクトに DRL サポートを提供するスターターです。以下は、ルール Spring ブートスターターをプロジェクトに追加する例です。
<dependencies> <dependency> <groupId>org.kie.kogito</groupId> <artifactId>kogito-rules-spring-boot-starter</artifactId> </dependency> </dependencies>
手順
- コマンドターミナルで、新しプロジェクトを保存するローカルディレクトリーに移動します。
以下のいずれかのコマンドを実行して、
starters
またはaddons
プロパティーを使用してプロジェクトを生成します。starters
プロパティーを使用してプロジェクトを生成するには、以下のコマンドを入力します。$ mvn archetype:generate \ -DarchetypeGroupId=org.kie.kogito \ -DarchetypeArtifactId=kogito-springboot-archetype \ -DgroupId=org.acme -DartifactId=sample-kogito \ -DarchetypeVersion=1.11.0.Final \ -Dversion=1.0-SNAPSHOT -Dstarters=decisions
新しいプロジェクトには、決定マイクロサービスを実行するために必要な依存関係が含まれています。
starters=decisions,rules
などのコンマ区切りリストを使用して、複数の Spring Boot スターター を組み合わせることができます。addons
プロパティーを使用して Prometheus モニターリングが含まれるプロジェクトを生成するには、以下のコマンドを入力します。$ mvn archetype:generate \ -DarchetypeGroupId=org.kie.kogito \ -DarchetypeArtifactId=kogito-springboot-archetype \ -DgroupId=org.acme -DartifactId=sample-kogito \ -DarchetypeVersion=1.11.0.Final \ -Dversion=1.0-SNAPSHOT -Dstarters=descisions -Daddons=monitoring-prometheus,persistence-infinispan
注記アドオンをプロパティーに渡すと、アドオン名には
kogito-addons-springboot
接頭辞は必要ありません。また、add-ons
とstarters
プロパティーを組み合わせてプロジェクトをカスタマイズすることもできます。
- IDE でプロジェクトを開くか、インポートしてコンテンツを表示します。