TXインターフェース
読み方:ティーエックスインターフェース
【英】TX interface
TXインターフェースとは、分散トランザクションにおけるアプリケーションとトランザクションマネージャ間の通信プロトコルを定めた仕様で、アプリケーションがトランザクションの開始終了やトランザクション状態の問合せ、各種設定を行うために用いるものである。
TXインターフェースは、UNIX基盤のシステム標準化団体X/Open(現在のThe Open Group)が定義した分散トランザクション処理の参照モデル(DTPモデル:Distributed Transaction Processing Model)に含まれている。このDTPモデルでは、処理ロジックを司るアプリケーション(AP)、TPモニタ(Transaction Processing Monitor)などトランザクションの一貫性を管理するトランザクションマネージャ(TM)、RDBMS(Relational DataBase Management System)やMOM(Messaging Oriented Middleware)などの情報資源を管理するリソースマネージャ(RM)の3つのサブシステムが定義されており、アプリケーションとトランザクションマネージャ間のインターフェースをTXインターフェース、トランザクションマネージャとリソースマネージャ間のインターフェースをXAインターフェースと呼ぶ。また、これらのサブシステムとインターフェースのすべてにおいて役割と責務が定められており、DTPモデルは分散トランザクション処理のデファクトスタンダードとなっている。
アプリケーションからトランザクション制御を行う際にTXインターフェースを介して行うことで、原子性や一貫性などを保つことができると同時に、アプリケーション側でリソースマネージャを意識することなく処理が可能である。サーバーやRDBMSなどのメーカの多くが自社製品仕様にDTPモデルを盛り込んでいるため、TXインターフェースに基づき開発されたアプリケーションやトランザクションマネージャであれば、異なるメーカ同士の製品であっても連携が可能である。ただし、メーカの多くは独自の拡張仕様を製品に盛り込んでおり、アプリケーション開発時にアプリケーション開発者が拡張仕様を採択することも少なくない。したがって、TXインターフェース準拠の製品であっても、アプリケーションに必ずしも可搬性があるとは言い切れない。
なお、Javaを用いたサーバーアプリケーションにおいては、DTPモデルを基準としたJTA(Java Transaction API)が規定されており、Java EE(Java Platform, Enterprise Edition)に準拠したアプリーションサーバーで用いられている。ちなみに、JTAにおけるUserTransaction(javax.transaction.UserTransaction)がDTPにおけるTXインターフェースに相当する。
参照リンク
Distributed TP: The TX (Transaction Demarcation) Specification - (The Open Group)
|