このトピックでは、Transaction Service of WebSphere Application Server が提供するトランザクションのサポートに関する概念的な情報を提供します。
トランザクションとは、内部でリソースに対する複数の更新を、アトミックに (不可分の作業単位として) 行うことができるアクティビティーの単位です。 この場合、すべての更新が永続的に行われるか、または永続的な更新が全く行われないかのいずれかです。 例えば、SQL COMMIT ステートメントの処理中に、データベース・マネージャーは複数の SQL ステートメントをリレーショナル・データベースにアトミックにコミットします。この場合、トランザクションは、全体がデータベース・マネージャー内に含まれ、 リソース・マネージャー・ローカル・トランザクション (RMLT) であると考えることができます。 コンテキストによっては、 トランザクションが作業論理単位 (LUW) と呼ばれる場合もあります。 トランザクションに複数のリソース・マネージャー、 例えば複数のデータベース・マネージャーが含まれる場合、外部トランザクション・マネージャーは個別のリソース・マネージャーを調整する必要があります。複数のリソース・マネージャーにわたるトランザクションはグローバル・トランザクション と呼ばれます。WebSphere Application Server は、グローバル・トランザクションを調整し、受け取ったグローバル・トランザクションの参加プログラムになれるトランザクション・マネージャーであり、 リソース・マネージャー・ローカル・トランザクションを実行できる環境を提供します。
WebSphere Application Server は、 その XAResource インターフェースを介してリソース・マネージャーの調整をサポートするトランザクション・マネージャーであり、 CORBA Object Transaction Service (OTS) protocol または Web Service Atomic Transaction (WS-AtomicTransaction) protocol をサポートするトランザクション・マネージャーとともに、分散グローバル・トランザクションに参加します。 WebSphere Application Server はまた、J2EE コネクター 1.5 リソース・アダプターを介してインポートされたトランザクションに参加します。 分散トランザクションの調整が必要でない場合、 ローカル・トランザクション・サポートを介して、 データベース、JMS キュー、および JCA コネクターと 対話するように、WebSphere アプリケーションを構成することもできます。
WebSphere Application Server for z/OS は、XAResource ベースのリソース・マネージャーの調整をサポートする以外に、RRS (z/OS リソース・リカバリー・サービス) によるリソース・マネージャーの調整をサポートします。 RRS 準拠のリソース・マネージャーには DB2、WebSphere MQ、IMS、および CICS があります。IBM WebSphere Application Server for z/OS は、 同一のグローバル・トランザクション内の RRSTransactional リソース・マネージャー と XA が可能なリソース・マネージャーを合わせて調整することが可能です。
トランザクション・サポートを提供する リソース・マネージャーは、2 フェーズの調整をサポートするもの (XAResource インターフェースの 提供によるか、あるいは RRS のサポートによる) と、1 フェーズのみの調整を サポートするもの (例えば、LocalTransaction インターフェースによる) に分類できます。 WebSphere Application Server トランザクション・サポートは、トランザクション内で、 任意の数の 2 フェーズ対応のリソース・マネージャーを調整できます。 これにより、他にリソース・マネージャーがない場合でも、 単一の 1 フェーズ対応のリソース・マネージャーをトランザクション内で使用することも可能になります (この場合、WebSphere トランザクションは必要ありません)。
ActivitySession サービスは、 グローバル・トランザクション・コンテキストによって提供される作業単位 (UOW) 有効範囲の、代替となる作業単位有効範囲を提供します。 分散コンテキストが、複数の 1 フェーズ・リソース・マネージャーを調整するために使用できます。WebSphere EJB コンテナーおよびデプロイメント・ツールは、 J2EE プログラミング・モデルへの拡張として ActivitySessions をサポートします。 EJB は、トランザクション・コンテキストへの代替として、 ActivitySession コンテキストの影響を受けるようなライフ・サイクルでデプロイできます。 次に、アプリケーションは、単なる EJB メソッドの存続期間ではなく、 クライアントを有効範囲とした ActivitySession の期間中、 リソース・マネージャーと対話し、リソース・マネージャーのローカル・トラ ンザクションの結果を ActivitySession によって送信させることができます。ActivitySessions について詳しくは、ActivitySession サービスの使用を参照してください。
トランザクション・クラスを使用して、 ワークロード管理を行うためにクライアントのワークロードを分類することができます。 ワークロードは、個別の WebSphere トランザクションであり、 それぞれ別のサーバント領域をターゲットにします。それぞれのゴールは、 該当するサービス・クラスで定義されます。 各トランザクションは、サーバント・リージョン・プロセスで独自の WLM 別プログラムにディスパッチされ、 サービス・クラスのゴールに従って管理されます。 キュー・マネージャーとしてワークロード管理によって表示されるサーバー・コントローラーは、 クライアント要求に関連付けられている別プログラムを使用して、 作業の優先順位を管理します。 作業の優先順位が高い場合、ワークロード管理はその作業をサーバー内の優先順位が高いサーバントに渡すことができます。 作業の優先順位が低い場合、ワークロード管理はその作業を優先順位が低いサーバントに渡すことができます。 同じサーバー内で優先順位に従って作業を分割するという効果があります。