第26章 トランザクションのコミット時に情報を ElasticSearch に送信するように KIE Server を設定する手順


KIE Server が情報を ElasticSearch に自動的に送信するように設定することができます。この場合、KIE Server は、タスク、プロセス、ケース、または変数が作成、更新、または削除されるたびに ElasticSearch インデックスエントリーを作成します。インデックスエントリーには、変更されたオブジェクトに関する情報が含まれます。KIE Server は、変更でトランザクションをコミットする際にインデックスエントリーを書き込みます。

この機能は、ビジネスプロセスまたはケースと合わせて使用できます。プロセス設計で何も変更する必要はありません。

この設定は、Spring Boot を使用してプロセスサービスを実行する場合にも利用できます。

KIE Server は、JSON ドキュメントとしてプロセス、ケース、タスク情報をシリアライズします。以下の ElasticSearch インデックスを使用します。

  • プロセス情報の プロセス
  • ケース情報の ケース
  • タスク情報の タスク

前提条件

手順

  1. ElasticSearch への情報送信を有効にするには、以下のいずれかの手順を実行します。

    1. Red Hat JBoss EAP または別のアプリケーションサーバーに KIE Server をデプロイした場合は、以下の手順を実行します。

      1. Red Hat カスタマーポータルの Software Downloads ページから製品配信可能ファイル rhpam-7.12.0-maven-repository.zip をダウンロードします。
      2. ファイルの内容を展開します。
      3. maven-repository/org/jbpm/jbpm-event-emitters-elasticsearch/7.59.0.Final-redhat-00006/jbpm-event-emitters-elasticsearch-7.59.0.Final-redhat-00006.jar ファイルをアプリケーションサーバーの deployments/kie-server.war/WEB-INF/lib サブディレクトリーにコピーします。
    2. Spring Boot を使用してアプリケーションをデプロイした場合は、サービスの pom.xml ファイルの <dependencies> リストに以下の行を追加します。

      <dependency>
        <groupId>org.jbpm</groupId>
        <artifactId>jbpm-event-emitters-elasticsearch</artifactId>
        <version>${version.org.kie}</version>
      </dependency>
  2. 必要に応じて、以下の KIE Server システムプロパティーのいずれかを設定します。

    • org.jbpm.event.emitters.elasticsearch.url: ElasticSearch サーバーの URL。デフォルト値は http://localhost:9200 です。
    • org.jbpm.event.emitters.elasticsearch.date_format: 情報のタイムスタンプ形式。デフォルト値は yyyy-MM-dd'T'HH:mm:ss.SSSZ です。
    • org.jbpm.event.emitters.elasticsearch.user: ElasticSearch サーバーに対して認証を行うためのユーザー名。
    • org.jbpm.event.emitters.elasticsearch.password: ElasticSearch サーバーに対してユーザーを認証するパスワード。
    • org.jbpm.event.emitters.elasticsearch.ignoreNull: このプロパティーが true の場合、ElasticSearch の JSON 出力に null 値は書き込まれません。

26.1. ElasticSearch 用のデータのカスタマイズ

Red Hat Process Automation Manager が ElasticSearch に送信するデータをカスタマイズするために、トランスフォーマークラスを開発することができます。

プロセス、ケース、タスク、およびタスクの操作に関する情報は、ビュー として利用できます。Red Hat Process Automation Manager には、以下のビュータイプがあります。

  • CaseInstanceView
  • ProcessInstanceView
  • TaskInstanceView
  • TaskOperationView

これらのビューの定義は、GitHub リポジトリー で確認することができます。

各ビューには、識別子を返す getCompositeId() メソッドがあります。この識別子は、ケース、プロセス、タスク、またはタスク操作の特定のインスタンスを示しています。

プロセス、ケース、タスク、またはタスク操作が作成、更新、または削除されるたびに、プロセスエンジンは トランスフォーマー を呼び出し、関連するビューを提供します。

トランスフォーマーは、ESRequest オブジェクトを生成しなければなりません。このオブジェクトのコンストラクターのパラメーターで、トランスフォーマーはインデックスを含む ElasticSearch リクエストに必要な情報を提供する必要があります。

トランスフォーマークラスと ESRequest クラスの定義は、GitHub リポジトリー で公開されています。

カスタムトランスフォーマーを作成して使用するには、以下の手順を実行します。

手順

  1. 以下のクラスの Java ソースコードを作成します。

    • ESInstanceViewTransformer: トランスフォーマークラス。index() メソッドと update() メソッドを提供します。どちらのメソッドも、パラメーターとしてビューを受け取り、ESRequest オブジェクトを返します。

      プロセス、ケース、タスク、またはタスク操作のインスタンスが最初に作成されるとき、プロセスエンジンは index() メソッドを呼び出します。同じインスタンスに関するその後の変更については、プロセスエンジンは update() メソッドを呼び出します。

      ビューのタイプに応じて、異なる ESInstanceViewTransformer 実装を作成することができます。

    • ESInstanceViewTransformerFactory: トランスフォーマーファクトリークラス。ビューのタイプごとに、ESInstanceViewTransformer クラスのインスタンスを返します。
  2. Business Central でプロジェクトを入力し、Settings Dependencies タブをクリックします。
  3. オプション: トランスフォーマークラスが必要とする依存関係を追加します。
  4. アセット タブをクリックします。
  5. 各クラスソースファイルについて、以下の手順を実行します。

    1. Import Asset をクリックします。
    2. Please select a file to upload フィールドで、カスタムシリアライザークラスの Java ソースファイルの場所を選択します。
    3. OK をクリックしてファイルをアップロードします。
  6. サービスを実行する KIE Server インスタンスの場合、org.jbpm.event.emitters.elasticsearch.factory システムプロパティーを、ESInstanceViewTransformerFactory の実装の完全修飾クラス名に設定します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.