17.4. DMN モデル KJAR の Red Hat build of Kogito マイクロサービスへの移行


外部アプリケーションの移行後に、DMN モデルに固有の KJAR を Red Hat build of Kogito マイクロサービスに移行する必要があります。

手順

  1. Red Hat build of Kogito マイクロサービス用の Maven プロジェクトを作成します。

    Maven プロジェクトの作成手順は、Creating a Maven project for a Red Hat build of Kogito microservice を参照してください。

    Maven プロジェクトは Kogito アーティファクトを作成します。

  2. KJAR の src/main/resources フォルダーから Kogito アーティファクトの src/main/resources フォルダーに DMN モデルをコピーします。
  3. テストシナリオを KJAR の src/test/resources フォルダーから Kogito アーティファクトの src/test/resources フォルダーにコピーします。

    重要

    プロジェクトの pom.xml ファイルに、テストシナリオの Red Hat build of Kogito 依存関係をインポートし、KIE Server REST API を使用して JUnit アクティケーターを作成する必要があります。詳細は、Testing a decision service using test scenarios を参照してください。

  4. 以下のコマンドを実行して、指定した回帰テストに対してテストシナリオが実行されていることを確認します。

    mvn clean install
    Copy to Clipboard Toggle word wrap

    Red Hat build of Kogito アプリケーションの実行後に、Swagger または OAS 仕様ファイルを取得できます。Swagger または OAS 仕様は、以下の実装の詳細とともに REST エンドポイントと同じ情報を提供します。

    • API が利用できるサーバーのベース URL
    • スキーマ名の参照

    外部アプリケーションを新しい URL に再ルーティングする場合には、指定の実装の詳細を使用できます。

DMN モデル KJAR を Red Hat build of Kogito マイクロサービスに移行したら、Red Hat OpenShift Container Platform を使用してマイクロサービスをデプロイする必要があります。Openshift のデプロイメントオプションは、OpenShift deployment options with the RHPAM Kogito Operator を参照してください。

17.4.1. DMN モデル KJAR を Red Hat build of Kogito マイクロサービスに移行する例

以下は、DMN モデル KJAR を Red Hat build of Kogito マイクロサービスに移行する例です。

図17.1 DMN モデルを使用して実装したデシジョンサービスの例

図17.2 特定の ItemDefinition 構造を使用した DMN モデルの例

Business Central で開発した既存の KJAR で、オブジェクトモデル (POJO) を DTO として定義する必要があります。

KJAR で DTO として定義されたオブジェクトモデルの例

package com.myspace.demo20210321;

/**
 * This class was automatically generated by the data modeler tool.
 */

public class Reservation implements java.io.Serializable {

	static final long serialVersionUID = 1L;
	@com.fasterxml.jackson.annotation.JsonFormat(shape = com.fasterxml.jackson.annotation.JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer.class)
	private java.time.LocalDate checkin;
	@com.fasterxml.jackson.annotation.JsonFormat(shape = com.fasterxml.jackson.annotation.JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    @com.fasterxml.jackson.databind.annotation.JsonSerialize(using = com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer.class)
	private java.time.LocalDate checkout;

	private java.util.List<java.lang.String> guests;

	public Reservation() {
	}

	public java.time.LocalDate getCheckin() {
		return this.checkin;
	}

	public void setCheckin(java.time.LocalDate checkin) {
		this.checkin = checkin;
	}

	public java.time.LocalDate getCheckout() {
		return this.checkout;
	}

	public void setCheckout(java.time.LocalDate checkout) {
		this.checkout = checkout;
	}

	public java.util.List<java.lang.String> getGuests() {
		return this.guests;
	}

	public void setGuests(java.util.List<java.lang.String> guests) {
		this.guests = guests;
	}

	public Reservation(java.time.LocalDate checkin,
			java.time.LocalDate checkout,
			java.util.List<java.lang.String> guests) {
		this.checkin = checkin;
		this.checkout = checkout;
		this.guests = guests;
	}

}
Copy to Clipboard Toggle word wrap

上記の例では、定義した DTO は KIE Server クライアント Java API と共に使用されます。または、Java 以外の外部アプリケーションが KIE Server にデプロイされた KJAR と対話している場合は、ペイロードで DTO を指定できます。

KIE Server クライアント Java API の使用例

DMNServicesClient dmnClient = kieServicesClient.getServicesClient(DMNServicesClient.class);
 DMNContext dmnContext = dmnClient.newContext();
 dmnContext.set("reservation", new com.myspace.demo20210321.Reservation(LocalDate.of(2021, 3, 1),
                                                                         LocalDate.of(2021, 3, 8),
                                                                         Arrays.asList("John", "Alice")));
 run(dmnClient, dmnContext);
Copy to Clipboard Toggle word wrap

図17.3 ペイロードで DTO を手動で指定する例

注記

上記の例では、REST API のオブジェクトモデルの FQCN は汎用 KIE Server マーシャリングに使用されます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat