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 を参照してください。
手順
Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。
- 製品: Process Automation Manager
- Version: 7.12
- Red Hat Process Automation Manager 7.12.0 Add-Ons をダウンロードします。
以下の手順を実行して、データベースを準備します。
-
TEMP_DIR
などの一時ディレクトリーにrhpam-7.12.0-add-ons.zip
を展開します。 -
TEMP_DIR/rhpam-7.12.0-migration-tool.zip
を展開します。 -
現在のディレクトリーから、
TEMP_DIR/rhpam-7.12.0-migration-tool/ddl-scripts
ディレクトリーに移動します。このディレクトリーには、複数のデータベースタイプの DDL スクリプトが含まれています。 使用するデータベースに、お使いのデータベースタイプの 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
) をインポートする必要があります。
-
- WebSphere 統合ソリューションコンソールで、Resources → JDBC → Data sources の順に移動します。
- データソースを使用するアプリケーションでスコープを選択します。セル、ノード、クラスター、またはサーバーを選択できます。
- New をクリックし、Create a data source ウィザードを開きます。
Data source name フィールドに一意の名前を入力し、JNDI name フィールドに JNDI (Java Naming and Directory Interface) 名を入力します。アプリケーションサーバーは JNDI 名を使用して、アプリケーションのリソース参照をこのデータソースにバインドします。
複数のリソースタイプ (データソース、J2C 接続ファクトリー/JMS 接続ファクトリー) に割り当てる JNDI 名を重複させないでください。
同じスコープに、同じタイプの複数のリソースに割り当てる JNDI 名を重複させないでください。
- プロバイダーを作成している場合は、Next をクリックして Select an existing JDBC provider を選択します。作成していない場合は Create new JDBC provider をクリックして、新しいプロバイダーの詳細を定義します。(JDBC プロバイダーは、データソースを追加するための前提条件であるため、事前に作成しておくことが推奨されます。)
- CMP (container managed persistence) のエンタープライズ Bean がこのデータソースにアクセスする必要がある場合は、Enter database specific properties for the data source パネルで Use this data source in container managed persistence (CMP) をクリックします。これにより、その他のデータベース関連のプロパティーが書き込まれます。
必要に応じて、データソースのセキュリティーエイリアスを設定します。すべての認証メソッドで 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
に設定する場合は、ログイン設定と、コンポーネントリソース参照の関連プロパティーを指定することで、コンテナー管理認証ストラテジーが判断されます。
-
Component-managed authentication alias: コンポーネントリソース参照の res-auth 値が
Next をクリックしてデータソースの情報を確認し、Finish をクリックして設定を保存してウィザードを終了します。
Data sources パネルには、新しい設定と、同じスコープに設定したその他のデータソースがテーブルに表示されます。
IBM WebSphere Application Server データソースの詳細は、IBM Knowledge Center の Configuring a JDBC provider and data source を参照してください。