由浅入深Tuxedo管理.docx
- 文档编号:26132249
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:51
- 大小:105.68KB
由浅入深Tuxedo管理.docx
《由浅入深Tuxedo管理.docx》由会员分享,可在线阅读,更多相关《由浅入深Tuxedo管理.docx(51页珍藏版)》请在冰豆网上搜索。
由浅入深Tuxedo管理
由浅入深Tuxedo管理
第一章申明与BEATuxedo8.xforAdministrators课程介绍
一、申明
本系列由gototop编写,文章参考了网上的部分内容,在此一并致谢,目的在于希望给广大Tuxedo初学者一个完整的参考,如果你也是做管理的,那么他们最适合你不过了。
二、BEATuxedo8.xforAdministrators
注:
本部分摘自BEA中国网站,关于BEA其他培训内容参见:
。
课程编号
TUX-A11
课程描述
这个5天的课程提供了BEATUXEDO基础配置技能和管理,系统和应用程序管理的环境。
除BEATUXEDO的核心特性外还包括分布式交易、队列和域的概念。
此BEATUXEDO适用于BEATUXEDO6.5、7.1或8.x产品版本的管理人员和学员学习。
主要内容:
·获得BEATUXEDO应用系统配置和管理。
·了解BEATUXEDO的一些配置问题。
·学习如何配置和管理BEATUXEDO的特性如:
分布式事务处理、队列和域。
课程主题
·安装BEATUXEDO产品。
·配置、部署和管理BEATUXEDO的应用程序。
·监控BEATUXEDO的应用程序环境。
·可用性和性能问题。
·配置和管理BEATUXEDO的特性,例如:
安全性、分布式事务处理、存储转发队列、域。
·在BEATUXEDO中存取信息。
适用对象
系统和应用程序管理员。
前提要求
·了解客户机/服务器的概念。
·基本的系统管理经验(使用基本的实用系统工具,使用TCP/IP网络地址)。
课程时间
5天。
第二章中间件的基本概念
一、中间件的基本概念
随着对各种旧有应用的不断扩充和新应用的不断增加,各企业IT部门面临的问题也越来越多,诸如不同硬件平台、不同网络环境、不同数据库之间的互操作,多种应用模式并存,系统效率过低,传输不可靠,数据加密,开发周期过长,等等,这些问题如果单纯依赖传统的系统软件或工具软件提供的功能已经不能满足要求,诸如此类的问题使人们开始关注中间件。
中间件是在计算机硬件和操作系统之上,支持应用软件开发和运行的系统软件,它能够使应用软件相对独立于计算机硬件和操作系统平台,为当今的大型分布式应用搭起了一个标准的平台,把大型企业分散的系统和技术组合在一起,实现大型企业应用软件系统的集成。
中间件目前还没有一个明确的定义,通常的定义为:
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通讯。
从中间件的定义可以看出,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作,并具有强大的网络通讯功能。
中间件具有标准的程序接口和协议,可以实现不同硬件和操作系统平台上的数据共享和应用互操作。
在具体实现上,中间件是一个用API定义的分布式软件管理框架,具有强大的通信能力和良好的可扩展性。
从理论上讲,中间件有以下的工作机制:
客户端上的应用程序需要从网络中的某个地方获取一定的数据或服务,这些数据或服务可能处于一个运行着不同操作系统和特定查询语言数据库的服务器中。
而C/S应用程序中负责寻找数据的部分只需访问一个中间件系统,由中间件完成到网络中找到数据源或服务,进而传输客户请求、重组答复信息,最后将结果送回应用程序的任务。
二、中间件的分类
中间件的产品种类很多,根据中间件在系统中所起的作用和采用的技术不同,大致划分为以下五种:
数据库中间件(DM,DatabaseMiddleware)
数据库中间件在所有的中间件中是应用最广泛,技术最成熟的一种。
一个最典型的例子就是ODBC,ODBC是一种基于数据库的中间件标准。
不过在数据库中间件处理模型中,数据库是信息存贮的核心单元,中间件完成通信的功能,这种方式虽然是灵活的,但是并不适合于一些要求高性能处理的场合,因为它需要大量的数据通信,而且当网络发生故障时,系统将不能正常工作。
所谓有得必有失,就是这个道理,系统的灵活性提高是以处理性能的降低为代价的。
远程过程调用中间件(RPC,RemoteProcedureCall)
远程过程调用是另外一种形式的中间件,它在客户/服务器计算方面,比数据库中间件又迈进了一步。
它已经存在了相当长的时间,而且沿用了大多数程序员都非常熟悉的编程模式-程序员就像调用本地过程一样在程序中调用远程过程。
启动远程过程的运行,然后将运行结果返回给本地程序。
不但如此,远过程调用还可以将程序的控制传递到远端的服务器当中去。
RPC的灵活特性使得它有比数据库中间件更广泛的应用,它可以应用在更复杂的客户/服务器计算环境中。
远过程调用的灵活性还体现在它的跨平台性上面,它不仅可以调用远端的子程序,而且这种调用是可以跨不同操作系统平台的,而程序员在编程时并不需要考虑这些细节。
RPC也有一些缺点,主要是因为RPC一般用于应用程序之间的通信,而且采用的是同步通信方式,因此对于比较小型的简单应用还是比较适合的,因为这些应用通常不要求异步通信方式。
但是对于一些大型的应用,这种方式就不是很适合了,因为此时程序员需要考虑网络或者系统故障,处理并发操作、缓冲、流量控制以及进程同步等一系列复杂问题。
面向消息中间件(MOM,MessageOrientedMiddleware)
消息中间件的优点在于能够在客户和服务器之间提供同步和异步的连接,并且在任何时刻都可以将消息进行传送或者存储转发,这也是它比远程过程调用更进一步的原因。
另外消息中间件不会占用大量的网络带宽,可以跟踪事务,并且通过将事务存储到磁盘上实现网络故障时系统的恢复。
当然和远程过程调用相比,消息中间件不支持程序控制的传递,不过这种功能和它的优势比起来却是无关紧要的。
消息中间件适用于需要在多个进程之间进行可靠的数据传送的分布式环境。
基于对象请求代理(ORB,ObjectRequestBroker)的中间件
对象请求代理是近年来才发展起来的一项新技术,它可以看作和编程语言无关的面向对象的RPC应用,被视为从面向对象过渡到分布式计算的强大推动力量。
从管理和封装的模式上看,对象请求代理和远过程调用有些累死,不过对象请求代理可以包含比远过程调用和消息中间件更复杂的信息,并且可以适用于非结构化的或者非关系型的数据。
目前有两种对象请求代理的标准,分别是CORBA和DCOM,这两种标准是相互竞争的,而且两者之间有很大的区别,这在一定程度上阻碍了对象请求代理中间件的标准化进程。
事务处理中间件(TPM,TransactionProcessingMonitor)
事务处理中间件是一种复杂的中间件产品,是针对复杂环境下分布式应用的速度和可靠性要求而实现的。
它给程序员提供了一个事务处理的API,程序员可以使用这个程序接口编写高速而且可靠的分布式应用程序-基于事务处理的应用程序。
事务处理中间件向用户提供一系列的服务,如应用管理,管理控制,已经应用程序间的消息传递等。
常见的功能包括全局事务协调、事务的分布式两段提交、资源管理器支持、故障恢复、高可靠性、网络负载平衡等等。
三、中间件技术的发展趋势
根据有关组织的预测,消息中间件是目前中间件技术的发展热点,如果也把交易中间件看成是一类特殊的消息中间件的话,那么消息中间件在目前的市场上占据主导地位,而且发展势头迅猛。
消息中间件以其独特的优势为各种分布式应用的开发注入了强大动力,极大地推动了应用系统集成的发展。
对象中间件技术也发展迅速,各大硬软件厂商都在积极参与有关标准的制定和产品开发工作,象IBM、HP、DEC、AT&T、ICL、Microsoft等都制定了相应的战略。
许多对象中间件的专门厂商也相继诞生,未来的对象中间件市场会出现群雄逐鹿的局面。
中间件的另一个发展动向是向Internet的延伸,Internet/Intranet技术早已在全球范围内广泛采用,但由于其自身的技术特点,在构造许多大型企业级应用时仍显不足,如并发控制、负载均衡、可靠传输、数据路由等,因而仍然存在供中间件发展的中间地带。
总之,中间件技术作为软件行业新崛起的一个崭新的分支,正在全球范围内迅猛发展,根据IDC组织的预测,到2002年,全球的中间件市场将达到70亿美元。
中间件技术的发展,也将把分布式应用的带到一个新的境界。
第三章BEATuxedo简介
随着中间件在大型应用系统中的日益普及,目前各类中间件充斥着市场,它们在银行、电信、金融等大规模关键事务领域中的整合各种异构平台、保证交易完整性等方面表现出了超强的能力。
BEATuxedo就是其中一款著名的交易中间件,本文以一个经典的例子(大写字母转换),主要介绍Tuxedo的工作原理及开发方法,以及Tuxedo应用程序的管理方法。
工作原理
Tuxedo是BEA公司的交易中间件产品,目前最新版本伟Tuxedo8.1。
1984年由贝尔实验室开发成功,1992年易主Novell公司,1996年由BEA公司收购,经过十多年的不断更新和完善,Tuxedo已经发展成为交易中间件领域事实上的标准。
Tuxedo可以有效地整合企业异构C/S系统,实现大规模的关键业务处理和分布式事务管理,从而为企业提供一个可靠的、高性能的、易维护的三层分布式计算机环境。
图1展示了一个基本Tuxedo系统的组成和工作原理。
图1
① Client向System/T发出查询请求,以找到Server消息队列的地址;
② Client根据找到的入口地址将请求发送到Server的消息队列中;
③ Server处理请求,并将结果返回给Client的消息队列。
System/T是Tuxedo系统的核心,它实现了Tuxedo的所有功能和特征,如C/S数据流管理、服务请求的负载均衡、全局事务管理以保证交易的完整性、同步/异步服务请求、两阶段提交以确保消息的发送等。
System/T提供了一个类似公告栏的服务,用以发布C/S计算机环境中所有服务器、服务和客户机的信息,供其它分布式计算的参与者使用。
第四章BEATuxedo8.1的安装与应用介绍
一、BEATuxedo8.1的安装
我们实际用的是Tuxedo8.0forTru64Unix,为了更好地了解Tuxedo,所以就down了一个win版本的了。
Tuxedo8.1软件及相应license文件lic.txt下载地址:
环境:
Tuxedo8.1+Windows2000Professional
安装准备:
如果原来有安装过,想卸载掉原有版本,就注意一定要停止当前运行的Tuxedo相关服务,卸栽后最好删除相关注册表,否则像安装目录等将无法更改。
下面是详细安装过程,在此过程钟,我将同时解释相关术语。
1、 FullInstall
2、 ChooseBEAHomeDirectory:
D:
\Bea
3、 ChooseProductDirectory:
D:
\bea\tuxedo8.1
4、 开始安装
5、 CreatetlistenPassword:
输入你想设定的密码
这里需要解释一下,tlistenpassword其实就是Tuxedo的管理员密码,Tuxedo使用密码机制来防止未授权的管理请求与操作(如:
tmboot等)。
当有管理请求通过tlisten和wlisten进程到达本机时,Tuxedo会校验密码。
密码长度不超过80即可。
需要注意的是,为确保通讯成功,在同一个Tuxedo域中的两台机器应该拥有一个公共密码。
因此当在同一个域中安装多台机器时,必须使用相同的密码。
如果安装时提供的密码不相同,我们可以在tlisten.pw文件中添加相应的密码,正因为如此,我们可能拥有不止一个管理员密码,而一个tlisten.pw文件可以包含多达20个密码,每个密码为一行。
Tlisten.pw存放于$TUXDIR/udataobj下,注意设个该文件的读写权限,应该只有管理员才能读写。
6、 WouldyouliketoconfigureLDAPforSSLSupport?
回答Yes
这里需要解释两个概念:
1)LDAP,LightweightDirectoryAccessProtocol,轻量级目录访问协议。
LDAP是一个用来发布目录信息到许多不同资源的协议,提供客户从各个角落连接到目录服务器中。
通常它都作为一个集中的地址本使用,不过根据组织者的需要,它可以做得更加强大。
LDAP最基本的形式是一个连接数据库的标准方式。
该数据库为读查询作了优化。
因此它可以很快地得到查询结果,不过在其它方面,例如更新,就慢得多。
要特别注意的是,LDAP通常作为一个hierarchal数据库使用,而不是一个关系数据库。
因此,它的结构用树来表示比用表格好。
正因为这样,就不能用SQL语句了。
简单说来,LDAP是一个得到关于人或者资源的集中、静态数据的快速方式。
LDAP是一种特殊的数据库。
但是LDAP和一般的数据库不同,明白这一点是很重要的。
LDAP对查询进行了优化,与写性能相比LDAP的读性能要优秀很多。
2)SSL,SecureSocketLayer,加密套接字协议层。
SSL是一种保证网络安全的协议,它在原有TCP/IP结构的传输层和应用层之间提供一个额外的层。
作为SSL的基础,TCP不能够对用户的连接进行识别和加密。
这就让黑客能够伪造用户的通信并捕捉网络上非经加密的数据。
而SSL相反,使用其两个子协议就既能够保证用户的身份又能够确保数据的安全:
∙SSL记录协议,用来定义数据传输的格式
∙SSL握手协议,用来定义数据交换的处理
7、 Wouldyouliketoinstallyourlicensenow?
回答yes,选择好License文件的位置开始安装,默认是ProductDirectory。
至此安装全部结束,过程还是很简单的。
下面我将通过一个大写字母转换的简单例子,讲述Tuxedo应用程序工作的基本原理。
二、应用介绍
Simpapp是Tuxedo系统自带的一个例子,它由服务器和客户端程序两部分组成。
服务器simpserv实现了一个TOUPPER服务,它从客户程序接收一个字符串,将它转换成大写后,传回客户端。
整个工作流程可以用图2表示。
图2
客户机首先收集要转换成大写的字符串,然后连接到System/T并将字符串放入缓冲区,接着调用服务器上的TOUPPER服务,最后从服务器响应缓冲区中取出数据并退出System/T。
下面配置和运行simpapp的详细过程,需要说明的是,这个过程必须用administrator来做,其他即使是administrators组的用户都不行。
另外由于Buildclient和Buildserver没有编译能力,要编译Tuxedo应用程序时,还必须安装第三方的C语言编译器,我这里用的是VC(推荐使用)。
1、复制simpapp
simpapp存放在ProductDirectory\samples\atmi\simpapp下,对应我机器上的D:
\bea\tuxedo8.1\samples\atmi\simpapp。
为方便实验,我先将simpapp目录复制到E:
\tuxedo下。
2、配置环境变量
我的电脑-〉属性-〉高级-〉环境变量,在Administator的用户变量中添加:
TUXDIR=“D:
\BEA\Tuxedo8.1”
TUXCONFIG=“E:
\tuxedo\SimpApp\tuxconfig”
检查PATH包含“D:
\BEA\Tuxedo8.1\bin”,否则加上
检查LIB包含“D:
\bea\tuxedo8.1\lib”,否则加上
这些环境变量在simpapp目录下setenv.bat文件中有详细说明。
3、检查并编译客户程序
客户程序Simpcl.c是服务调用的发起者,它从命令行接收参数,通过tpinit()调用连接到System/T,通过tpalloc()调用分配一个字符串类型的缓冲区,通过tpcall()调用请求TOUPPER服务,最后通过tpterm()调用退出System/T。
运行cmd进入E:
\tuxedo\simpapp目录运行:
buildclient-osimpcl-fsimpcl.c
4、检查并编译服务程序
E:
\tuxedo\simpapp>buildserver-osimpserv-fsimpserv.c-sTOUPPER
5、编辑并加配置文件
用写字板打开配置文件ubbsimple,修改相关设置项,文件中有详细提示。
但需要注意的是,在windows下的机器名必须是大写的,且不带域信息(如果你用了域的话),即使你在“我的电脑-〉属性-〉网络标示”中看到的是小写。
我们可以在cmd中通过下面的命令来确认机器名:
D:
\>echo%COMPUTERNAME%
CHENGYX
而在UNIX中我们可以通过uname–n来确定。
如果机器名不符合上面的要求将会用下面的错误出现:
CMDTUX_CAT:
868:
ERROR:
tmloadcfcannotrunonanon-masternode
下面是ubbsimple的详细内容,有改动的地方我已注明。
# (c)2003BEASystems,Inc.AllRightsReserved.
#ident "@(#)samples/atmi/simpapp/ubbsimple $Revision:
1.5$"
#SkeletonUBBCONFIGfilefortheTUXEDOSimpleApplication.
#Replacethe
*RESOURCES
IPCKEY 123456#
#Example:
#IPCKEY 123456
DOMAINID simpapp
MASTER simple
MAXACCESSERS 10
MAXSERVERS 5
MAXSERVICES10
MODEL SHM
LDBAL N
*MACHINES
DEFAULT:
APPDIR="E:
\tuxedo\simpapp" #"
TUXCONFIG="E:
\tuxedo\simpapp\tuxconfig"#"
TUXDIR="D:
\bea\tuxedo8.1" #"
#Example:
# APPDIR="/home/me/simpapp"
# TUXCONFIG="/home/me/simpapp/tuxconfig"
# TUXDIR="/usr/tuxedo"
CHENGYXLMID=simple#这个地方改过,前面的
#Example:
#beatux LMID=simple
*GROUPS
GROUP1
LMID=simpleGRPNO=1OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP1SRVID=1
*SERVICES
TOUPPER
编辑好后保存,然后在刚才的那个cmd窗口下运行如下命令生成tuxconfig二进制配置文件:
tmloadcfubbsimple
InitializeTUXCONFIGfile:
/usr/me/simpdir/tuxconfig[y,q]?
y
6、启动应用程序
E:
\tuxedo\simpapp>tmboot
Bootalladminandserverprocesses?
(y/n):
y
7、执行运行时应用程序
E:
\tuxedo\simpapp>simpcl"welcometo"
Returnedstringis:
WELCOMETOWWW.NCN.CN
8、 关闭应用程序
E:
\tuxedo\simpapp>tmshutdown
Shutdownalladminandserverprocesses?
(y/n):
y
第五章UNIX平台Tuxedo的安装与升级方法
一、安装
1、将安装程序的打包文件FTP到服务器上;
2、建立tuxedo用户,设置必要的环境变量等;
3、以tuxedo用户登录(必须重新登录,不能使用su–tuxedo_user),用TAR开打包文件;
4、将install.sh设置为可执行;
5、执行install.sh开始安装;过程中询问:
是否安装所有的包,输入:
all或回车选择默认(all);
6、接着询问只安装Client还是Both(Server和Client),我们选择Both;
7、下一步询问tuxedo的安装目录,我们选择/tuxedo(此目录选择建立tuxedo用户的$HOME目录),系统接着提示WebGUI的安装路径等信息,我们选择默认,敲入回车;
8、安装要求输入tlisten的密码:
tuxedo(任意输入,必须记住),如果忘记,可以到$TUXDIR/udataobj/tlisten.pw看到;
9、安装过程中需要一个license文件:
lic.txt,在安装过程中,我们不安装,我们手动ftp到$TUXDIR/udataobj目录下。
二、升级
1、将需要的patchFTP到服务器上,解压解包;
2、关闭Tuxedo应用和tlisten进程,可以kill掉相关进程;
3、确认TUXDIR正确指向原来的安装目录;
4、以tuxedo用户登录,运行install;
5、根据提示输入tuxedo用户名和属组,很快就会升级完成;
6、重新启动tuxedo应用和tlisten。
三、tuxedo软件目录结构介绍
$TUXDIR/apps包含一些应用例子程序
$TUXDIR/bin包含可执行文件
$TUXDIR/cobincludeCOBOL程序使用的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 由浅入深 Tuxedo 管理