BEA Logo BEA Tuxedo Release 8.0

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

 

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

 


トランザクションとは

トランザクションとは、関連するアクションの集まりです。グローバル・トランザクションとは、複数のプログラムおよび複数のリソース・マネージャにまたがる関連アクションの集まりです。この章で使用する「トランザクション」は、グローバル・トランザクションを意味します。

トランザクションの単純な例として、銀行口座からの引き出し処理があります。この処理では、一定の金額を引き出して預金残高の状態を変更する、という一連のアクションが行われます。このトランザクションでは、次の 3 つの操作を含む手順を実行する必要があります。

トランザクションの手順

銀行口座の引き出し処理の手順

1. 実行するアクティビティを確認します。

1. 引き出し処理を行うかどうかを確認します。

2. トランザクションの処理を実行します。

2. 口座から指定された金額を引き出します。

3. 完了した処理の永続的なレコードを作成します。

3. 預金残高のレコードを更新します。


 

これらの処理は、このトランザクション専用に作成されたソフトウェア・モジュールによって実行されます。このモジュールには、トランザクションを開始および終了するコードも必要です。トランザクションの開始および終了を示すコード部分が、トランザクションのソフトウェア・モジュールの主要な部分ではない場合、これらのコード部分は通常、別のモジュールにパッケージ化されます。

トランザクション・コーディネータは、トランザクションに参加するリソース間で、トランザクションを管理するロジックを実行するソフトウェア・モジュールです。

ACID 特性とは

銀行口座からの引き出し処理などのトランザクションでは、トランザクションを構成する操作がすべて成功するか、またはすべて失敗しなければなりません。たとえば、トランザクションを構成する操作のうち、1 つの操作が成功し、別の操作が失敗するとします。つまり、銀行口座から預金を引き出しても、引き出し後の金額が預金残高に反映されないとすれば、その銀行は営業を続けることができません。

トランザクションを構成する操作は、すべて成功するか、または失敗しなければならない、という特性を「原子性」と言います。BEA Tuxedo システムのすべてのトランザクションは、原子性という特性を持ち、さらに、「一貫性」、「独立性」、および「持続性」という関連する特性を備えています。BEA Tuxedo システムで実行されるトランザクションのこうした 4 つの属性を ACID 特性と呼びます。

BEA Tuxedo トランザクションの ACID 特性

特性

意味

原子性

トランザクションは個別の作業単位であり、トランザクションを構成する操作はすべて成功するか、または失敗しなければなりません。この種の操作には、キューへのメッセージの登録、データベースの更新、およびトランザクション結果の画面表示などがあります。

一貫性

トランザクションは、正しい状態のままシステムを終了するか、またはアボートしなければなりません。トランザクションの状態が不安定な場合は、初期状態に戻らなければなりません。

独立性

トランザクションの動作は、同時に実行されているほかのトランザクションによる影響を受けません。トランザクションでは、共用リソースへのアクセスをシリアル化しなければならず、同時に実行されるプログラムがお互いの操作を妨害しないことが保証されなければなりません。

持続性

コミットされたトランザクションの結果は永続的です。システムが異常終了しても、トランザクションによって行われた変更は永続し、持続します。

トランザクションの成功と失敗

トランザクションの成功または失敗は、原子性の要件によって決まります。

状況

結果

トランザクション内のいずれかの操作が何らかの原因で失敗した場合

トランザクション内のすべての操作が成功した場合

クライアントは、トランザクションをコミットします。つまり、トランザクションを終了できる状態になり、結果を保存する必要があることを正式に通知します。たとえば、発注データベースの更新が永続化されると、出荷部門に送られた注文は、その部門のキューに永続的なレコードとして登録されます。


 

 

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