BEA Logo BEA Tuxedo Release 8.0

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

 

   Tuxedo ホーム   |   BEA Tuxedo アプリケーションの設定   |   先頭へ   |   前へ   |   次へ   |   目次

 


分散トランザクション処理をトラッキングする

BEA Tuxedo のトランザクションは、分散型のアーキテクチャで使用できます。たとえば、トランザクションに関与するローカル・マシンがリモート・マシンと通信し、このリモート・マシンが、さらに別のリモート・マシンと通信することができます。このようなしくみで実行されるトランザクション処理を、分散トランザクション処理と呼びます。

システムでは、いつでもトランザクションをロールバック (初期状態に戻す) できるように、トランザクション情報を保持しておく必要があるため、分散トランザクション処理 (DTP) のトラッキングは複雑になります。この処理を正しく実行するため、BEA Tuxedo システムは、トランザクション・ログ (TLOG) と呼ばれる専用のファイルに、トランザクションのパーティシパントすべてのトラッキング情報を格納します。

次の図は、2 つのトランザクション・マネージャ (TM) を使用するアプリケーションの例を示しています。2 つの TM はどちらも同じ TLOG にトラッキング・データを記録します。

トランザクション管理


 

トランザクションをコミットする前に、TM は処理を続行するかどうかを尋ねる質問に繰り返し答える必要があります。必要に応じて、TM はロールバックを行います。

グローバル・トランザクション識別子 (GTRID) を使用してトラッキングする

BEA Tuxedo システムは、同時に実行されるトランザクションを含め、分散システム内で実行されるすべてのトランザクションのフローをトラッキングします。トランザクションのコミット時には、コーディネータ側でトランザクションに参加する RM を認識していなければならないため、各トランザクションは識別できる状態でなければなりません。このため、BEA Tuxedo システムは、各トランザクションにグロ―バル・トランザクション識別子 (GTRID) を割り当てます。

BEA Tuxedo システムは、XA インターフェイスを介して、アプリケーションがアクセスする RM と通信します。RM は、ローカル・トランザクション識別子を割り当てることによってトランザクションをトラッキングし、グローバル識別子をローカル識別子にマッピングします。

トランザクション・ログ (TLOG) を使用してトラッキングする

グローバル・トランザクションは、コミットされるプロセスに含まれる場合にのみ、トランザクション・ログ (TLOG) に記録されます。TLOG には、2 フェーズ・コミット・プロトコルの第 1 フェーズの最後に、グローバル・トランザクションのパーティシパントからの応答が記録されます。

TLOG の記録があるということは、グローバル・トランザクションをコミットしなければならないことを示します。ロールバックされるトランザクションは、TLOG に記録されません。

最初の「プリコミット」フェーズでは、各リソース・マネージャでトランザクション要求の実行をコミットします。すべてのリソース・マネージャでトランザクションがコミットされると、トランザクション・マネージャは、第 2 フェーズを実行します。つまり、トランザクションはコミットされ、終了します。アプリケーション障害またはシステムの障害により、どちらかのタスクが失敗すると、タスクは両方共失敗し、実行済みの処理は取り消される、つまり初期状態に「ロールバック」されます。

グローバル・トランザクションの調節を行う TMS では、TLOG ファイルが使用されます。各マシンには、専用の TLOG が必要です。

アプリケーションで Domains コンポーネントを使用している場合は、Domains ゲートウェイが TMS の機能を果たします。ただし、Domains では、Domains 固有の情報のほか、TLOG の内容に似た情報を含む独自のトランザクション・ログを使用します。

 

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