BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   C 言語を使用した BEA Tuxedo アプリケーションのプログラミング   |   先頭へ   |   前へ   |   次へ   |   目次

 


グローバル・トランザクションとは

グローバル・トランザクションとは、複数のリソース・マネージャを使用し、複数のサーバ上で行われる複数の操作を 1 つの論理単位として処理できるようにするメカニズムです。

プロセスがトランザクション・モードになると、サーバに要求されたサービスが現在のトランザクションに代わって処理されます。呼び出されてトランザクションに参加したサービスは、「トランザクションのパーティシパント」と呼ばれます。パーティシパントから返される値によって、トランザクションの結果が変わる場合があります。

グローバル・トランザクションは複数のローカル・トランザクションから構成され、各トランザクションは同じリソース・マネージャにアクセスします。リソース・マネージャは、同時実行制御とデータ更新の原子性を実現します。ローカル・トランザクションでは、アクセスが正常に終了するか、または全体が失敗します。つまり、一部だけが成功することはありません。

1 つのトランザクションに参加可能なサーバ・グループは最大 16 個です。

BEA Tuxedo システムでは、グローバル・トランザクションが参加しているリソース・マネージャと共に管理され、原子性、一貫性、独立性、および持続性という特徴を持つ特定シーケンスの操作として処理されます。つまり、グローバル・トランザクションは、以下のような特徴を持つ論理的な作業単位と言えます。

BEA Tuxedo システムでは、個々のグローバル・トランザクションの状態がトラッキングされ、そのトランザクションをコミットするかロールバックするかが決定されます。

注記 トランザクションで、flags 引数に明示的に TPNOTRAN を設定して tpcall()tpacall() または tpconnect() を呼び出した場合、呼び出されたサービスによって実行される操作はトランザクションに含まれません。その場合、呼び出し元プロセスは、呼び出されたサービスを現在のトランザクションのパーティシパントとは見なしません。その結果、呼び出されたプロセスによって実行されるサービスは、現在のトランザクションの結果の影響を受けません。XA 準拠のサーバ・グループのサービスに対する呼び出しに TPNOTRAN が設定されている場合、その呼び出しはトランザクション・モード外、または別のトランザクションで実行されます。どちらで実行されるかは、サービスの設定方法とコーディング方法によって決まります。詳細については、「グローバル・トランザクションの暗黙的な定義」を参照してください。

 

先頭へ戻る 前のトピックへ 次のトピックへ