2 フェーズ・コミットを使用するグローバル・トランザクション・サポート

ビジネス・リソースの保全性を保護および維持するために、IMS™ TM リソース・アダプター は、グローバル・トランザクション管理および 2 フェーズ・コミット処理をサポートしています。

このサポートを使用することで、一連の変更を単一のトランザクションまたは単一の作業単位にグループ化する Java EE アプリケーションをビルドできるため、1 つのトランザクション内のすべての変更は、完全に完了されるか、完全にロールバックされます。 このサポートにより、ご使用のアプリケーションを Java EE 対応アプリケーション・サーバー (例えば、WebSphere® Application Server) で実行し、整合的な方法で IMS トランザクションおよびデータにアクセスできるようになります。 グローバル・トランザクション管理により、IMS 内のデータの保全性が確保されます。

グローバル・トランザクション・サポートの例

保護リソースに変更を加える場合、変更が正確に行われるという保証が必要です。 例えば、ある銀行の顧客が、預金を普通預金口座から当座預金口座に振り替えるとします。その際、この顧客は、 普通預金口座から金額が差し引かれると同時に、確実に当座預金口座に追加されることを希望します。普通預金口座から差し引かれたものの、当座預金口座には追加されないという、部分的な取り引きの完了は望まないでしょう。

また別の例として、サンフランシスコからパリまでのチケットを買いたい場合に、直行便の空席がないとします。 この場合、サンフランシスコからシカゴまでのチケットと、シカゴからパリまで のチケットがきちんと予約できなければ、パリ行きを確定することはできま せん。つまり、旅程の一部の席のみを確保しても意味がないため、パリまで飛ぶという決定をロールバックします。

どちらの例でも、1 つのトランザクション全体を完了するには、いくつかの小さなトランザクションが必要です。これらの小さなトランザクションの 1 つで問題が発生した場合、そのトランザクション全体 (預金の振り替えやパリ行き) をコミットする意味がありません。 つまり、そのトランザクションのすべてのステップをロールバックして、こ れらの小さなトランザクションがコミットされないようにする必要があります。正常に預金を振り替えたり、パリ まで飛ぶためには、小さなトランザクションをまとめて管理および調整し、 すべてのトランザクションを完了することが必要です。

整合的なトランザクション処理を確保するために、Java EE プラットフォ ーム (Java EE アプリケーション・サーバー、Java EE アプリケーション・コンポーネント、および J2EE Connector Architecture リソース・アダプターで構成されます) では、分散トランザクション処理環境を提供しています。この環境では、トランザクションは透過的に管理され、リソースは複数のプラットフォームを通じて、 整合的な方法で更新および復旧されます。


フィードバック