3.6.3 トランザクションコンテキストのプロパゲーションを使用する場合の構成
サーバ間で連携する構成の場合に,それぞれのJ2EEサーバが異なるリソースに接続する構成について説明します。この構成では,トランザクションコンテキストのプロパゲーションを使用します。なお,この構成の場合,CTMは使用できません。
(1) システム構成の特徴
複数のJ2EEアプリケーションでサーバ間連携をする構成です。ここでは,サーブレット,JSP,およびSession Beanで構成されるJ2EEアプリケーションと,Session Beanだけで構成されるJ2EEアプリケーションでサーバ間連携をする例について説明します。サーブレット,JSPおよびSession Beanで構成されるアプリケーションは,クライアント側のアプリケーションサーバで動作し,Session Beanで構成されるJ2EEアプリケーションは,サーバ側のアプリケーションサーバで動作します。
それぞれのJ2EEアプリケーションは,リソースアダプタ経由で異なるリソースマネジャにアクセスします。この場合,リソースマネジャへのアクセスで使用するトランザクションは,J2EEサーバ側で管理します。このときのトランザクションの種類は,XAインタフェースを使用するグローバルトランザクションになります。
なお,CTM経由でStateless Session Beanを呼び出す構成では,トランザクションコンテキストのプロパゲーションは使用できません。
トランザクションコンテキストのプロパゲーションを使用する場合の構成の例を次の図に示します。この例では,J2EEアプリケーションは,それぞれ,データベースとOpenTP1のSPPにアクセスします。
これ以外の凡例については,「3.2 システム構成の説明について」を参照してください。
- 特徴
-
-
サーバ間連携をするアプリケーションから複数のリソースマネジャにアクセスする場合に適用できます。
-
サーバ間連携をする場合に,一つのリソースマネジャにアクセスするアプリケーションと,複数のリソースマネジャにアクセスするアプリケーションを混在させるシステムの場合は,この構成にする必要があります。
-
- アプリケーションからリソースアダプタ経由でリソースマネジャにアクセスする流れ
-
WebブラウザからWebサーバ経由でアクセスされたサーブレットおよびJSPは,同じアプリケーション内のSession Beanをローカルで呼び出します。Session Beanは,トランザクションを開始して,データベースにアクセスしてから,サーバ側のアプリケーションサーバ上のJ2EEサーバで動作しているSession Beanを呼び出します。呼び出されたサーバ側のアプリケーションサーバ上のSession Beanは,OpenTP1のSPPにアクセスします。クライアント側のアプリケーションサーバ上のSession Beanは,サーバ側のSession Beanから制御が戻ると,トランザクションをコミットします。
(2) それぞれのマシンに必要なソフトウェアと起動するプロセス
トランザクションコンテキストのプロパゲーションを使用するときに必要なソフトウェアと起動するプロセスは,「3.6.2 グローバルトランザクションを使用する場合の構成」と同様です。ただし,コンテキストのトランザクションプロパゲーションを使用する場合,CTMは使用できません。