X/Open 组织(现Open Group)定义了分布式事务处理模型DTP。 X/Open DTP 模型包含三个组件,应用程序(AP)、事务管理器(TM)、资源管理器(RMs)。
AP定义事务范围和发起事务行为,RMs提供访资源访问能力,如数据库或者文件访问系统,TM是个独立组件,负责标记分布的多个事务并监控他们的运行进度,管理整体
事务成功执行和失败回滚工作。这种协议的具体体现形式是XA接口,或者称为XA规范,具体接口形式可以参考官方说明书,数据库系统(Oracle,MySQL)会实现XA接口并在相应的驱动中暴露给用户使用,数据库通常扮演RMs的角色,但是数据库要为TM提供调用接口,TM的工作就是组织RMs提供的接口,所以被称为事务管理器,其实TM本身
不具备底层事务处理的能力,这些能力都是RMs的,但是TM具备组织调用RMs的能力,所以看起来好像一切都是TM在处理,编程时要缕清他们的关系,才能正确使用他们。
这里分布式事务的具体实现方式有两阶段提交方式和三阶段提交方式。
【附录1】(来自wiki)
X / Open Company,Ltd .最初是Unix系统公开组织,是由几个欧洲的UNIX系统制造商于1984年创立的一个联盟,以确定和推广信息技术领域的开放标准。更具体地说,最初的目标是定义一个从UNIX派生的操作系统的单一规范,以提高应用程序的互操作性并降低移植软件的成本。它的原始成员是Bull,ICL,西门子,Olivetti和Nixdorf- 一个群体有时被称为BISON。飞利浦和爱立信不久之后加入,此时采用X / Open这个名字。
该组织以“ X / Open可移植性指南”(或XPG)的名义发布了其规范。问题1涵盖了基本的操作系统接口,并在小组成立一年内出版。第二期于1987年出版,扩展了国际化,终端接口,进程间通信,编程语言C,COBOL,FORTRAN,Pascal以及SQL和ISAM的数据访问接口。在许多情况下,这些是现行国际标准的概况。
XPG3紧随其后,于1988年,其主要重点是与POSIX操作系统规格融合。这可能是X / Open组织中使用最广泛,影响最大的交付成果。
到1990年,该集团扩大到了21个成员:除了原来的五个,飞利浦和诺基亚从欧洲; AT&T Corporation,Digital,Unisys,惠普,IBM,NCR,Sun Microsystems,Prime Computer,北美的Apollo Computer ; 日本的富士通,日立和NEC ; 加上开放软件基金会和Unix国际。
X / Open 从1993年到1996年管理UNIX 商标,当时它与开放软件基金会合并组建Open Group。
【附录2】(来自wiki)
在计算机科学中,XA 标准是The Open Group针对分布式事务处理(DTP)的规范。它描述了全局事务管理器和本地资源管理器之间的接口。XA的目标是允许在同一事务中访问多个资源(如数据库,应用程序服务器,消息队列,事务性缓存等),从而保持应用程序间的ACID属性。XA使用两阶段提交来确保所有资源都一致地提交或回退任何特定的事务(都是一样的)。
XA代表“eXtended Architecture”,是用于执行访问多个后端数据存储的“全局事务 ” 的X / Open组标准。XA指定事务管理器如何将针对不同数据存储的事务汇总到“ 原子 ”事务中,并使用事务的两阶段提交(2PC)协议执行此操作。因此,XA是一种交易协调,通常在数据库之间。ACID事务是数据库的一个关键特性,但通常数据库仅为单个数据库内发生的活动提供ACID保证。XA协调允许许多资源(通常是数据库)参与单个协调的原子更新操作。
XA规范描述了资源管理器必须做什么来支持事务访问。遵循这个规范的资源管理器被认为是符合XA的。
XA规范是基于20世纪80年代开发的Tuxedo系统中使用的接口,但自那时以来已被多个系统采用。