IBM WebSphere Application Server への KIE Server のインストールおよび設定

Red Hat Decision Manager 7.8

ガイド

概要

本書では、KIE Server 用に IBM WebSphere Application Server を設定する方法と、IBM サーバーインスタンスに KIE Server をインストールする方法を説明します。

はじめに

システム管理者は、Red Hat KIE Server に IBM WebSphere Application Server を設定し、IBM サーバーインスタンスに KIE Server をインストールできます。

前提条件

  • IBM WebSphere Application Server インスタンスのバージョン 9.0 以降がインストールされている。詳細なインストール手順は IBM WebSphere Application Server 製品ページ を参照してください、
  • WebSphere 統合ソリューションコンソール (通常は http://<HOST>:9060/ibm/console) へのアクセスがある。

第1章 KIE Server

KIE Server は、Red Hat Decision Manager のルールおよびその他のアーティファクトが保存され、実行されるサーバーです。KIE Server はスタンドアロンで組み込みのコンポーネントで、REST、Java Message Service (JMS)、または Java クライアントサイドアプリケーションで利用可能なインターフェイス、およびソルバーを介した Red Hat Business Optimizer 機能を使用して、ルールのインスタンスを作成して実行することができます。

Web でデプロイ可能な WAR ファイルとして作成することで、KIE Server は Web コンテナーであればどこにでもデプロイできます。KIE Server の現在のバージョンには、Red Hat Decision Manager および Red Hat Process Automation Manager の両方に対するデフォルトの拡張機能が含まれます。

KIE Server はメモリー消費が最小限でフットプリントが小さいため、クラウドインスタンスに簡単にデプロイできます。このサーバーの各インスタンスでは、複数のコンテナーを開いてインスタンスを作成できるため、並行して複数のルールサービスを実行できます。

KIE Server は、Oracle WebLogic Server、IBM WebSphere Application Server などのアプリケーションサーバーと統合して、Red Hat Decision Manager のアプリケーション管理を合理化できます。

第2章 IBM WebSphere Application Server

IBM WebSphere Application Server は、Java ベースの Web アプリケーションをホストし、Java EE 認定ランタイム環境を提供する、柔軟性がある安全な Web アプリケーションです。IBM WebSphere 9.0 は Java SE 8 に対応しており、Java EE 7 に完全に準拠しています。

第3章 IBM WebSphere Application Server のインストールおよび実行

KIE Server に対応する多くの設定を適用するために、IBM WebSphere Application Server をインストールして実行する必要があります。本セクションは、IBM WebSphere をインストールして起動する方法を説明します。

インストールに関する最新の詳細説明は、IBM Knowledge Center を参照してください。

手順

  1. IBM Installation Manager バージョン 1.8.5 以降を IBM Installation Manager and Packaging Utility download links ページからダウンロードします。IBM WebSphere のインストールには IBM Installation Manager が必要です。
  2. ダウンロードしたアーカイブを展開し、作成されたディレクトリーで、root 権限で以下のコマンドを実行します。

    sudo ./install

    IBM Installation Manager が開きます。

  3. FilePreferences の順に移動して、Add Repository をクリックします。
  4. Add Repository ウィンドウに、IBM WebSphere 9.0 のリポジトリー URL を入力します。すべてのリポジトリー URL は、IBM Knowledge Center の Online product repositories for IBM WebSphere Application Server offerings ページで確認できます。
  5. 端末で、インストール時に指定した IBM WebSphere Application Server ディレクトリーの場所に移動します。
  6. /bin ディレクトリーに変更し、以下の例のようなコマンドを実行して、IBM WebSphere のプロファイル、ユーザー名、およびパスワードを作成します。プロファイルは、ランタイム環境を定義します。プロファイルには、ランタイム環境でサーバーが処理し、変更できるファイルがすべて含まれます。このユーザーはログインに必要になります。

    sudo ./manageprofiles.sh -create -profileName testprofile -profilePath /profiles/testprofile  -adminUserName websphere -adminPassword password123
  7. 端末で、作成したプロファイルの bin ディレクトリー (例: /profiles/testprofile/bin) に移動し、以下のコマンドを実行して IBM WebSphere Application Server インスタンスを起動します。

    sudo ./startServer.sh <SERVER_NAME>

    <SERVER_NAME> は、WebSphere 統合ソリューションコンソールの ServersServer TypesIBM WebSphere Application Servers で定義した IBM WebSphere Application Server の名前です。

  8. Web ブラウザーで、以下の URL を開きます。

    http://<HOST>:9060/ibm/console

    <HOST> は、ターゲットサーバーの名前または IP アドレスです。

    たとえば、システムで起動している IBM WebSphere のローカルインスタンスに対して WebSphere 統合ソリューションコンソールを起動する場合は、以下の URL を Web ブラウザーに入力します。

    http://localhost:9060/ibm/console
  9. WebSphere 統合ソリューションコンソールのログインページが表示されたら、管理者の認証情報を入力します。

第4章 KIE Server への IBM WebSphere Application Server の設定

IBM WebSphere Application Server に KIE Server をデプロイする前に、システムプロパティー、セキュリティー設定、JMS 要件、その他の IBM WebSphere プロパティーを設定する必要があります。この設定により、KIE Server との最適な統合が促進されます。

前提条件

  • IBM WebSphere Application Server をインストールして実行している。
  • WebSphere 統合ソリューションコンソールにログインしている。

4.1. 管理セキュリティーの有効化

WebSphere 統合ソリューションコンソールで管理セキュリティーを有効にして、ユーザーおよびグループを作成するのに必要な権限を取得します。

手順

  1. WebSphere 統合ソリューションコンソールで、SecurityGlobal Security の順にクリックし、Enable Application Security オプションが選択されていることを確認します。選択していても、サーバーレベルで上書きされている可能性があります。
  2. Security Configuration Wizard をクリックし、Next をクリックします。
  3. ユーザー情報を含むリポジトリーを選択します。たとえば、ローカル設定で Federated repositories を選択します。
  4. Next をクリックします。
  5. Primary administrative user name および Password を入力します。
  6. Next をクリックし、Finish をクリックします。
  7. Messages ウィンドウで Save をクリックして、マスター設定への変更を保存します。

    図4.1 セキュリティー変更の保存

    セキュリティー変更の保存
  8. 端末で、インストール時に指定した IBM WebSphere Application Server の /bin ディレクトリーの場所に移動し、以下のコマンドを実行して IBM WebSphere を停止して再起動し、セキュリティーの変更を適用します。

    sudo ./stopServer.sh <SERVER_NAME>
    sudo ./startServer.sh <SERVER_NAME>

    <SERVER_NAME> は、WebSphere 統合ソリューションコンソールの ServersServer TypesIBM WebSphere Application Servers で定義した IBM WebSphere Application Server の名前です。

4.2. IBM WebSphere Application Server への JDBC データソースの設定

データソースは、アプリケーションサーバーなど、Java Database Connectivity (JDBC) クライアントを有効にするオブジェクトで、データベースへの接続を確立します。アプリケーションは、JNDI (Java Naming and Directory Interface) ツリーまたはローカルのアプリケーションコンテキストでデータソースを検索し、データベース接続を要求してデータを取得します。IBM WebSphere Application Server にデータソースを設定して、サーバーと、指定したデータベースとの間で適切なデータ交換を行う必要があります。

前提条件

  • データベース接続を作成するのに使用する JDBC プロバイダーが、データソースをデプロイするすべてのサーバーに設定されている。JDBC プロバイダーの詳細は、IBM Knowledge Center の Configuring a JDBC provider を参照してください。

手順

  1. Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。

    • Product: Decision Manager
    • バージョン: 7.8
  2. Red Hat Decision Manager 7.8.0 Add-Ons をダウンロードします。
  3. 以下の手順を実行して、データベースを準備します。

    1. TEMP_DIR などの一時ディレクトリーに rhdm-7.8.0-add-ons.zip を展開します。
    2. TEMP_DIR/rhdm-7.8.0-migration-tool.zip を展開します。
    3. 現在のディレクトリーから、TEMP_DIR/rhdm-7.8.0-migration-tool/ddl-scripts ディレクトリーに移動します。このディレクトリーには、複数のデータベースタイプの DDL スクリプトが含まれています。
    4. 使用するデータベースに、お使いのデータベースタイプの DDL スクリプトをインポートします。以下に例を示します。

      psql jbpm < /ddl-scripts/postgresql/postgresql-jbpm-schema.sql
      注記

      PostgreSQL または Oracle を Spring Boot と併用する場合は、対応する Spring Boot の DDL スクリプト (/ddl-scripts/oracle/oracle-springboot-jbpm-schema.sql または /ddl-scripts/postgresql/postgresql-springboot-jbpm-schema.sql) をインポートする必要があります。

  4. WebSphere 統合ソリューションコンソールで、ResourcesJDBCData sources の順に移動します。
  5. データソースを使用するアプリケーションでスコープを選択します。セル、ノード、クラスター、またはサーバーを選択できます。
  6. New をクリックし、Create a data source ウィザードを開きます。
  7. Data source name フィールドに一意の名前を入力し、JNDI name フィールドに JNDI (Java Naming and Directory Interface) 名を入力します。アプリケーションサーバーは JNDI 名を使用して、アプリケーションのリソース参照をこのデータソースにバインドします。

    複数のリソースタイプ (データソース、J2C 接続ファクトリー/JMS 接続ファクトリー) に割り当てる JNDI 名を重複させないでください。

    同じスコープに、同じタイプの複数のリソースに割り当てる JNDI 名を重複させないでください。

  8. プロバイダーを作成している場合は、Next をクリックして Select an existing JDBC provider を選択します。作成していない場合は Create new JDBC provider をクリックして、新しいプロバイダーの詳細を定義します。(JDBC プロバイダーは、データソースを追加するための前提条件であるため、事前に作成しておくことが推奨されます。)
  9. CMP (container managed persistence) のエンタープライズ Bean がこのデータソースにアクセスする必要がある場合は、Enter database specific properties for the data source パネルで Use this data source in container managed persistence (CMP) をクリックします。これにより、その他のデータベース関連のプロパティーが書き込まれます。
  10. オプションで、データソースのセキュリティーエイリアスを設定します。すべての認証メソッドで None を選択するか、以下のいずれを選択できます。

    • Component-managed authentication alias: コンポーネントリソース参照の res-auth 値が Application の場合に使用する認証エイリアスを指定します。新しいエイリアスを定義するには、Related Items → J2EE Connector Architecture (J2C) authentication data entries に移動します。コンポーネント管理エイリアスは、データソース認証に対してアプリケーションに指定した ID およびパスワードの組み合わせとなります。したがって、データソースに設定したエイリアスは、アプリケーションコードのエイリアスと同一にする必要があります。
    • Mapping-configuration alias: コンポーネントリソース参照にログイン設定がない場合にのみ利用します。res-auth 値を Container に設定した場合は、ログイン設定およびコンポーネントリソース参照の関連プロパティーを指定することが、認証ストラテジーを定義するのに推奨される方法です。DefaultPrincipalMapping ログイン設定を指定する場合の関連プロパティーは JAAS - J2C 認証データエントリーエイリアスです。
    • Container-managed authentication alias: コンポーネントリソース参照にログイン設定がない場合にのみ利用します。res-auth 値を Container に設定する場合は、ログイン設定と、コンポーネントリソース参照の関連プロパティーを指定することで、コンテナー管理認証ストラテジーが判断されます。
  11. Next をクリックしてデータソースの情報を確認し、Finish をクリックして設定を保存してウィザードを終了します。

    Data sources パネルには、新しい設定と、同じスコープに設定したその他のデータソースがテーブルに表示されます。

IBM WebSphere Application Server データソースの詳細は、IBM Knowledge Center の Configuring a JDBC provider and data source を参照してください。

4.3. Java Message Service (JMS) の設定

Java Message Service (JMS) は、KIE Server が、Oracle WebLogic Server、IBM WebSphere Application Server などのアプリケーションサーバーとメッセージを交換するために使用する Java API です。KIE Server を経由して JMS メッセージを送受信するようにアプリケーションサーバーを設定し、2 台のサーバー間でコラボレーションが適切に行われるようにします。

4.3.1. サービスバスを作成し、IBM WebSphere を追加します。

JMS を使用するためには、サービスバスを作成し、IBM WebSphere Application Server をそのメンバーとして追加します。

手順

  1. WebSphere 統合ソリューションコンソールで、Service IntegrationBusesNew の順に移動します。
  2. 新しいバス名を入力し、Bus Security オプションの選択を解除します。
  3. Next をクリックしてから Finish をクリックし、サービスバスを作成します。
  4. 作成しておいたサービスバスを選択します。
  5. TopologyBus MembersAdd をクリックします。
  6. Add a New Bus Member ウィザードを使用し、IBM WebSphere Application Server と、永続性に関するメッセージストアのタイプを選択します。メッセージストアのプロパティーを指定することもできます。
  7. Finish をクリックし、バスメンバーを追加します。

4.3.2. JMS 接続ファクトリーの作成

KIE Server でメッセージングを有効にするには、メッセージの送受信に JMS 接続ファクトリーをいくつか作成する必要があります。

前提条件

  • IBM WebSphere Application Server にサービスバスを作成している。

手順

  1. WebSphere 統合ソリューションコンソールで、ResourcesJMSConnection Factories の順に移動します。
  2. 正しいスコープを選択し、New をクリックします。
  3. Default Messaging Provider オプションを選択し、OK をクリックします。
  4. 以下に示す必須の接続ファクトリーに、接続ファクトリー名 (例: KIE.SERVER.REQUEST) および JNDI 名 (例: jms/cf/KIE.SERVER.REQUEST) を入力して、Bus Name ドロップダウンリストからサービスバス名を選択します。残りのオプションはデフォルト値のままにします。
  5. Apply および Save をクリックして master 設定への変更を保存し、必要な各ファクトリーに上述の手順を繰り返します。

4.3.2.1. KIE Server の JMS 接続ファクトリー

以下は、KIE Server で JMS メッセージングを有効にするために必要な Java Message Service (JMS) 接続ファクトリーになります。

表4.1 KIE Server に必要な JMS 接続ファクトリー

名前デフォルト値用途

KIE.SERVER.REQUEST

jms/cf/KIE.SERVER.REQUEST

全要求を KIE Server へ送信

KIE.SERVER.RESPONSE

jms/cf/KIE.SERVER.RESPONSE

KIE Server が生成する応答をすべて受信

4.3.3. JMS キューの作成

JMS キューは、ポイントツーポイントメッセージング (point-to-point messaging) の宛先エンドポイントになります。KIE Server で JMS メッセージングを有効にするには JMS キューをいくつか作成する必要があります。

前提条件

  • IBM WebSphere Application Server にサービスバスを作成している。

手順

  1. WebSphere 統合ソリューションコンソールで、ResourcesJMSQueues の順に移動します。
  2. 正しいスコープを選択し、New をクリックします。
  3. Default Messaging Provider オプションを選択し、OK をクリックします。
  4. 以下に示す必須のキューに、キューの名前 (例: KIE.SERVER.REQUEST) および JNDI 名 (例: jms/KIE.SERVER.REQUEST) を入力して、Bus Name ドロップダウンリストからサービスバスを選択します。
  5. Queue Name ドロップダウンリストで Create Service Integration Bus Destination を選択して一意の識別子を入力し、事前に作成したバスメンバーを選択します。
  6. Apply および Save をクリックして master 設定への変更を保存し、必要な各キューに上述の手順を繰り返します。

4.3.3.1. KIE Server 向けの JMS キュー

以下は、KIE Server で JMS メッセージングを有効にするために必要な Java Message Service (JMS) キューです。

表4.2 KIE Server に必要な JMS キュー

名前デフォルト値用途

KIE.SERVER.REQUEST

jms/KIE.SERVER.REQUEST

全要求を KIE Server へ送信

KIE.SERVER.RESPONSE

jms/KIE.SERVER.RESPONSE

KIE Server が生成する応答をすべて受信

4.3.4. JMS アクティベーション指定の作成

キューと、JMS を有効にするメッセージ駆動型 Bean との間にブリッジを行うには、JMS アクティベーション指定が必要です。

前提条件

  • IBM WebSphere Application Server にサービスバスを作成している。
  • JMS キューを作成している。

手順

  1. WebSphere 統合ソリューションコンソールで、ResourcesJMSActivation Specifications の順に移動します。
  2. 正しいスコープを選択し、New をクリックします。
  3. Default Messaging Provider オプションを選択し、OK をクリックします。
  4. 以下に示す必須のアクティベーション指定に、アクティベーション指定名 (例: KIE.SERVER.REQUEST) および JNDI 名 (例: jms/activation/KIE.SERVER.REQUEST) を入力して、Bus Name ドロップダウンリストからサービスバス名を選択します。
  5. Destination Type ドロップダウンリストで Queue を選択し、Destination lookup に対応するキューの名前 (例: jms/KIE.SERVER.REQUEST) を入力します。
  6. Apply および Save をクリックして master 設定への変更を保存し、必要な各アクティベーション指定に上述の手順を繰り返します。

4.3.4.1. KIE Server の JMS アクティベーション仕様

以下は、KIE Server で JMS メッセージングを有効にするために必要な Java Message Service (JMS) アクティベーション仕様になります。

表4.3 KIE Server に必要な JMS アクティベーション仕様

名前デフォルト値用途

KIE.SERVER.REQUEST

jms/activation/KIE.SERVER.REQUEST

全要求を KIE Server へ送信

KIE.SERVER.RESPONSE

jms/activation/KIE.SERVER.RESPONSE

KIE Server が生成する応答をすべて受信

4.4. IBM WebSphere Application Server へのシステムプロパティーの設定

KIE Server をデプロイする前に、IBM WebSphere Application Server に、本セクションに記載するシステムプロパティーを設定します。

手順

  1. WebSphere 統合ソリューションコンソールで、ServersServer TypesIBM WebSphere Application Servers の順にクリックします。
  2. アプリケーションサーバーの一覧で、KIE Server をデプロイするサーバーを選択します。
  3. Server InfrastructureJava and Process ManagementProcess Definition をクリックします。

    図4.2 WebSphere 設定ページ

    WebSphere 設定ページ
  4. Additional PropertiesJava Virtual Machine をクリックします。

    図4.3 プロセスの定義設定ページ

    process definition2

    これにより、IBM WebSphere を起動するのに使用する JVM の設定プロパティーが開きます。

  5. Initial heap size および Maximum heap size の両方を 2048 に設定し、Apply をクリックして Java Virtual Machine (JVM) メモリーサイズを増やします。KIE Server はこの値でテストされています。JVM メモリーサイズを増やさないと、KIE Server のデプロイ時に IBM WebSphere Application Server がフリーズするかエラーが発生します。
  6. Additional PropertiesCustom Properties をクリックします。
  7. NewCustom JVM Properties の順にクリックし、以下のプロパティーを IBM WebSphere に追加します。

    表4.4 KIE Server のシステムプロパティー

    名前説明

    kie.server.jms.queues.response

    jms/KIE.SERVER.RESPONSE

    KIE Server が使用する応答用の JMS キューの JNDI 名。

    org.kie.server.domain

    WSLogin

    JMS の使用時にユーザーの認証に使用される JAAS LoginContext ドメイン。

    org.jbpm.server.ext.disabled

    true

    RHDM でサポートされていない Business Central の機能を無効にします。設定されていない場合、KIE Server は機能しますが、起動時にエラーメッセージを表示します。

    org.jbpm.ui.server.ext.disabled

    true

    RHDM でサポートされていない Business Central の機能を無効にします。設定されていない場合、KIE Server は機能しますが、起動時にエラーメッセージを表示します。

    org.jbpm.case.server.ext.disabled

    true

    RHDM でサポートされていない Business Central の機能を無効にします。設定されていない場合、KIE Server は機能しますが、起動時にエラーメッセージを表示します。

    org.jboss.logging.provider

    jdk

    このプロパティーは、CA SiteMinder TAI (SMTAI) が環境にインストールされている場合にのみ必要になります。このプロパティーを使用すると、Dashbuilder でログを記録するために、Hibernate が log4j ではなく、JDK を強制的に使用しようとします。CA SiteMinder TAI (SMTAI) には古いバージョンの log4j が含まれており、これにより競合が生じます。

  8. Save をクリックして、マスター設定への変更を保存します。

4.5. IBM WebSphere Application Server の停止および再起動

IBM WebSphere Application Server に必要なシステムプロパティーをすべて設定したあと、IBM サーバーを停止および再起動して、設定が適用されていることを確認します。

手順

端末で、インストール時に指定した IBM WebSphere Application Server の /bin ディレクトリーの場所に移動し、以下のコマンドを実行して IBM WebSphere を停止して再起動し、設定変更を適用します。

sudo ./stopServer.sh <SERVER_NAME>
sudo ./startServer.sh <SERVER_NAME>

<SERVER_NAME> は、WebSphere 統合ソリューションコンソールの ServersServer TypesIBM WebSphere Application Servers で定義した IBM WebSphere Application Server の名前です。

第5章 IBM WebSphere Application Server への KIE Server のインストールおよび実行

IBM WebSphere Application Server に必要なシステムプロパティーをすべて設定したら、IBM WebSphere に KIE Server をインストールして、Red Hat Decision Manager アプリケーション管理を合理化します。

前提条件

手順

  1. Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。

    • Product: Decision Manager
    • バージョン: 7.8
  2. Red Hat Decision Manager 7.8.0 KIE Server for All Supported EE7 Containers をダウンロードします。
  3. rhdm-7.8.0-kie-server-ee7.zip アーカイブを一時ディレクトリーに展開します。以下の例では、この名前を TEMP_DIR とします。
  4. kie-server.war ディレクトリーを再パッケージ化します。

    1. TEMP_DIR/rhdm-7.8.0-kie-server-ee7/kie-server.war ディレクトリーに移動します。
    2. TEMP_DIR/rhdm-7.8.0-kie-server-ee7/kie-server.war ディレクトリーのコンテンツを選択し、kie-server.zip ファイルを作成します。
    3. kie-server.zip の名前を kie-server.war に変更します。このファイルを使用して、KIE Server をデプロイします。
    4. 必要に応じて、新しい kie-server.war ファイルを、デプロイしやすい便利な場所にコピーします。
  5. WebSphere 統合ソリューションコンソールで、ApplicationsApplication TypesWebSphere Enterprise Applications の順に移動します。
  6. Install をクリックします。
  7. 再パッケージ化した kie-server.war ファイルに移動して選択し、アップロードします。
  8. Fast Path を選択し、Next をクリックします。

    Install New Application ウィザードが開きます。

  9. Application Namekie-server に変更し、Next をクリックします。
  10. 要件に合わせて KIE Server モジュールをサーバーにマッピングし、Next をクリックします。
  11. Bind Listeners for Message-Driven Beans の場合は 、両 Bean に Activation Specification を選択し、Target Resource JNDI Name フィールドに jms/activation/KIE.SERVER.REQUEST を入力し、KIE.SERVER.REQUEST 接続ファクトリーの jms/cf/KIE.SERVER.REQUEST JNDI 名を入力します。
  12. Map Virtual Hosts for Web Modules セクションでは、デフォルト値をそのままにして、Next をクリックします。
  13. コンテキストのルートを kie-server に設定します。
  14. Metadata for Modules セクションで、デフォルト値をそのままにして Next をクリックします。
  15. Finish をクリックして KIE Server をインストールし、Save をクリックして master 設定に変更を保存します。

5.1. KIE Server のグループおよびロールの作成

KIE Server をインストールしたら、kie-server グループと、ユーザーを作成します。

前提条件

  • KIE Server が IBM WebSphere Application Server インスタンスにインストールされている。

手順

  1. WebSphere 統合ソリューションコンソールで、Users and GroupsManage Groups の順にクリックします。
  2. Manage Groups 画面で Create をクリックします。
  3. Create a Group 画面の Group name ボックスに kie-server と入力し、Create をクリックします。
  4. kie-server グループに追加するユーザーを作成するには、Users and GroupsManage Users の順にクリックします。
  5. Create a User セクションで、必要な情報を入力します。
  6. Group Membership をクリックします。
  7. Group Membership 画面で kie-server をクリックして Mapped To に移動し、Close をクリックします。
  8. Create a User 画面で Create をクリックします。

5.2. KIE Server のグループおよびロールのマッピング

KIE Server をインストールしたら、WebSphere 統合ソリューションコンソールで kie-server ロールを kie-server グループにマッピングして、KIE Server を実行します。

前提条件

  • KIE Server が IBM WebSphere Application Server インスタンスにインストールされている。
  • IBM WebSphere Application Server に、1 人以上のユーザーが追加されている kie-server グループがある。

手順

  1. WebSphere 統合ソリューションコンソールで、ApplicationsApplication TypesWebSphere Enterprise Applications に移動し、新たにインストールした kie-server アプリケーションを選択します。
  2. Detail PropertiesSecurity Role to User/Group Mapping をクリックします。
  3. kie-server ロールを選択し、Map Groups をクリックして、kie-server グループを検索します。
  4. kie-server グループを、Available 一覧から Selected 一覧に移動し、OK をクリックします。

    このマッピングにより、IBM WebSphere Application Server の kie-server グループのユーザーに、KIE Server へのアクセスが付与されます。

  5. Save をクリックしてマッピングを完了します。

5.3. KIE Server のクラ出力ディングの設定

KIE Server をインストールしたら、親クラスを最後に読み込むように、クラ出力ディングを設定する必要があります。

手順

  1. ApplicationsApplication TypesWebSphere Enterprise Applications に移動し、kie-server をクリックします。
  2. 左側の Detail Properties の見出しにある Class Loading and Update Detection をクリックします。
  3. プロパティーで、Class Loader OrderClasses loaded with local class loader first (parent last) に、WAR Class Loader PolicySingle class loader for application に変更します。
  4. 変更をマスター設定に保存します。

5.4. インストールの検証

KIE Server をインストールして KIE Server グループマッピングを定義したら、サーバーが実行していることを確認します。

前提条件

  • KIE Server が IBM WebSphere Application Server インスタンスにインストールされている。
  • ヘッドレス Decision Manager コントローラーに必要なシステムプロパティーをすべて設定している。
  • IBM WebSphere Application Server に KIE Server グループマッピングを定義している。

手順

KIE Server の URL (http://<HOST>:<PORT>/kie-server) に移動し、サーバーが実行していることを確認するか、GET 要求を http://<HOST>:<PORT>/kie-server/services/rest/server に送信して、KIE Server REST API が応答するかどうかを確認します。

<HOST> は、KIE Server ホストの ID または名前に置き換えます (例: localhost または 192.7.8.9)。

<PORT> は、KIE Server ホストのポートです (例: 9060)。

KIE Server が実行していない場合は、IBM WebSphere Application Server インスタンスを停止して再起動し、KIE Server の URL または API に再度アクセスしてみてください。

第6章 IBM WebSphere Application Server へのヘッドレス Decision Manager コントローラーのインストールおよび実行

KIE Server REST API または Java Client API を使用して KIE Server に接続するには、IBM WebSphere Application Server にヘッドレス Decision Manager コントローラーをインストールします。ヘッドレス Decision Manager コントローラーは、一元化された方法で KIE Server 設定を管理するため、このコントローラーを使用してコンテナーの作成および維持を行い、他のサーバーレベルのタスクを実行することができます。

注記

実稼働環境で最適な結果を得るには、KIE Server とヘッドレス Decision Manager コントローラーを別のサーバーにインストールします。開発環境の場合は、KIE Server とヘッドレス Decision Manager コントローラーを同じサーバーにインストールします。

前提条件

  • 4章KIE Server への IBM WebSphere Application Server の設定 の説明どおりに IBM WebSphere Application Server インスタンスを設定している。
  • KIE Server が IBM WebSphere Application Server インスタンスにインストールされている。
  • インストールを完了するのに必要なユーザーパーミッションがある。

手順

  1. Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。

    • Product: Decision Manager
    • バージョン: 7.8
  2. Red Hat Decision Manager 7.8.0 Add-Ons をダウンロードします。
  3. ダウンロードした rhdm-7.8.0-add-ons.zip ファイルを一時ディレクトリーに展開します。
  4. rhdm-7.8.0-add-ons.zip ファイルを一時ディレクトリーに展開します。以下の例では、この名前を TEMP_DIR とします。
  5. rhdm-7.8.0-add-ons/rhdm-7.8.0-controller-ee7.zip ファイルを展開します。
  6. controller.war ディレクトリーを再パッケージ化します。

    1. TEMP_DIR/rhdm-7.8.0-add-ons/rhdm-7.8.0-controller-ee7/controller.war ディレクトリーに移動します。
    2. TEMP_DIR/rhdm-7.8.0-add-ons/rhdm-7.8.0-controller-ee7/controller.war ディレクトリーのコンテンツを選択して、controller.zip ファイルを作成します。
    3. controller.zip の名前を controller.war に変更します。このファイルを使用して、ヘッドレス Decision Manager コントローラーをデプロイします。
    4. 必要に応じて、新しい controller.war ファイルを、デプロイしやすい場所にコピーします。
  7. WebSphere 統合ソリューションコンソールで、ApplicationsApplication TypesWebSphere Enterprise Applications の順に移動します。
  8. Install をクリックします。
  9. 再パッケージ化した controller.war ファイルに移動し、選択してアップロードします。
  10. Fast Path を選択し、Next をクリックします。

    Install New Application ウィザードが開きます。

  11. Application Namecontroller に変更し、Next をクリックします。
  12. 要件に合わせて ヘッドレス Decision Manager コントローラーモジュールをサーバーにマッピングし、Next をクリックします。
  13. Bind Listeners for Message-Driven Beans の場合は 、両 Bean に Activation Specification を選択し、Target Resource JNDI Name フィールドに jms/activation/KIE.SERVER.REQUEST を入力し、KIE.SERVER.REQUEST 接続ファクトリーの jms/cf/KIE.SERVER.REQUEST JNDI 名を入力します。
  14. Map Virtual Hosts for Web Modules セクションでは、デフォルト値をそのままにして、Next をクリックします。
  15. コンテキストルートを controller に設定します。
  16. Metadata for Modules セクションで、デフォルト値をそのままにして Next をクリックします。
  17. Finish をクリックしてヘッドレス Decision Manager コントローラーをインストールし、Save をクリックして master 設定への変更を保存します。

6.1. ヘッドレス Decision Manager コントローラーへのクラ出力ディングの設定

ヘッドレス Decision Manager コントローラーをインストールしたら、親クラスを最後に読み込むように、KIE Server クラ出力ディングを設定する必要があります。

手順

  1. ApplicationsApplication TypesWebSphere Enterprise Applications に移動し、kie-server をクリックします。
  2. 左側の Detail Properties の見出しにある Class Loading and Update Detection をクリックします。
  3. プロパティーで、Class Loader OrderClasses loaded with local class loader first (parent last) に、WAR Class Loader PolicySingle class loader for application に変更します。
  4. 変更をマスター設定に保存します。

6.2. ヘッドレス Decision Manager コントローラーのシステムプロパティーの設定

ヘッドレス Decision Manager コントローラーをインストールしたら、本セクションで紹介するシステムプロパティーをアプリケーションサーバーに設定して、ヘッドレス Decision Manager コントローラーとの適切な接続を有効にします。

注記

実稼働環境で最適な結果を得るには、KIE Server とヘッドレス Decision Manager コントローラーを別のサーバーにインストールします。開発環境の場合は、KIE Server とヘッドレス Decision Manager コントローラーを同じサーバーにインストールします。いずれの場合も、ヘッドレス Decision Manager コントローラーがインストールされているすべてのアプリケーションサーバーでこのプロパティーを変更します。

前提条件

  • KIE Server およびヘッドレス Decision Manager コントローラーがアプリケーションサーバーインスタンスにインストールされている。

手順

  1. ヘッドレス Decision Manager コントローラーがインストールされているアプリケーションサーバーインスタンスに、以下の JVM プロパティー値を指定します。

    表6.1 ヘッドレス Decision Manager コントローラーに必要なプロパティー

    名前要件

    org.kie.server.user

    kie-server ロールが割り当てられているユーザー

    org.kie.server.pwd

    org.kie.server.user プロパティーに指定したユーザーのパスワード

  2. KIE Server がインストールされているアプリケーションサーバーインスタンスに、以下の JVM プロパティー値を指定します。

    表6.2 ヘッドレス Decision Manager コントローラーがインストールされている場合に KIE Server に必要なプロパティー

    名前要件

    org.kie.server.controller.user

    kie-server ロールが割り当てられているユーザー

    org.kie.server.controller.pwd

    org.kie.server.controller.user プロパティーに指定したユーザーのパスワード

    org.kie.server.id

    KIE Server インストールの ID または名前 (rhdm700-decision-server-1 など)

    org.kie.server.location

    KIE Server の URL (http://<HOST>:<PORT>/kie-server/services/rest/server)

    org.kie.server.controller

    ヘッドレス Decision Manager コントローラーの URL (http://<HOST>:<PORT>/controller/rest/controller)

    <HOST> は、KIE Server ホストの ID または名前に置き換えます (例: localhost または 192.7.8.9)。

    <PORT> は、KIE Server ホストのポートです (例: 7001)。

6.3. ヘッドレス Decision Manager コントローラーのグループおよびロールのマッピング

ヘッドレス Decision Manager コントローラーをインストールしたら、WebSphere 統合ソリューションコンソールに kie-server グループを作成し、kie-server ロールを kie-server グループにマッピングします。

前提条件

  • ヘッドレス Decision Manager コントローラーが IBM WebSphere Application Server インスタンスにインストールされている。

手順

  1. WebSphere 統合ソリューションコンソールで、KIE Server グループおよびロールの作成 の記載通りに、kie-server グループと、このグループのユーザーを作成します。
  2. ApplicationsApplication TypesWebSphere Enterprise Applications に移動し、新たにインストールしたヘッドレス Decision Manager コントローラーを選択します。
  3. Detail PropertiesSecurity Role to User/Group Mapping をクリックします。
  4. kie-server ロールを選択し、Map Groups をクリックして、kie-server グループを検索します。
  5. kie-server グループを、Available 一覧から Selected 一覧に移動し、OK をクリックします。

    このマッピングにより、事前に作成した管理者ユーザーに Decision Manager へのアクセスが付与されます。

  6. Save をクリックしてマッピングを完了します。

6.4. インストールの検証

ヘッドレス Decision Manager コントローラーをインストールし、必要なシステムプロパティーとロール要件をアプリケーションサーバーに定義したら、ヘッドレス Decision Manager コントローラーが正しく動作していることを確認します。

前提条件

  • KIE Server およびヘッドレス Decision Manager コントローラーがアプリケーションサーバーインスタンスにインストールされている。
  • アプリケーションサーバーで、ヘッドレス Decision Manager コントローラーに必要なシステムプロパティーおよびロール要件をすべて設定している。

手順

端末で以下のコマンドを実行して、ヘッドレス Decision Manager コントローラーが動作していることを確認します。

curl -X GET "http://<HOST>:<PORT>/controller/rest/controller/management/servers" -H  "accept: application/xml" -u '<CONTROLLER>:<CONTROLLER_PWD>'

<HOST> は、KIE Server ホストの ID または名前に置き換えます (例: localhost または 192.7.8.9)。

<PORT> は、KIE Server ホストのポートです (例: 7001)。

<CONTROLLER> および <CONTROLLER_PWD> は、本セクションで作成したユーザーの認証情報です。

このコマンドにより、KIE Server インスタンスに関する情報が返されます。

注記

別の方法として、KIE Server Java API Client を使用してヘッドレス Decision Manager コントローラーにアクセスすることもできます。

ヘッドレス Decision Manager コントローラーが実行していない場合は、アプリケーションサーバーインスタンスを停止して再起動し、ヘッドレス Decision Manager コントローラーの URL または API へ再度アクセスしてみてください。

第7章 IBM WebSphere Application 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? を参照してください。

手順

  1. Red Hat Business Automation BOM を pom.xml ファイルで宣言します。

    <dependencyManagement>
     <dependencies>
      <dependency>
       <groupId>com.redhat.ba</groupId>
       <artifactId>ba-platform-bom</artifactId>
       <version>7.8.0.redhat-00005</version>
       <type>pom</type>
       <scope>import</scope>
      </dependency>
     </dependencies>
    </dependencyManagement>
    <dependencies>
    <!-- Your dependencies -->
    </dependencies>
  2. <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>

    • KIE Server を使用するには、以下の依存関係を宣言します。

      クライアントアプリケーション KIE 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>
  3. プロジェクトで永続サポートのあるデシジョンエンジンを使用する場合は、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>

第8章 キーストアを使用したパスワードセキュリティーの確保

キーストアを使用して、Business Central と KIE Server の間の通信に使用するパスワードを暗号化できます。コントローラーと KIE Server のパスワードを暗号化する必要があります。Business Central と KIE Server を別のアプリケーションサーバーにデプロイする場合は、いずれのアプリケーションサーバーもキーストアを使用する必要があります。

Java Cryptography Extension KeyStore (JCEKS) は、対称鍵をサポートするため、キーストアには JCEKS を使用してください。

注記

KIE Server が JCEKS で設定されていない場合、KIE Server のパスワードはシステムプロパティーにプレーンテキスト形式で保存されます。

前提条件

  • KIE Server が IBM WebSphere Application Server にインストールされている。
  • 「KIE Server のグループおよびロールの作成」 の記載通りに、kie-server ロールを割り当てた KIE Server ユーザーが作成されている。
  • Java 8 以降がインストールされている。

手順

  1. JCEKS キーストアを作成します。
  2. プロンプトが表示されたら、作成した KIE Server ユーザーのパスワードを入力します。
  3. 以下の表に記載のシステムプロパティーを設定します。

    表8.1 KIE Server JCEKS を読み込む時に使用するシステムプロパティー

    システムプロパティープレースホルダー説明

    kie.keystore.keyStoreURL

    <KEYSTORE_URL>

    使用する JCEKS の URL (例: file:///home/kie/keystores/keystore.jceks)

    kie.keystore.keyStorePwd

    <KEYSTORE_PWD>

    JCEKS のパスワード

    kie.keystore.key.server.alias

    <KEY_SERVER_ALIAS>

    パスワードの保存先となる REST サービスのキーのエイリアス

    kie.keystore.key.server.pwd

    <KEY_SERVER_PWD>

    保存したパスワードを使用する REST サービスのエイリアスのパスワード

    kie.keystore.key.ctrl.alias

    <KEY_CONTROL_ALIAS>

    パスワードの保存先のデフォルトの REST Process Automation Controller のキーのエイリアス

    kie.keystore.key.ctrl.pwd

    <KEY_CONTROL_PWD>

    保存したパスワードを使用する、デフォルトの REST Process Automation Controller のエイリアスのパスワード

  4. KIE Server を起動して、設定を検証します。

第9章 次のステップ

付録A バージョン情報

本書の最終更新日: 2022 年 3 月 8 日 (火)