《TUXEDO学习手册》由会员分享,可在线阅读,更多相关《TUXEDO学习手册(59页珍藏版)》请在金锄头文库上搜索。
1、TUXEDO基础培训教程V1.0.0神州数码思特奇 黑龙江分支营业组2008-4-13目录目录21.TUXEDO系统概述.41.1 客户机/服务器体系结构41.2 什么是TUXEDO系统61.2 TUXEDO核心系统组成71.3 TUXEDO应用程序工作原理101.4 远程客户端与WSL原理111.5 TUXEDO系统的关键特性122. TUXEDO系统配置162.1 配置文件162.2 信息内容172.3 生成TUXCONFIG文件202.4 关于MSSQ的配置212.5远程客户端配置222.6 Tuxedo Domains配置233. TUXEDO的缓冲区273.1 概述273.2 FML
2、缓冲区273.2 FML域表文件293.3与缓冲区使用有关的函数323.4 程序中的例子344. TUXEDO应用程序开发354.1 常用的ATMI364.2 BEA Tuxedo系统提供多种通信模式424.3 同步的Request/Response模式434.4 TUXEDO程序基本结构434.5 启动和关闭应用程序475. IPC角度理解TUXEDO的原理及结构495.1 概述495.1 信号灯515.2 消息队列515.3 共享内存515.4 实验过程和结果536. TUXEDO性能优化59附录:61A用TCP连接分析TUXEDO的WS模式61B关于TUXEDO 负载均衡和MSSQ的探讨
3、61C化繁为简来学习编写BEA TUXEDO会话的程序61DTUXEDO超时控制全功略61E将Tuxedo Service 发布成 Web Service61F使用LoadRunner来测试BEA TUXEDO62G. 基于系统真实数据的TUXEDO应用服务器压力测试的研究与实现62H. 配置WebLogic Tuxedo Connector62I. 用VC6.0和FML结合进行远程文件传输621. TUXEDO系统概述1.1 客户机/服务器体系结构企业计算模式的发展大致经历了这样三个阶段:l 以大型机为核心的“主机/终端”模式;l 以文件服务为核心的“文件服务器”模式;l 以数据服务为核心的
4、“客户机/服务器”模式。“客户机/服务器”模式可以分为以数据库管理系统(DBMS)为核心的两层结构和以中间件(或称为应用服务器)为核心的多层结构。典型的两层结构模型为:服务器端运行关系数据库,负责提供数据服务,所有应用逻辑和用户界面都安装在客户端,客户机与服务器通过“请求/应答”(Request/Response)进行业务逻辑处理。但是随着应用规模的扩大,逐渐暴露诸多缺陷:l 无法处理大并发量的用户请求;l 系统可移植性差;l 系统可扩展性差;l 不支持分布式事务;l 可管理性差;l 不具有动态伸缩性。Client1Client2Client3Server1Server2Server3图1-1
5、 两层客户机/服务器模型完全互联时形成的MN网状结构把两层结构中部署在客户机和服务器上的业务逻辑抽取出来,单独放到一个中间层上去处理,就构成了三层结构。客户机只处理表示(Presentation)逻辑,即显示用户界面、接收用户输入数据、提交交易请求、显示交易处理结果;应用服务器只处理应用(Application)逻辑,即负责维护客户机和服务器之间的通信连接,提供命名、通信、事务、安全、并发、持久性、负载均衡等应用服务。后台数据库(DBMS)只提供数据服务,即负责提供数据存储、查询、复制等服务。Client1Client2Client3PresentationServer1Server2Serv
6、er3DBMSApplication Server1Application Server2Application图1-2 三层客户机/服务器结构的逻辑图(M+N互联模型)表示层、应用逻辑层和数据层在物理分布上是非常灵活的,它们既可以同时分布在同一台主机上,也可以分布在不同的主机上。根据业务需求,可以对应用服务层再进行扩展,形成多层结构。三层或多层结构有如下一些优势:l 服务连接池机制;l 丰富的通信机制;l 支持分布式事务;l 可移植性好;l 可管理性强;l 可靠性高;l 灵活性和扩展性好。按照服务形式的不同,可以将C/S模型分为以数据请求为核心的会话模型和以服务请求为核心的联机事务处理(On
7、line Transaction Processing,OLTP)模型。在以数据请求为核心的模型中,客户机给服务器发送SQL指令,服务器给客户机返回数据;在以服务请求为核心的模型中,客户机给服务器发送服务请求,服务器执行业务逻辑并给客户机一个响应。OLTP系统最大的特点是并发用户数量大,突发性强,交易时间短,输入输出格式固定。大多数OLTP系统都有多个资源管理器来提供数据服务,因此需要借助事务管理器(TM)来协调分布式事务。1.2 什么是TUXEDO系统“TUX has been Extended for Distributed Operation!”Tuxedo是BEA公司的交易中间件产品,
8、1984年由贝尔实验室开发成功,1992年易主Novell公司,1996年由BEA公司收购,经过十多年的不断更新和完善,Tuxedo已经发展成为交易中间件领域事实上的标准。BEA Tuxedo是在企业、Internet这样的分布式运算环境中,开发和管理三层结构的“客户/服务器”关键业务系统的平台软件。它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。它提供了一个开放的环境,支持各种各样的客户、数据库、网络、遗留系统和通讯方式,使得开发人员能够利用它建立跨硬件平台、数据库和操作系统的交互应用系统。作为一种成熟的中间件产品,TUXEDO在大规模关键事务领域
9、中的整合各种异构平台、保证交易完整性等方面表现出了超强的能力。Tuxedo可以有效地整合企业异构C/S系统,实现大规模的关键业务处理和分布式事务管理,从而为企业提供一个可靠的、高性能的、易维护的三层分布式计算机环境。在企业分布式联机交易系统OLTP(online transaction processing)中,TUXEDO常常作为一个事务管理器(TM)来协调分布式事务;在构建多层C/S应用系统中,TUXEDO经常以一个中间件的角色部署在客户机和服务器之间,提供应用服务;在构建企业级应用系统中,TUXEDO经常以一个应用服务器平台的角色出现,为企业应用提供一个部署环境和运行环境。Clients
10、TUXEDOServersTMRequestResponseORACLEDB2SQLDATAERPLegacyApplicationRM1RM2图1-3 TUXEDO的应用服务器模型1.2 TUXEDO核心系统组成Tuxedo的应用程序是以业务逻辑服务、由这些逻辑服务组织成的高层服务器组件和在服务器结点环境中的组件分布为特征的。支持这种虚拟主机环境的Tuxedo元素,包括配置信息库和实现运行时应用管理的核心子系统。限于篇幅的限制,这里只对核心子系统作简单介绍。可靠队列服务事务管理器域网关TUXEDO域可靠队列服务事务管理器域网关TUXEDO域工作站工作站图1-4 TUXEDO核心系统组成BEA
11、 Tuxedo 是由服务器端的事务管理器、可靠队列服务、应用域及客户端工作站等组成。1. 公告板BBTuxedo应用配置文件被映射到一个运行时数据结构:公告板(BB)。BB 作为一个从配置文件中派生出来的共享信息库,驻留在每个参与到由配置文件指定的应用程序的Tuxedo的服务器结点上。BB不仅作为分布式应用的名字服务数据库,提供分布式环境下的应用对象的位置信息,还作为应用统计数据的运行时仓库。BB由Tuxedo核心例程(对应用开发者透明)访问,由核心例程读/修改BB库。这个信息库提供Tuxedo完成动态客户/服务器映射所需的信息,同时也提供完成诸如负载平衡、 安全性和事务协调等功能的信息。2.
12、 事务管理器/T事务管理器运行于服务器端,既是Tuxedo 体系结构的中心,也是每个Tuxedo服务器的核心,提供重要的分布式应用服务,包括:命名、消息路由、负载平衡、配置管理、事务管理和安全性。它也包含BB结构,使用维护和访问BB信息的服务。换句话说,BB内包含有执行和管理大规模的基于组件的应用程序所需的所有信息,它将对事务管理器进程起作用。客户请求到达驻留在服务器上的客户代理进程,服务器通过注册参加到该应用中。作为客户方通讯的一部分,事务管理器访问BB,然后选择服务器,接着,服务器消息队列的地址被返回,客户方的请求被马上传送到合适的队列等待服务为它进行处理。3. 工作站/WS工作站把Tux
13、edo ATMI API扩展到客户应用程序中,使得平台透明化。使用ATMI的客户端程序,可以访问在Tuxedo分布式环境中任何地方的服务。一个多路网关进程,称为工作站监听进程(WSL),驻留在Tuxedo应用服务器上,配合工作站处理进程Workstation Handler(WSH),处理工作站和事务管理器应用服务之间的通讯。WSL把来自大量客户应用程序的请求,会聚到Tuxedo事务管理器,以便完成所管辖的服务。4. 可靠队列服务/QTUXEDO/Q是TUXEDO的一个重要的子系统,它为分布式联机事务处理应用程序提供了一种准实时的异步通信方式,支持持久和非持久的消息存储机制,提供面向事务的消息
14、存取和转发机制,以及多样化的出队机制。在这种通信方式下,通信的一方是消息发送者,它的职能是把消息放入消息队列;另一方是消息接收者,它的职能是从消息队列中提取消息。它为每一个消息提供了一个控制块,以便TUXEDO/Q和应用程序对消息的传输方式和过程进行控制跟踪。TUXEDO/Q可以保证消息以“Exactly-Only-Once”的服务质量进行传递。在任何情况下,任何一条消息都不会被重传,也不会被丢失。5. 域/DOMAIN为了有效实现与其他系统的互连,TUXEDO提出了DOMAIN的概念,将很多台服务器共同组成的应用系统按按功能或结构划分不同的域,每个域独立完成域内的操作,域间操作由域网关完成,
15、从而提高每个域和整个系统的运行效率。这些域可以分布在不同的地理位置,域和域之间可以通过局域网或广域网连接在一起。如果一个应用系统只由一个域构成,则通常称之为单域应用系统;如果由多个域构成,则称之为多域应用系统。TUXEDO的域特性把客户/服务器模型扩展到多个独立自治的应用系统。一个域既可以是一组TUXEDO的应用程序若干相关的应用服务和配置环境的组合,同时也可能是一组运行在另一个非TUXEDO环境中的应用程序。TUXEDO和其他中间件的互操作也是利用域的概念来实现的。不同的TUXEDO应用域中的服务程序可以互相访问对方的服务,并当一个交易同时执行多个应用域中的服务(即对于分布式事务处理)时,能够确保交易的完整性。1.3 TUXEDO应用程序工作原理在实际工作,理解了Tuxedo应用程序的工作原理和机制,有助于我们的具体应用、维护工作,同时对于系统开发、规划的能力也是很有帮助的。在TUXEDO的诸多通信方式中,请求/应