Windows トランザクションとメインフレーム トランザクション
ホスト統合サーバー ヘルプでは、Microsoft Windows .NET Framework 環境のトランザクションは、メインフレーム環境のトランザクションと同じ意味ではありません。
Windows 環境のトランザクションは、ACID テストを満たすアトミック作業単位として Microsoft 分散トランザクション コーディネーター (DTC) によって調整された一連のアクションです。言い換えると、 トランザクションはtomic、 consistent、 isolated、 および durable です。 トランザクション内のすべてのアクションが完了するか、いずれも完了しません。
メインフレーム・ホスト (CICS または IMS) 環境のトランザクションは、構造化トランザクション・プログラム (TP) 内のコードのセクションであり、TP は 1 つ以上のメインフレーム・トランザクションを含む単一の COBOL プログラム・ファイルです。 したがって、メインフレーム トランザクションは ACID テストを満たす場合と満たされない場合があります。
TI Automation サーバーは、.NET Framework アプリケーションにデプロイされた TI コンポーネントです。 TI Automation サーバー内の 1 つのメソッドは、1 つのメインフレーム ベースの TP を呼び出します。 TI Automation サーバー内のすべての TI メソッドは TP 内の任意のトランザクションを呼び出すことができますが、実行するトランザクションのどれを決定するのは TP です。 メインフレーム TP は、TI Automation サーバーから送信された情報に基づいてこの決定を行います。 CICS または IMS TP は、端末対話式操作、データ転送、データベース照会、データベース更新など、あらゆるタイプのサービスを提供できます。 TP には、1 つ以上のトランザクションを含めることもできます。
メインフレーム TP は、IBM CICS 環境でも特殊な意味を持ちます。 Advanced Program-to-Program Communications (APPC) を別のプログラムと共に使用するプログラムは、トランザクション プログラム (TP) と呼ばれます。 APPC は、メインフレーム間のピアツーピア ネットワーク専用に IBM によって開発されたプロトコルのセットであり、IBM is、3174 クラスター コントローラー、およびその他のインテリジェント デバイスです。 TP が APPC を使用して別の TP と直接通信するには、2 つのプログラムが最初に LU 6.2 セッションを確立し、相互に会話する必要があります。
LU 6.2 は、メインフレーム環境での分散トランザクション処理の事実上の標準プロトコルです。 これは、CICS サブシステムと IMS サブシステムの両方で使用されます。 あるプログラムは、次の 3 つのレベルの同期のいずれかで別のプログラムと対話できます。
同期レベル 0 には、失われたメッセージまたは重複するメッセージを検出するためのシーケンス番号を超えるメッセージ整合性はありません。
同期レベル 1 では、クライアントとサーバーのエンド ツー エンドの受信確認を許可する CONFIRM-CONFIRMED 動詞がサポートされています。
同期レベル 2 では、2 フェーズ コミット (2PC) を使用して分散トランザクション全体で ACID (原子性、一貫性、分離、持続性) プロパティを提供する SYNCPT 動詞がサポートされています。
3 つの同期レベルのうち、Windows、COM、COM+、または .NET Framework トランザクションによって提供されるのと同じ保証が提供されるのは同期レベル 2 のみです。
注意
TCP/IP プロトコルは分散トランザクション処理用に設計されていないため、TCP/IP は LU 6.2 同期レベル 2 の 2PC が提供する ACID 保証を提供しません。 したがって、TP 内のトランザクションがアトミックで一貫性があり、分離された永続的なユニットとして動作することを保証できるかどうかを判断するのは、ネットワーク プロトコル (LU 6.2 または TCP/IP) です。
したがって、CICS および IMS 環境では、トランザクション・プログラム (TP) という用語は、2PC の使用を意味する場合とそうでない場合があります。 トランザクション プログラムという用語は、プログラム自体を参照します。 "同期レベル 2" という用語を追加してトランザクションという用語が修飾された場合にのみ、Windows 開発者とメインフレーム開発者は、それらが同じものを参照していることを確認できます。
TI では、SNA ネットワークの LU 6.2 を介した同期レベル 0 と同期レベル 2 の両方の会話がサポートされています。 メソッド呼び出しが DTC 調整トランザクションの一部である場合、TI は同期レベル 2 を使用して、Resource Recovery Services (RRS) を使用して CICS または IMS バージョン 6.0 と通信します。 メソッド呼び出しが DTC 調整トランザクションに含まれていない場合、TI は同期レベル 0 を使用します。