2.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以外のリソースとの整合性を保証します。トランザクションリカバリサービスの詳細については,「2.2.10 分散トランザクションのトランザクションリカバリサービス」を参照してください。
MSDTC連携機能では,OpenTP1が提供するXAリソースサービスを使用します。XAリソースサービスの詳細については,マニュアル「OpenTP1 解説」を参照してください。
(1) MSDTC連携機能の概要
MSDTC連携機能の概要を次の図に示します。
|
|
(2) WCF連携機能使用時のMSDTC連携機能の概要
MSDTC連携機能をWCFサービスで使用することで,他システムとのWS-AtomicTransactionによるトランザクション連携もできます。このとき,WCFサービスからOpenTP1へのサービス要求には,WCF連携機能を使用することもできます。WCF連携機能の詳細については「2.9 WCF連携機能」を参照してください。
WCF連携機能使用時のMSDTC連携機能の概要を次の図に示します。
|
|
(3) 前提条件
(a) 前提ソフトウェア
MSDTC連携機能を使用する場合,次に示すソフトウェアが必要です。
-
TP1/Client for .NET Framework 07-50以降
-
.NET Framework v3.5 Service Pack 1
また,トランザクション連携をする接続先のOpenTP1は,次のどちらかである必要があります。
-
TP1/Server Base 07-50以降
-
TP1/LiNK 07-51以降
(4) MSDTC連携機能で使用できるRPC
MSDTC連携機能で使用できるRPCを次の表に示します。
|
分類 |
RPCの方式 |
RPCの使用可否 |
|
|---|---|---|---|
|
WCF連携機能使用時 |
WCF連携機能未使用時 |
||
|
RPCの種類 |
リモートAPI機能を使用したRPC |
○ |
○ |
|
ネームサービスを使用したRPC |
× |
× |
|
|
スケジューラダイレクト機能を使用したRPC |
× |
× |
|
|
コネクトモード |
オートコネクトモード |
○ |
○ |
|
非オートコネクトモード |
× |
× |
|
|
RPCの形態 |
同期応答型RPC |
○ |
○ |
|
非同期応答型RPC |
× |
× |
|
|
非応答型RPC |
× |
○ |
|
|
連鎖型RPC |
× |
○ |
|
|
トランザクションを引き継がないRPC |
× |
○ |
|
- (凡例)
-
○:使用できます。
×:使用できません。