交易中间件分析及三款典型产品介绍
http://publish.it168.com/2005/0902/20050902049101.shtml
作者:高山流水2005-09-02
【IT168评论文章】交易中间件是专门针对联机交易处理系统而设计的。交易中间件就是一组程序模块,用以减少开发一个联机交易处理系统所需的编程量。交易中间件的主要标准是X/OPEN组织定义的分布式交易处理参考模型。交易中间件理论上相对成熟,功能和性能界定清晰,但基本上适用于联机交易系统,如银行业务系统、定票系统等。联机交易处理系统需要处理大量并发进程,处理并发涉及到操作系统、文件系统、编程语言、数据通讯、数据库系统、系统管理、应用软件。交易中间件管理由应用声明和提交的交易,并通过两阶段提交协议等方式保证分布式交易的完整性、控制并发、实现交易路由和均衡负载。
交易中间件提供了一个基础的框架来帮助你建立、运行和管理一个三层客户机/服务器模式的应用,使你不需要从零做起,缩短应用开发的时间,提高了应用开发的成功率。中间件在对事务完整性的保证、对大规模并发处理的响应、对异构系统互联的透明支持,以及对应用数据的安全性保护等方面的表现将成为应用系统成败的决定性因素。三层客户机/服务器模式的核心概念是利用交易中间件将应用的业务逻辑、表示逻辑和数据分为三个不同的处理层。
表示逻辑(客户层)为第一层。它的主要功能是实现用户交互和数据表示,为以后的处理收集数据,向第二层的业务逻辑请求调用核心服务处理,并显示处理结果。业务逻辑(服务器组件)为中间层。这些组件由中间件管理,实现核心业务逻辑服务并将这些服务按名字广播、管理并接受客户的服务请求,向资源管理器提交数据操作,并将处理结果返回给请求者——客户或其他服务器。数据(资源管理器)构成模型的第三层。比如关系数据库,负责管理应用系统的数据资源,完成数据操作。服务器组件在完成服务的过程中通过资源管理器存取它管理的数据,或者说请求资源管理器的数据服务。
交易中间件是最早出现,也是类型最清晰的中间件产品,据易观国际近日推出的《IT产品和服务——中国应用服务器中间件软件市场季度数据监测05q2》报告中数据显示,交易中间件占到中间件市场份额的10.35%。
1、BEA公司的Tuxedo
BEA公司的Tuxedo是最早出现也是最著名的一个交易中间件产品,它作为电子商务交易平台,允许客户机和服务器参与一个涉及多个数据库协调更新的交易,并能够确保数据的完整性。BEA Tuxedo一个特色功能是能够保证对电子商务应用系统的不间断访问。它可以对系统组件进行持续的监视,查看是否有应用系统、交易、网络及硬件的故障。一旦出现故障,BEA Tuxedo会从逻辑上把故障组件排除,然后进行必要的恢复性步骤。
BEA Tuxedo根据系统的负载指示,自动开启和关闭应用服务,可以均衡所有可用系统的负载,以满足对应用系统的高强度使用需求。借助DDR(数据依赖路由),BEA Tuxedo可按照消息的上下文来选择消息路由。其交易队列功能,可使分布式应用系统以异步“少连接”方式协同工作。BEA Tuxedo LLE安全机制可确保用户数据的保密性,应用/交易管理接口(ATMI)为50多种硬件平台和操作系统提供了一致的应用编程接口。BEA Tuxedo基于网络的图形界面管理可以简化对电子商务的管理,为建立和部署电子商务应用系统提供了端到端的电子商务交易平台。
TUXEDO是BEA公司的非常成熟的产品,占有很大市场份额,它有以下特点:
*支持全局事务管理,支持X/Open规范,支持全局的两阶段提交。
*分布式应用管理,支持异构环境下的分布应用(如同一应用中有不同的数据库,多个数据源)。
*平衡负载。有多台机器做应用服务器时,系统可自动根据每个机器的负载情况决定服务程序在负载小的那一台机器上执行。
*进程管理。系统根据需要(客户端请求量)自动增加或减少每个Service的进程数(1个Service可启动n个相同的进程)。某个Service忙,则相应地增加(启动)其进程数;某个Service闲,则相应地减少(关闭)其进程数,从而减少该Service占用的系统资源(如:内存、数据库连接数等),使整个系统的Service最优化运行。
*优先级管理。可将Service根据优先级的不同赋权值,系统根据优先级权值将客户请求(Service)排队管理。
*路由管理。有多台机器做应用服务器时,用户可设定同一种事务(根据申请包中FML的某一个域)在不同的机器上执行。
*权限控制、安全管理。包括两个方面:服务端控制,可限制用户对应用程序的启动、关闭,限制用户在应用中建立服务程序。限制客户端对应用程序的访问。可由专门的Service做安全验证。
*丰富的通信方式。有同步调用、异步调用、管道通信、会话、广播、通知、队列、发布订阅等通信方式,能很好地满足应用开发的要求。
*可MP方式工作,多台应用服务器互相备份,实现其高可用性。
2、EasyNet交易中间件
EasyNet交易中间件系统是针对于政府、企业的大型关键业务系统(如银行交易系统)和周边系统,为了保证系统在性能上和安全上的要求,以及未来维护和升级上的方便,专为构建交易类核心系统而设计的用于交易处理的专业中间件产品,负责系统建设、数据传输、数据格式转换、业务控制、安全控制、流量控制、事务控制、负载均衡等。
EasyNet是面向交易处理的中间件,它负责正确传递交易,对交易完整性进行管理,调度应用程序的运行,保证整个系统运行的高效性。EasyNet把自己的交易管理功能和数据库的交易管理功能有机的结合在一起,实现对分布式交易的全局管理。
EasyNet交易中间件系统具有强大的功能:
*群集功能:主从式“群集“功能,方便的构筑大型关键应用;
*应用组功能:应用组别管理,系统可建立多个应用;
*双重角色:双重角色,支持复杂的请求方式;
*二阶段提交事务处理:遵循XA协议,实现二阶段事物提交处理机制;
*支持不同数据平台:实现对于32位数据平台与64位数据平台的支持;
*常驻服务与短服务:支持常驻服务和多种短服务机制;
*负载均衡:动态负载均衡;
*交易请求优先级管理:对不同交易赋予优先级,按照优先级排列进行交易的处理;
*用户安全认证:实现用户交易请求的双重认证机制,更有效的保护用户系统安全;
*故障检测与恢复:实时检测和恢复系统运行中出现的故障,保证系统运行稳定可靠;
*系统配置、管理与监控:提供完善的系统配置、管理与监控功能。
3、东方通交易中间件TongEASY
TongEASY是面向交易处理的中间件。它负责正确传递交易,对交易完整性进行管理,调度应用程序的运行,保证整个系统运行的高效性。根据X/Open DTP模型,本地交易的管理由数据库系统来完成,交易中间件主要完成分布式计算环境下交易的监控和管理。数据库虽然在本地交易管理的功能已经很强大,但透过一个广域网进行分布式交易管理并不是数据库的强项,特别是一笔交易涉及到异构数据库时更是如此。TongEASY把自己的交易管理功能和数据库的交易管理功能有机地结合在一起,实现对分布式交易的全局管理。
交易管理机制是TongEASY最具有独创性的方面。TongEASY有两种方式管理交易完整性:一种方式是应用程序处理提交/撤销命令,另一种方式是建立在XA协议基础上的。基于XA的交易管理方式又可以细分为标准的XA方式和快速XA两种。TongEASY在交易管理上的多样性是为了解决中国应用环境的特殊性。国内多数应用是建立在一个速率传输偏低、可靠性差强人意的广域网上。XA方式是建立在两阶段提交协议上的,在一个低速的广域网上使用两阶段提交协议时会带来一些问题,一是握手次数多、数据库加锁时间长,因而效率较低,二是不能很好地解决由于网络故障所造成的交易完整性问题。因此,TongEASY在交易管理方面提供了多种选择,以求得效率、交易完整性、开发工作量等关键指标的上佳表现。
TongEASY提供高效数据通道,能够把大量的前端请求汇聚成较少的后端连接并减少数据传送量,应用系统即使在大量用户同时请求服务的时候也能够保持快速、稳定的工作状态。其优点主要有:
*降低网络负担:客户机和服务器建立一条网络通道,多个请求可以复用网络通道,在网络通道上传递服务名。参数和最终结果。最大限度减少网络上的传输量,同时可以对网络上传递数据进行压缩,进一步减少网上传递数据量。
*提高主机处理能力:TongEASY调度有限的服务程序为大量并发请求进行服务,减少网络连接量、内存占用、进程句柄、信号量和CPU时间片等系统资源,成倍提高了主机的处理能力。
*提高数据库效率:有限的服务程序只需与数据库建立有限的数据库连接,同时该连接是长连接,大大减少了数据库系统对会话连接的管理,从而大大提高数据操作的效率。
交易中间件
http://topoint.com.cn/html/chanpin/zjj/2008/05/209645.html
概述
TongEASY是交易中间件。交易(Transaction),又称之为事务。
交易中间件即事务监控器(TP Monitor),其核心作用是保证分布式计算环境中各节点交易处理结果的一致性,及时的交易响应时间,使整个系统达到高吞吐率,7×24小时的不间断运行。
TongEASY在分布式交易处理(Distributed Transaction Process)中负责正确传递交易,管理交易的完整性,调度系统资源和应用程序均衡负载运行,保证整个系统运行的高可靠性和高效性。
使用TongEASY可以简单方便地开发出可靠、高效的分布式交易处理应用系统。
交易中间件由一个通信程序提供数据和文件的可靠传输,通信程序按TongEASY的接口规范提供接口函数。TongEASY当前使用的通信程序是消息中间件TongLINK。
体系结构
TongIntegrator体系结构
典型应用
TongEASY是一个标准化、适合中国应用环境的交易中间件,具有高效、可靠、实用等特点。1993年诞生以来,已成功运行在金融、邮电、交通、政府等行业的数百个大、中型企业级应用系统中。
中国联通广西、云南、安徽、内蒙、甘肃、浙江、青海、宁夏、吉林、新疆、四川、贵州、重庆等省(市)的客户服务系统或GSM计费系统,其业务系统都是在TongEASY之上构造的。
中国建设银行是TongEASY应用最广泛的金融机构之一,目前已经有四川、山西、黑龙江、广西、江西、河南、广东、重庆等省(市)100多个城市,其综合业务处理系统运行在TongEASY之上,占中国建设银行全部营业网点和业务量的四分之一。
详细介绍
高效数据通道
TongEASY提供高效数据通道,能够把大量的前端请求汇聚成较少的后端连接并减少数据传送量,应用系统即使在大量用户同时请求服务的时候也能够保持快速、稳定的工作状态。其优点主要有:
高速数据通道
·降低网络负担
客户机和服务器建立一条网络通道,多个请求可以复用网络通道,在网络通道上传递服务名。参数和最终结果。最大限度减少网络上的传输量,同时可以对网络上传递数据进行压缩,进一步减少网上传递数据量。
·提高主机处理能力
TongEASY调度有限的服务程序为大量并发请求进行服务,减少网络连接量、内存占用、进程句柄、信号量和CPU时间片等系统资源,成倍提高了主机的处理能力。
·提高数据库效率
有限的服务程序只需与数据库建立有限的数据库连接,同时该连接是长连接,大大减少了数据库系统对会话连接的管理,从而大大提高数据操作的效率。
服务驱动
TongEASY提供按名字请求服务的方式。名字,也称服务码。
名字服务功能
客户程序按名字(服务码)提出服务请求,TongEASY根据名字服务表查找并分配服务请求,服务程序,按优先级进行服务处理。
名字服务
TongEASY提供名字服务转发功能,TongEASY根据不同的交易请求(代理节点+交易码+关键数据)可以将其转发到不同的业务主机提供服务,从而将后台压力分担开,使系统具有更清晰的业务逻辑,机构扩展性更强,应用编写的通用性更好。
TongEASY所有接点都支持名字服务转发功能,因此可以设置独立的名字服务中心,也可以在不同节点上做名字服务,使整个网络机构更合理,业务分布更灵活。
交易服务
TongEASY提供灵活多样的交易通信机制,包括:
·同步请求/应答方式;
·异步请求/获取应答方式;
·会话方式;
·转发方式;
·可靠队列方式;
可伸缩性的动态配置
TongEASY提供多种动态配置能力,包括网络节点、交易管理方式、应用程序管理方式、名字服务表以及其它一些控制参数;支持系统动态增减网络节点,调整交易和服务的管理方式,使系统运行达到最优化。
故障恢复
·网络故障恢复
自动检测网络连接,发现问题可以自动重新建立连接。
·数据可靠传输
数据传送有可发送时间支持,在设定时间内网络故障恢复仍然可以正确发送。文件传送支持块重传和断点续传,在设定时间和重传次数内如有问题,TongLINK将自动重新传送。
·服务可用性检查
自动检查服务程序的可用性,当发现问题时自动关闭服务并报告错误,当问题解决后可以手工恢复。
·交易超时处理
·自动检查交易运行的各个阶段,当出现超时将进行恢复处理。
·自我保护
自动检查核心守护进程和所使用的系统资源,当出现超时将进行恢复处理。
·系统重新启动和恢复能力
当系统故障重新启动时,根据日志恢复交易的完整性和系统运行状态。
安全性
TongEASY提供多种安全措施保证系统运行的安全性。包括:
·节点连接的安全认证
在系统配置时将保存节点的口令字和唯一标志特征,节点连接时将检查口令和节点唯一特征标志,保证连接节点的可靠性。
·应用程序的安全认证
在配置系统时将保存应用程序的唯一特征,应用程序在注册时将检查唯一特征,保证运行应用程序的可靠性。
·提供加密/解密函数
提供可选加密/解密功能。加密算法为RC5,为对称密钥算法。
交易完整性管理
TongEASY提供两种交易完整性管理机制:
·使用XA和两阶段提交方式管理交易完整性
TongEASY接口函数负责与数据库交换有关事务的信息,包括交易开始/完成/挂起/恢复,应用程序只通过SQL语句进行业务逻辑操作,最后TongEASY核心负责事务的提交或撤消。
·使用核对和重做方式管理交易完整性。
TongEASY对一次半过程(请求/应答/确认)的交易进行完整性管理,跟踪交易过程,在服务方超时未收到确认时自动核对,在服务方未能正确处理提交/撤消处理时将自动重新提交。
用户数据管理
TongEASY支持两种用户数据类型,在使用时需要描述使用数据结构类型:
·数据流模式
·类似C语言结构方式,包括数据包和文件。
系统管理工具
TongEASY提供本地管理和统一管理两种模式,支持字符界面方式和命令行方式。管理工具提供操作员管理、节点管理、交易管理、程序管理、资源管理、系统启动和停止、参数配置和下载。
日志功能
TongEASY提供各种日志,帮助用户根踪、分析、调试应用系统,在系统出现故障时作恢复处理。
·交易日志,记录交易结果;
·数据日志,记录收发数据内容;
·系统日志,记录系统错误信息和提示信息;
·调试日志,用于帮助跟踪TongEASY运行过程和查找运行错误。
有效的网络管理
TongLINK的网络管理能力,支持在各种不同类型线路上进行有效的数据传递。在低速线路上支持流量控制、数据块传输时间控制和故障处理能力。
与数据库的连接
支持Informix、Oracle、Sybase、Ingres、DB2等UNIX上的大型数据库,Windows NT上的SQL Server。可以通过XA协议,也可不用XA协议来和这些产品连接。
开发工具
TongEASY支持大量的第三方开发工具,支持开发人员快速、简单地开发TongEASY的服务程序及客户程序。
TongEASY支持几乎所有的编程语言和开发工具,只要这种语言或工具支持动态联接库DLL调用,这些工具包括VC++、VB、Delphi、Develop/2000以及其他4GL工具等。
TongEASY为Windows客户端还提供一个OCX控件,用户在可视化的编程工具中可以方便的使用TongEASY提供的接口。
TongEASY也支持JAVA编程语言,用户可方便的在Web应用中进行交易处理。
跨平台支持
TongEASY支持几乎所有UNIX以及Windows95/98/NT,并且所有平台上的API都是一致的,平台间的数据表示的差异由TongEASY自动屏蔽,极大地拓宽了用户对平台的选择范围。
构筑在TongEASY之上的应用独立于硬件、操作系统和数据库。将应用从一种开放平台移植到另一种开放平台,应用程序只需重新编译,调整极少的语句(不同数据库产品其SQL语法可能稍有不同),就能顺畅地完成平台转移。
TongEASY支持位数及字节顺序的转换,屏蔽不同平台上的数据表示差异,不需要编程人员精通各种平台的数据表示差异,从而“自动地”完成异构系统的互联。
支持的标准
X/Open DTP模型
两阶段提交协议(Two-phase commit)
应用接口规范TX
应用与通讯资源管理器接口规范XATMI
资源管理器接口规范XA
简单网络管理协议SNMP
数据格式转换协议XDR
ISO8583