1.2.7 分散トランザクションの概要

Connector .NETは,Microsoft Distributed Transaction Coordinator(MSDTC)の分散トランザクションとOpenTP1のトランザクションとの2相コミットによるトランザクション連携を行い,MSDTC連携機能を実現します。MSDTC連携機能を使用すると,MSDTCを利用するほかのリソースとOpenTP1が使用するリソースとの間で分散トランザクション連携ができます。

MSDTC連携機能を使用したアプリケーションでは,.NET Frameworkが提供するSystem.Transactions名前空間内のAPIを使用することで,OpenTP1をリソースマネジャとしてMSDTCの分散トランザクションに参加させることができます。また,アプリケーションやOpenTP1で障害が発生した場合,Connector .NETが提供するトランザクションリカバリサービスがトランザクションを自動的に回復します。これによって,MSDTCの分散トランザクションでOpenTP1とOpenTP1以外のリソースとの整合性を保証します。トランザクションリカバリサービスの詳細については,「1.2.10 分散トランザクションのトランザクションリカバリサービス」を参照してください。

MSDTC連携機能では,OpenTP1が提供するXAリソースサービスを使用します。XAリソースサービスの詳細については,マニュアル「OpenTP1 解説」を参照してください。

<この項の構成>
(1) MSDTC連携機能の概要
(2) WCF連携機能使用時のMSDTC連携機能の概要
(3) 前提条件
(4) MSDTC連携機能で使用できるRPC

(1) MSDTC連携機能の概要

MSDTC連携機能の概要を次の図に示します。

図1-4 MSDTC連携機能の概要

[図データ]

(2) WCF連携機能使用時のMSDTC連携機能の概要

MSDTC連携機能をWCFサービスで使用することで,他システムとのWS-AtomicTransactionによるトランザクション連携もできます。このとき,WCFサービスからOpenTP1へのサービス要求には,WCF連携機能を使用することもできます。WCF連携機能の詳細については「1.9 WCF連携機能」を参照してください。

WCF連携機能使用時のMSDTC連携機能の概要を次の図に示します。

図1-5 WCF連携機能使用時のMSDTC連携機能の概要

[図データ]

(3) 前提条件

(a) 適用OS

MSDTC連携機能を使用する場合,次のOSのどちらかが必要です。

(b) 前提ソフトウェア

MSDTC連携機能を使用する場合,次に示すソフトウェアが必要です。

また,トランザクション連携をする接続先のOpenTP1は,次のどちらかである必要があります。

(4) MSDTC連携機能で使用できるRPC

MSDTC連携機能で使用できるRPCを次の表に示します。

表1-2 MSDTC連携機能で使用できるRPC

分類RPCの方式RPCの使用可否
WCF連携機能使用時WCF連携機能未使用時
RPCの種類リモートAPI機能を使用したRPC
ネームサービスを使用したRPC××
スケジューラダイレクト機能を使用したRPC××
コネクトモードオートコネクトモード
非オートコネクトモード××
RPCの形態同期応答型RPC
非同期応答型RPC××
非応答型RPC×
連鎖型RPC×
トランザクションを引き継がないRPC×
(凡例)
○:使用できます。
×:使用できません。