TUXEDO知识培训
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TUXEDO基础
产品研发部 日期:2011-05
目录 目录
Tuxedo简介 Tuxedo客户端 Tuxedo命令 Tuxedo开发实例 Tuxedo性能优化原则
什么是TUXEDO?
Tuxedo系统是BEA公司的交易中间件产品,由于出现的比较早,并且在各 个方面都具有出色的表现,因此长期以来,它在分布式系统的联机事务处理(OLTP) 领域始终处于领先地位。 为什么现在很少人知道 Tuxedo ,风光不再呢?因为现在大型企业已经完 成核心系统的建设,Tuxedo 在幕后默默无闻地支撑着大型企业的核心业务运行。 20年来,Tuxedo在全球数千家企业的核心业务系统中得到了广泛运用。国 外著名的客户有美国联邦速递公司(FedEx),美国西北航空公司(nwa),VISA国 际组织、大英电信、日本DoCoMo等,国内著名的客户有中国邮政、中国建行、中国 银联、中国电信、中国移动等电信运营商。
TUXEDO的历史
1994 V5.0,支持联合模式(/Domian),支持与OSF的DCE应用通过TxRPC通信
1995 V6.1 提供系统管理编程接口,支持GUI,支持ACL,提供事件代理机制
1999 V6.5 引入Java Online Tuxedo部件和SNMP代理;在系统互连方面,加 入了与Top End和Message Q的连接网关
RDBMS
(Without Business Logic)
Business Logic
引入中间件后的三层结构
将业务逻辑在逻辑和物理上独立出来,可以有自己的操作系统和应用平台.
Client
业务逻辑
RM
C/C++,Win IDE
交易中间件
RDBMS
Browser 终端
Application Server 终端服务器
A = 1420 / 178 = 8 阅读:《UNIX环境高级编程》(Advanced Programming in the UNIX Environment) - W.Richard Stevens
RDBMS
RDBMS
TUXEDO的三层结构
TUXEDO带来的价值
1. 丰富的通信机制:在两层结构中只能实现“请求/应答”式通信,而在 三层结构中则很容易实现同步、异步、嵌套、转发、会话、事件代理、 消息通知、消息队列等通信方式; 2. 灵活性好:与两层结构比,三层结构提供了最大的灵活性是可扩展性。 三层结构中的每一层都是独立的,系统容量可以在项目实施后进行动 态调整。例如:可以在中间层部署更多的主机来提高业务处理能力, 可以在客户端部署更多的前置机满足营业网点增长的需要; 3. 可靠性高:中间应用服务层可以通过集群、负载均衡和容错机制来提 供高可靠性和可用性,真正做到7×24小时不间断对外提供服务; 4. 可移植性好:Tuxedo屏蔽了编程语言、操作系统、数据库和网络协议 的异构性,使得构筑在这些系统上的应用程序可以轻而易举的移植到 其他平台上; 5. 可管理性强:在三层结构中,由于业务逻辑都部署在应用服务器上, 因此很容易实现集中式管理。可以通过操作系统。
作为一个交易中间件,首先,Tuxedo具有空前的联机交易性能、高度的可靠 性和无限的伸缩性,它提供了一个开放应用环境,可以有效的整合企业级OLTP系统、 数据库、网络和主机遗留系统资源,用户可以用它来开发、管理和部署独立于底层 硬件、数据库、操作系统和网络的分布式应用系统。
其次,Tuxedo系统屏蔽了底层硬件、数据库、操作系统和网络的复杂性,为 客户应用系统提供了统一、简单的编程接口,简化了应用系统的开发和集成,使程 序员可以把精力集中在业务逻辑的实现上,从而大大的提高了开发质量和效率,缩 短了开发周期,减少了系统的开发和维护成本。Tuxedo以自身的复杂性换来了客户 应用开发的简单性,实现了自身的价值。
WS方式分析
名词说明: WSC: WorkStation Client WSL: WorkStation Listener WSH: WorkStation Handler Server: 小写表示服务器端的服务处理进程
TCP连接是一种C/S模式的,即server端公开自己的IP和端口号,client通过这两个参数与之 建立连接,客户端使用的端口一般是OS临时分配的。 TCP server端一般有两种模式,一种是iterative(重复)的,一种concurrent(并发)的。前 面一种是一个server的进程(应用层)来处理client的请求,处理完了之后继续接受请求来处理, 当server正在处理的过程中,新来的请求得不到处理,只有等待。后面一种是请求到来的时候, server 进程通常会新开一个进程来处理这个请求,自己继续监听公开端口的连接请求。 在TUXEO这种事务处理系统中,会经常有大量的请求,故第一种模式肯定是不行的,第二种模 式虽然可以达到同时处理不同请求的目的,但是由于每次要开新的进程,系统的开销很大,也会 影响性能。 实际中,TUXEDO的Workstation方式采用了另一种方法来实现多请求的并发处理。
WS方式分析
还需要理解的是WSH和server进程之间的关系。真正处理client请求的是server进程,所有的业务 处理,以及和数据库相关的操作都是在server进程中完成的,这也是我们TUXEDO应用开发主要做 的部分。WSH可以看成是WSC在本地的一个代理。WSH收到WSC的请求数据,放在缓冲区,然后发给 server进程来处理,因为在同一台机器上,一般采用本地进程间通信的机制,效率比较高。 Server处理完后将结果返回给WSH,WSH再将结果返回给WSC,这个过程中WSH和WSC是保持着TCP连 接的,而server进程并不直接和WSC打交道。WSH和server之间是多对多的关系,每个WSH可以把请 求发给多个server,每个server也可以接受多个WSH发来的请求。 以上的过程也可以参考下图: ⑤ client 1# ② ① ④ ③ IP:Port
目录 目录
Tuxedo简介 Tuxedo客户端 Tuxedo命令 Tuxedo开发实例 Tuxedo性能优化原则
TUXEDO的客户端
TUXEDO的客户端分为以下几种: 1.Native (本地Biblioteka Baidu户端) 指不经过网络,客户端和TUXEDO Server逻辑上在同一台处理机上.从配置上讲,使用 这种客户端不需要额外的配置就可以直接使用.但是由于TUXEDO主要用于多层或者分布 式的结构,实际使用中,这种客户端一般不会采用. 2.Java Client TUXEDO提供的Java接口. 3.WSC(Workstation Client) 这是TUXEDO最主要的一种客户端,也是使用比较多的.需要在配置文件中添加system supplied server WSL,并给相关参数设置合适的值.还需要通过MAXWSCLIENTS指定最大 的WSC数目. 在客户端方面需要安装TUXEDO客户端,设置环境变量 TUXDIR,并通过 WSNADDR 环境 变量指定TUXEDO服务器的IP和端口.
采用中间件前的两层结构
将应用系统逻辑上分成三个部分: 表示层(用户界面) 业务逻辑数据(Resource Manager)
用户界面 业务逻辑 (1)
Windows IDE (PB,Delphi,VB,VC etc)
RM
RDBMS, File System
Client (2)
Stored Procedure
2000 V7.1 多线程server; 嵌入式 FML; XML 缓冲区; public-private key security ; /Domain MIB 2001 V8.0 增强对CORBA应用的支持, 新的负载均衡机制,提高server和 Domain性能,加强和Weblogic Server的整合 2003 V8.1 目前MISC1.7现网使用的就是该版本。
OLTP:online transcation processing, 大并发,小事务 OLAP :online analyze processing, 小并发,大事务
交易中间件
在产生初期,TUXEDO的定位只是一个在UNIX系统上构建分布式C/S应用程序 的框架。而现在,它已经发展成为一个用于构建、执行和管理高性能、分布式C/S 应用程序的中间件平台,为企业应用程序提供独立于操作系统和网络的软件服务。
V3.0开始支持多机模式(MP),应用集中控制文件(UBBCONFIG),管理命令开始形 成. AT&T architect Tom Bishop命名了TUXEDO,意思是:Transactions for UNIX Extended for Distributed Operations
1989 归到AT&T UNIX系统实验室,首个商业版本4.0发布,支持基于LAN的异构 平台,ATMI事务,支持全局事务的XA接口,typed buffers 1993 Novell 通过得到AT&T UNIX系统实验室得到TUXEDO, 4.2版发布,支持PC 和workstation客户端(/WS),支持mainframes (/HOST),会话模式,稳定的 队列系统(/Q)
server 2#
WSH m# Port tm
server n#
目录 目录
Tuxedo简介 Tuxedo客户端 Tuxedo命令 Tuxedo开发实例 Tuxedo性能优化原则
TUXEDO命令--tmloadcf
环境变量TUXCONFIG必须设定指向二进制TUXCONFIG文件。 tmloadcf -c -n -y : 计算出当前UBB配置的Tuxedo启动最少要占用的系统IPC资源 ,用于管理员配置资源。 进行语法检查并不生成TUXCONFIG。 无条件覆盖TUXCONFIG
TUXEDO的历史
1983AT&T Bell Lab 构建了UNIX-based Transaction System (UNITS),形成 了基于C/S框架的TUX(Transactions for UNIX)
1984发布UNITS 1.0,单机模式(SHM),提供C/S间的请求/响应API,形成 Bulletin Board (BBL). 1986V2.0提高系统可用性,支持重启失败的应用服务进程
WS方式分析
以下是ubb中关于WSL的配置参数: WSL SRVGRP=Group1 SRVID=200 CLOPT="-A -t -- -n //ip:port -m 2 -M 10 -x 5 –T 10" 其中ip:port就是TUXEDO服务器的WSL的监听地址,只有一个WSL进程。 -m参数指定的是启动时WSH的个数, -M为最大个数(用户数大于m*x时系统会自动启动更多的WSH), -x为每个WSH可以多道处理请求的最大数目,可以理解为WSH的请求缓冲区可以存放十个请求, -T 10表示如果client端和server连接后10分钟内没有交易请求则关闭连接。 这样上面的配置在启动后可以处理并发请求 = 2 * 5 = 10 个, 最大可以处理并发请求 = 10 * 5 = 50 个。
WSH 1# Port t1 WSH 2# Port t2
server 1#
WSL
client x# 1.tpinit(), tpchkauth() 2.return address of WSH 3.Informing WSH 4.send request with data 5.Return result set
TUXEDO的历史
2004 V9.0 在Web Service方面做了进一步的加强,提供了XML Schema和FML 之间的双向转换功能。
2006 V9.1 在数据库方面,提供了对Oracle RAC的支持。 2007 V10.0 这个版本的最大特点是增加了TSAM应用监控管理平台。 注:目前BEA公司已经和Oracle合并,后续应该还有新版本的推出。
根据这个配置和相关参数的解释,我们就可以知道TUXEDO采用的处理模式了,TUXEDO在上面TCP的 第二种方式之上进行了改进。监听进程还是只有一个(WSL),但是事先已经起了多个处理请求的进 程(WSH),每个WSH又可以处理多个请求,这样就保证了大量的请求能同时得到处理,也省去了临 时开服务进程的开销。
产品研发部 日期:2011-05
目录 目录
Tuxedo简介 Tuxedo客户端 Tuxedo命令 Tuxedo开发实例 Tuxedo性能优化原则
什么是TUXEDO?
Tuxedo系统是BEA公司的交易中间件产品,由于出现的比较早,并且在各 个方面都具有出色的表现,因此长期以来,它在分布式系统的联机事务处理(OLTP) 领域始终处于领先地位。 为什么现在很少人知道 Tuxedo ,风光不再呢?因为现在大型企业已经完 成核心系统的建设,Tuxedo 在幕后默默无闻地支撑着大型企业的核心业务运行。 20年来,Tuxedo在全球数千家企业的核心业务系统中得到了广泛运用。国 外著名的客户有美国联邦速递公司(FedEx),美国西北航空公司(nwa),VISA国 际组织、大英电信、日本DoCoMo等,国内著名的客户有中国邮政、中国建行、中国 银联、中国电信、中国移动等电信运营商。
TUXEDO的历史
1994 V5.0,支持联合模式(/Domian),支持与OSF的DCE应用通过TxRPC通信
1995 V6.1 提供系统管理编程接口,支持GUI,支持ACL,提供事件代理机制
1999 V6.5 引入Java Online Tuxedo部件和SNMP代理;在系统互连方面,加 入了与Top End和Message Q的连接网关
RDBMS
(Without Business Logic)
Business Logic
引入中间件后的三层结构
将业务逻辑在逻辑和物理上独立出来,可以有自己的操作系统和应用平台.
Client
业务逻辑
RM
C/C++,Win IDE
交易中间件
RDBMS
Browser 终端
Application Server 终端服务器
A = 1420 / 178 = 8 阅读:《UNIX环境高级编程》(Advanced Programming in the UNIX Environment) - W.Richard Stevens
RDBMS
RDBMS
TUXEDO的三层结构
TUXEDO带来的价值
1. 丰富的通信机制:在两层结构中只能实现“请求/应答”式通信,而在 三层结构中则很容易实现同步、异步、嵌套、转发、会话、事件代理、 消息通知、消息队列等通信方式; 2. 灵活性好:与两层结构比,三层结构提供了最大的灵活性是可扩展性。 三层结构中的每一层都是独立的,系统容量可以在项目实施后进行动 态调整。例如:可以在中间层部署更多的主机来提高业务处理能力, 可以在客户端部署更多的前置机满足营业网点增长的需要; 3. 可靠性高:中间应用服务层可以通过集群、负载均衡和容错机制来提 供高可靠性和可用性,真正做到7×24小时不间断对外提供服务; 4. 可移植性好:Tuxedo屏蔽了编程语言、操作系统、数据库和网络协议 的异构性,使得构筑在这些系统上的应用程序可以轻而易举的移植到 其他平台上; 5. 可管理性强:在三层结构中,由于业务逻辑都部署在应用服务器上, 因此很容易实现集中式管理。可以通过操作系统。
作为一个交易中间件,首先,Tuxedo具有空前的联机交易性能、高度的可靠 性和无限的伸缩性,它提供了一个开放应用环境,可以有效的整合企业级OLTP系统、 数据库、网络和主机遗留系统资源,用户可以用它来开发、管理和部署独立于底层 硬件、数据库、操作系统和网络的分布式应用系统。
其次,Tuxedo系统屏蔽了底层硬件、数据库、操作系统和网络的复杂性,为 客户应用系统提供了统一、简单的编程接口,简化了应用系统的开发和集成,使程 序员可以把精力集中在业务逻辑的实现上,从而大大的提高了开发质量和效率,缩 短了开发周期,减少了系统的开发和维护成本。Tuxedo以自身的复杂性换来了客户 应用开发的简单性,实现了自身的价值。
WS方式分析
名词说明: WSC: WorkStation Client WSL: WorkStation Listener WSH: WorkStation Handler Server: 小写表示服务器端的服务处理进程
TCP连接是一种C/S模式的,即server端公开自己的IP和端口号,client通过这两个参数与之 建立连接,客户端使用的端口一般是OS临时分配的。 TCP server端一般有两种模式,一种是iterative(重复)的,一种concurrent(并发)的。前 面一种是一个server的进程(应用层)来处理client的请求,处理完了之后继续接受请求来处理, 当server正在处理的过程中,新来的请求得不到处理,只有等待。后面一种是请求到来的时候, server 进程通常会新开一个进程来处理这个请求,自己继续监听公开端口的连接请求。 在TUXEO这种事务处理系统中,会经常有大量的请求,故第一种模式肯定是不行的,第二种模 式虽然可以达到同时处理不同请求的目的,但是由于每次要开新的进程,系统的开销很大,也会 影响性能。 实际中,TUXEDO的Workstation方式采用了另一种方法来实现多请求的并发处理。
WS方式分析
还需要理解的是WSH和server进程之间的关系。真正处理client请求的是server进程,所有的业务 处理,以及和数据库相关的操作都是在server进程中完成的,这也是我们TUXEDO应用开发主要做 的部分。WSH可以看成是WSC在本地的一个代理。WSH收到WSC的请求数据,放在缓冲区,然后发给 server进程来处理,因为在同一台机器上,一般采用本地进程间通信的机制,效率比较高。 Server处理完后将结果返回给WSH,WSH再将结果返回给WSC,这个过程中WSH和WSC是保持着TCP连 接的,而server进程并不直接和WSC打交道。WSH和server之间是多对多的关系,每个WSH可以把请 求发给多个server,每个server也可以接受多个WSH发来的请求。 以上的过程也可以参考下图: ⑤ client 1# ② ① ④ ③ IP:Port
目录 目录
Tuxedo简介 Tuxedo客户端 Tuxedo命令 Tuxedo开发实例 Tuxedo性能优化原则
TUXEDO的客户端
TUXEDO的客户端分为以下几种: 1.Native (本地Biblioteka Baidu户端) 指不经过网络,客户端和TUXEDO Server逻辑上在同一台处理机上.从配置上讲,使用 这种客户端不需要额外的配置就可以直接使用.但是由于TUXEDO主要用于多层或者分布 式的结构,实际使用中,这种客户端一般不会采用. 2.Java Client TUXEDO提供的Java接口. 3.WSC(Workstation Client) 这是TUXEDO最主要的一种客户端,也是使用比较多的.需要在配置文件中添加system supplied server WSL,并给相关参数设置合适的值.还需要通过MAXWSCLIENTS指定最大 的WSC数目. 在客户端方面需要安装TUXEDO客户端,设置环境变量 TUXDIR,并通过 WSNADDR 环境 变量指定TUXEDO服务器的IP和端口.
采用中间件前的两层结构
将应用系统逻辑上分成三个部分: 表示层(用户界面) 业务逻辑数据(Resource Manager)
用户界面 业务逻辑 (1)
Windows IDE (PB,Delphi,VB,VC etc)
RM
RDBMS, File System
Client (2)
Stored Procedure
2000 V7.1 多线程server; 嵌入式 FML; XML 缓冲区; public-private key security ; /Domain MIB 2001 V8.0 增强对CORBA应用的支持, 新的负载均衡机制,提高server和 Domain性能,加强和Weblogic Server的整合 2003 V8.1 目前MISC1.7现网使用的就是该版本。
OLTP:online transcation processing, 大并发,小事务 OLAP :online analyze processing, 小并发,大事务
交易中间件
在产生初期,TUXEDO的定位只是一个在UNIX系统上构建分布式C/S应用程序 的框架。而现在,它已经发展成为一个用于构建、执行和管理高性能、分布式C/S 应用程序的中间件平台,为企业应用程序提供独立于操作系统和网络的软件服务。
V3.0开始支持多机模式(MP),应用集中控制文件(UBBCONFIG),管理命令开始形 成. AT&T architect Tom Bishop命名了TUXEDO,意思是:Transactions for UNIX Extended for Distributed Operations
1989 归到AT&T UNIX系统实验室,首个商业版本4.0发布,支持基于LAN的异构 平台,ATMI事务,支持全局事务的XA接口,typed buffers 1993 Novell 通过得到AT&T UNIX系统实验室得到TUXEDO, 4.2版发布,支持PC 和workstation客户端(/WS),支持mainframes (/HOST),会话模式,稳定的 队列系统(/Q)
server 2#
WSH m# Port tm
server n#
目录 目录
Tuxedo简介 Tuxedo客户端 Tuxedo命令 Tuxedo开发实例 Tuxedo性能优化原则
TUXEDO命令--tmloadcf
环境变量TUXCONFIG必须设定指向二进制TUXCONFIG文件。 tmloadcf -c -n -y : 计算出当前UBB配置的Tuxedo启动最少要占用的系统IPC资源 ,用于管理员配置资源。 进行语法检查并不生成TUXCONFIG。 无条件覆盖TUXCONFIG
TUXEDO的历史
1983AT&T Bell Lab 构建了UNIX-based Transaction System (UNITS),形成 了基于C/S框架的TUX(Transactions for UNIX)
1984发布UNITS 1.0,单机模式(SHM),提供C/S间的请求/响应API,形成 Bulletin Board (BBL). 1986V2.0提高系统可用性,支持重启失败的应用服务进程
WS方式分析
以下是ubb中关于WSL的配置参数: WSL SRVGRP=Group1 SRVID=200 CLOPT="-A -t -- -n //ip:port -m 2 -M 10 -x 5 –T 10" 其中ip:port就是TUXEDO服务器的WSL的监听地址,只有一个WSL进程。 -m参数指定的是启动时WSH的个数, -M为最大个数(用户数大于m*x时系统会自动启动更多的WSH), -x为每个WSH可以多道处理请求的最大数目,可以理解为WSH的请求缓冲区可以存放十个请求, -T 10表示如果client端和server连接后10分钟内没有交易请求则关闭连接。 这样上面的配置在启动后可以处理并发请求 = 2 * 5 = 10 个, 最大可以处理并发请求 = 10 * 5 = 50 个。
WSH 1# Port t1 WSH 2# Port t2
server 1#
WSL
client x# 1.tpinit(), tpchkauth() 2.return address of WSH 3.Informing WSH 4.send request with data 5.Return result set
TUXEDO的历史
2004 V9.0 在Web Service方面做了进一步的加强,提供了XML Schema和FML 之间的双向转换功能。
2006 V9.1 在数据库方面,提供了对Oracle RAC的支持。 2007 V10.0 这个版本的最大特点是增加了TSAM应用监控管理平台。 注:目前BEA公司已经和Oracle合并,后续应该还有新版本的推出。
根据这个配置和相关参数的解释,我们就可以知道TUXEDO采用的处理模式了,TUXEDO在上面TCP的 第二种方式之上进行了改进。监听进程还是只有一个(WSL),但是事先已经起了多个处理请求的进 程(WSH),每个WSH又可以处理多个请求,这样就保证了大量的请求能同时得到处理,也省去了临 时开服务进程的开销。