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

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

通常、Red Hat Process Automation Manager を使用するソリューションは、1 つのトランザクション内で複数のリソースを管理します。非同期のジョブ、イベント、タイマーなどの JMS。Red Hat Process Automation Manager では、データの原子性と一貫した結果を保証するために、可能な限りデータソースに XA ドライバーを必要とします。異なるスキーマのトランザクションコードがリスナー内に存在する場合や、jBPM エンジンが提供するフックから取得する場合は、XA ドライバーも必要となります。

1 つのトランザクションに複数のリソースが参加していないことが確認できない限り、XA 以外のデータソースを使用しないでください。

前提条件

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

手順

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

    • 製品: Process Automation Manager
    • Version: 7.12
  2. Red Hat Process Automation Manager 7.12.0 Add-Ons をダウンロードします。
  3. 以下の手順を実行して、データベースを準備します。

    1. TEMP_DIR などの一時ディレクトリーに rhpam-7.12.0-add-ons.zip を展開します。
    2. TEMP_DIR/rhpam-7.12.0-migration-tool.zip を展開します。
    3. 現在のディレクトリーから、TEMP_DIR/rhpam-7.12.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 を参照してください。