TUXEDO中间件介绍及应用
- 格式:doc
- 大小:1.09 MB
- 文档页数:6
TUXEDO中间件介绍及应用TUXEDO(Tuxedo Extended Distributed Object)是一种中间件技术,用于分布式应用程序的开发和管理。
它在1980年代初由AT&T Bell Laboratories开发,旨在帮助开发人员构建可靠的、复杂的分布式应用程序。
TUXEDO的主要特点是具有高度可伸缩性和可靠性。
它采用了基于事务的处理模型,在分布式环境中管理事务处理非常重要。
TUXEDO使用一种称为QT(Queueing and Transaction)的机制来处理事务,它能够确保在分布式环境中的多个服务器之间的事务一致性。
TUXEDO提供了一个面向服务的架构,允许开发人员将应用程序划分为一系列可重用的服务。
这些服务被封装在名为“服务进程(service processes)”的单独运行实体中。
TUXEDO还提供了一个名为“Bulletin Board”的中央注册表,用于跟踪可用服务的位置和状态。
通过这种方式,开发人员可以根据需要动态添加或删除服务,而不会中断正在运行的应用程序。
除了事务管理和服务管理功能外,TUXEDO还提供了一些其他的功能,使开发人员能够更轻松地开发和管理分布式应用程序。
例如,它提供了监视和诊断工具,用于跟踪应用程序的性能和健康状况。
它还提供了故障恢复功能,可以在节点失败时自动重启或迁移服务。
TUXEDO中间件在许多行业中得到广泛应用,尤其是那些需要构建高可靠性和高性能的分布式应用程序的领域。
例如,金融领域的交易处理系统、电信领域的网络管理系统以及电子商务领域的订单处理系统等都可以使用TUXEDO来实现。
总之,TUXEDO是一种先进的中间件技术,用于构建和管理复杂的分布式应用程序。
它提供了高度可伸缩和可靠的处理模型,支持事务管理、服务管理和分布式锁等强大功能。
它在各种行业中得到广泛应用,特别是那些需要高可靠性和高性能的应用程序领域。
TUXEDO中间件基础培训教程TUXEDO是一种常用的中间件,用于构建分布式系统和业务应用。
它提供了灵活的架构和强大的功能,能够处理高并发的请求和可靠的消息通信。
本篇文章将介绍TUXEDO的基础知识和用法,帮助读者了解和使用TUXEDO中间件。
一、TUXEDO中间件概述1. 应用服务器(Application Server):负责处理客户端请求,调用相应的服务和资源。
2. 事务管理器(Transaction Manager):负责管理分布式事务,保证事务的一致性和可靠性。
3. 路由器(Router):负责根据客户端请求的目标,将请求路由到相应的应用服务器。
4. 消息队列(Message Queue):用于在不同的应用服务器之间传递消息。
二、TUXEDO开发环境2.配置TUXEDO环境:设置TUXDIR环境变量和相关配置文件,以便使用TUXEDO命令和功能。
3.开发工具:TUXEDO提供了命令行工具和图形化界面工具,可以根据具体需求选择适合的工具进行开发。
三、TUXEDO应用开发1. 定义服务(Service):服务是TUXEDO中间件的核心概念,它表示一个可供调用的逻辑单元。
可以使用工具或配置文件定义服务,并设置相应的参数和属性。
2. 编写客户端代码:客户端代码负责与TUXEDO中间件进行交互,发送请求和接收响应。
可以使用C、C++、Java等编程语言进行开发,使用TUXEDO提供的API进行调用。
3. 编写服务代码:服务代码负责响应客户端请求,并进行相应的数据处理和业务逻辑。
可以使用C、C++、Java等编程语言进行开发,使用TUXEDO提供的API进行编程。
4.配置资源:资源是TUXEDO应用的关键组成部分,包括数据库连接、文件系统等。
可以使用配置文件或工具对资源进行定义和配置。
5.部署应用程序:将开发完成的应用程序部署到TUXEDO环境中,并进行测试和验证。
四、TUXEDO事务处理1.本地事务:在单个应用服务器内执行的事务,可以通过TUXEDO事务管理器进行管理。
中间件操作指引Bea Tuxedo广东亿迅科技有限公司2008年7月项目名称/代码:集成部版本: 1.0状态:所有人:系统组作者/创建时间:唐彪批准人/批准时间:文档更改历史记录目录第1章BEA TUXEDO产品 (5)1.1T UXEDO是什么 (5)1.2T UXEDO系统特点 (5)第2章TUXEDO安装 (6)2.1在UNIX系统安装 (6)2.2在WINDOWS系统安装 (7)2.3安装LICENSE (7)2.4T UXEDO环境变量 (7)2.5T UXEDO目录结构 (8)2.6T UXEDO应用步署过程 (8)第3章配臵管理 (8)3.1配臵文件 (8)3.2资源定义 (9)3.3机器的信息 (10)3.4组定义 (11)3.5服务定义 (11)3.6交易定义 (12)3.7生成TUXCONFIG文件 (13)第4章管理命令 (13)4.1TMBOOT命令 (13)4.2TMSHUTDOWN命令 (14)4.3TMADMIN命令 (14)4.3.1查看services状态 (15)4.3.2查看server状态 (16)4.3.3查看队列状态 (16)4.3.4查看客户端状态 (17)4.4查看日志 (18)第5章常见故障 (18)5.1UBB编译类 (18)5.2服务启动类 (19)5.3服务关闭类 (20)5.4域间通信类 (20)第1章Bea Tuxedo产品1.1 Tuxedo是什么BEA TUXEDO是在企业、Internet 这样的分布式运算环境中开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。
它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。
开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。
BEA TUXEDO是企业、Internet 分布式应用中的基础主干平台。
它提供了一个开放的环境,支持各种各样的客户、数据库、网络、遗留系统和通讯方式。
第二章:TUXEDO简介Tuxedo是BEA公司的交易中间件产品,1984年由贝尔实验室开发成功,1992年易主Novell 公司,1996年由BEA公司收购,经过十多年的不断更新和完善,Tuxedo已经发展成为交易中间件领域事实上的标准。
2.1TUXEDO系统的组成部分BEA TUXEDO是由服务器端的事务管理器、可靠队列服务、应用域以及客户端的工作站等几个核心部分组成的。
下面对这几部分进行介绍。
图TUXEDO核心组成1.事务管理器/T运行于服务器端的事务管理器是TUXEDO体系结构的中心,它是每个TUXEDO服务器的核心,提供重要的分布式应用服务,包括:名字服务、数据路由、负载平衡、配置管理、分布式事务管理和安全性管理。
它包含TUXEDO的核心数据结构公告板BB (Bulletin Board),BB中包括服务名、路由信息、请求服务的队列和负载等基本信息,TUXEDO/T负责访问和维护BB中的信息,并利用这些信息实现其各项功能。
2.工作站/WS工作站把TUXEDO ATMI API((注:ATMI,应用事务管理接口,是支持应用开发的一组函数) 扩展到客户端应用程序中,它适用于DOS、Windows3.1/95/98/2000/XP、Windows NT、IBM OS/2、Macintosh OS和所有商用版的UNIX。
有了工作站,开发者用ATMI客户端的功能可透明访问在TUXEDO分布式环境中任何服务器上的服务。
有了工作站,用户可在常见的编程环境中如:Visual Basic,PowerBuilder,DELPHI,VC等编写TUXEDO的客户端程序。
3.可靠队列服务/QTUXEDO提供了一个简单的可靠的队列机制,保证应用系统提交的请求和数据可在网络故障或目的服务器瘫痪等情况下也能递交到目的服务器。
应用程序能将服务请求入队和出队,并可以设定系统,使队列中的请求自动地转发给 TUXEDO的服务进程,并取回处理结果。
TUXEDO中间件基础培训教程TUXEDO中间件是一种分布式事务处理的中间件,主要用于构建大型高可用性、高性能的企业级应用系统。
提供了事务管理、消息传递和分布式资源管理等功能,可以让企业系统更快速、更可靠地处理海量业务数据和请求。
为了能更好地掌握TUXEDO中间件,需要进行基础培训,本文将对TUXEDO中间件基础培训教程进行讲解,帮助大家更快速地了解TUXEDO的组成、实现和使用。
TUXEDO中间件的组成TUXEDO中间件的组成由多个模块构成,主要包括:应用程序接口、事务处理、服务管理、安全性控制、消息传递等功能模块。
1. 应用程序接口:TUXEDO中间件提供了多种编程接口,包括C/C++、Java、COBOL、FORTRAN等语言,可以根据项目需要选择语言。
2. 事务处理:TUXEDO中间件提供了事务处理功能,支持分布式事务,可以通过TUXEDO的一系列手段进行事务控制。
3. 服务管理:TUXEDO中间件提供了服务管理功能,包括服务注册、服务发现和负载均衡等,可以对服务进行管理。
4. 安全性控制:TUXEDO中间件提供了安全性控制功能,包括身份认证、授权、数据传输加密等,可以保障数据的安全性。
5. 消息传递:TUXEDO中间件提供了消息传递功能,可以在应用程序之间进行异步通信,支持消息队列模式和发布/订阅模式。
TUXEDO中间件的实现TUXEDO中间件的实现和其他中间件类似,需要进行部署、配置和管理等步骤。
1. 部署:TUXEDO中间件的部署需要先安装TUXEDO,然后配置环境变量和文件路径,需要注意的是TUXEDO的环境变量和文件路径的设置不同于其他软件,需要参照TUXEDO的文档进行设置。
2. 配置:TUXEDO中间件的配置需要配置应用程序、服务、事务和消息传递等参数,需要结合实际业务需求进行配置,可以使用TUXEDO自带的命令行工具或GUI工具进行配置。
3. 管理:TUXEDO中间件的管理需要进行日志监控、性能优化、错误排查等操作,可以使用TUXEDO自带的工具进行管理,也可以通过第三方工具进行管理。
TUXEDO中间件介绍及应用一、前言首先介绍一下什么是中间件?中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。
世界著名的咨询机构Standish Group在一份研究报告中归纳了中间件的十大优越性:●缩短应用的开发周期●节约应用的开发成本●减少系统初期的建设成本●降低应用开发的失败率●保护已有的投资●简化应用集成●减少维护费用●提高应用的开发质量●保证技术进步的连续性●增强应用的生命力Tuxedo是第一个严格意义上的中间件产品。
Tuxedo是1984年在当时属于AT&T的贝尔实验室开发完成的,但Tuxedo在很长一段时期里只是实验室产品。
直到BEA公司1995年收购Tuxedo后,使Tuxedo现已经发展成为交易中间件领域事实上的标准。
TUXEDO是在企业、Internet 这样的分布式运算环境中,开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。
它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。
开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。
二、T UXEDO的组件软件模型TUXEDO采用三层结构的组件软件模型。
图1 BEA TUXEDO 的组件软件模型概要图1表示TUXEDO的组件软件模型的概要。
该结构分为三层:●客户为第一逻辑层,实现用户交互和数据表示,向第二层的服务器请求调用核心的业务逻辑处理服务,比如数据库的读取和更新。
●中间层为服务器组件,这些组件由BEA TUXEDO管理,实现核心的业务逻辑服务,并将这些服务按名字广播,接受并处理从客户或其他服务器发出的请求这些服务的消息,并将处理结果返回给请求者,即客户或其他服务器。
●资源管理器,比如像关系数据库,构成模型的第三层,负责管理应用系统的数据资源。
服务器组件在完成服务的过程中通过资源管理器存取它管理的数据,或者说请求资源管理器的数据服务。
相对于以数据库为中心的的两层客户/数据库服务器模型,BEA TUXEDO的三层结构模型,客户/应用服务器/数据库将应用的业务逻辑和用户界面的表示分开。
这样就允许开发人员专注于应用的核心业务逻辑的划分、封装、与相互作用,快速建立系统的核心业务功能的原型。
另外,明确地划分界面表示和业务逻辑,对用户有效地管理应用系统也是意义重大。
对具有成百上千个客户的两层结构的系统来说,经常性的更新、升级系统是一项十分棘手的维护工作,尤其是当系统已经投入实地运行以后。
三层模型将用户交互的表示部分与内部的业务逻辑分开,这样对业务逻辑的一些修改甚至数据库模式的改动经常都不要求客户的改动。
而且,将核心业务逻辑组件和表示逻辑及数据层划分开,BEA TUXEDO可以在服务级别上非常有效地管理应用的运行。
它可以动态地管理消息流程和服务请求,快速启动和停止服务器,根据变化的负荷复制服务器,动态地广播、撤消服务器中的服务,将服务从一个服务器转移到另一个服务器等等。
这些对中间层应用的服务级别上的管理大大增加了分布式应用的伸缩性和灵活性。
三、T UXEDO的特点1.分布式环境中更高水平的数据完整性TUXEDO设计了数据资源的绝对完整性,能确保异构(或同构)的数据库以及它资源管理器之间的完整性。
2.非常高的性能TUXEDO使多个客户连接到一个服务器进程,由这个服务器进程存取数据库,这样,数据库为处理连接所需的资源大大减少。
另一方面,网络上流动的只有相对较少的客户或服务器的请求和服务器处理的结果。
此外,TUXEDO特有的一些机制也能极大提高应用系统的性能。
比如利用异步RPC机制实现扇出并行,利用转发机制实现流水线并行,利用多服务器单队列实现多处理并行等。
所有这些因素使TUXEDO的应用系统具有极高的性能。
世界上大部分硬件服务器的RPC性能指标都是在TUXEDO上完成的。
另外,可将Service根据优先级的不同赋权值,系统根据优先级权值将客户请求(Service)排队管理。
3.平衡负载。
有多台机器做应用服务器时,系统可自动根据每个机器的负载情况决定服务程序在负载小的那一台机器上执行。
4.高可用性在分布式系统中某一服务器节点发生故障时,TUXEDO能在硬件故障情况下在其它结点上重新运行进程,以保证服务提供的稳定性。
TUXEDO还可多台应用服务器互相备份。
5.系统的安全性TUXEDO通过结构化用户界面支持应用服务的验证、授权和存取控制,允许用户加入自己的验证服务模块。
TUXEDO还提供信息加密服务,允许对网络上传输的信息按RSA 的RC4算法加密。
6.减轻开发人员、系统管理人负担BEA TUXEDO的三层结构,使开发人员能够按组件的思想专注入于业务逻辑的开发,用户界面部分可用流行的前端开发工具来快速完成。
而客户和服务器之间、服务器和服务器之间的通讯,异构平台之间的数据变换,以及服务器和数据库之间的集成和事务控制都由TUXEDO来完成。
TUXEDO系统提供从一个中心点对整个分布式系统进行全局监控及管理的能力,管理员能根据一个整体系统视图(而不仅是单个节点或单元)提供的信息,作出决定和采取动作。
7.使系统的安装与升级更容易TUXEDO 的三层结构组件软件模型下开发的应用程序以服务器组件和客户组件为安装、升级的单位,当一个组件需要更新时,管理人员甚至能够在运行系统不停机的情况下完成系统的升级,8.开放系统中最开放的中间件平台TUXEDO是一个非常开放的平台,支持三十多种服务器平台,包括大多数的UNIX服务器,WindowsNT 服务器,IBM的S/370,S/390,加上AS/400和Tandem公司的NonStop 系统。
它的客户支持几乎所有的工作站,包括UNIX,MS-DOS,Windows系列,OS/2,Macintosh等。
TUXEDO支持X/Open组织的分布式事务处理模型DTP,事务定界标准TX,应用程序事务处理接口标准XA TMI以及和资源管理器(像数据库系统)的接口标准XA,并且还支持事务处理器之间的互操作标准OSI-TP。
BEA TUXEDO的客户端通过DLL 可以和Visual C++、Visual Basic、Power Builder、SQL Windows、Delphi、Develop/2000 以及其他4GL和CASE 工具互连。
9.系统的伸缩性软件可伸缩性就是可以很容易地增加被支持的用户数和应用的全局吞吐量。
BEA TUXEDO支持二维的可伸缩性。
二维可伸缩性可在结构上的任意位置添加异质资源,而不改变已存在的应用的结构。
允许对一个复杂的混合结构的支持,为联机网络系统提供了广泛的规模选择范围。
任何与数据表示有关的(如不同的处理器表示)可以由TUXEDO 透明地解决。
10.广泛的开发工具支持除了像C,C++和COBOL这样的第三代语言编程环境,TUXEDO系统享受最广泛的第三方工具的支持。
并有丰富的通信方式。
有同步调用、异步调用、管道通信、会话、广播、通知、队列、发布订阅等通信方式,能很好地满足应用开发的要求。
四、T UXEDO工作原理Tuxedo可以有效地整合企业异构C/S系统,实现大规模的关键业务处理和分布式事务管理,从而为企业提供一个可靠的、高性能的、易维护的三层分布式计算机环境。
图2展示了一个基本Tuxedo系统的组成和工作原理。
图2 Tuxedo系统的组成和工作原理①Client向System/T发出查询请求,以找到Server消息队列的地址;②Client根据找到的入口地址将请求发送到Server的消息队列中;③Server处理请求,并将结果返回给Client的消息队列。
System/T是Tuxedo系统的核心,它实现了Tuxedo的所有功能和特征,如C/S数据流管理、服务请求的负载均衡、全局事务管理以保证交易的完整性、同步/异步服务请求、两阶段提交以确保消息的发送等。
System/T提供了一个类似公告栏的服务,用以发布C/S计算机环境中所有服务器、服务和客户机的信息,供其它分布式计算的参与者使用。
五、T UXEDO的开发创建使用Tuxedo的程序与在C和C++编程语言中创建其它应用程序一样,Tuxedo提供了一个其于C语言的编程接口,即应用程序事务监控接口ATMI,这套接口很容易使用,以便用于开发客户程序和服务程序。
除了C语言接口外,Tuxedo还提供了COBOL接口。
1.开发客户端程序1)调用tpchkauth()决定加入一个应用程序所需的安全级别。
可能出现的响应包括:没有安全级别,应用程序口令,应用程序授权,访问控制列表,连接级加密,公钥加密,审计。
这些可以根据你的需求进行选择。
2)调用tpinit()来连接到一个Tuxedo应用程序,所需的安全信息作为tpinit()的参数传给了应用程序。
3)调用tpcall()、tpacall()/tpgetrply()等来执行服务请求。
4)调用tpterm()来断开和BEA Tuxedo应用程序的连接。
2.开发服务端程序服务程序不用全部由开发者来编写,开发者只需写一些称为服务的商业函数,然后和Tuxedo的一些二进制程序联编成一个可执行的服务程序。
Tuxedo服务程序启动后,它总是保持运行状态,只到接收到一个shutdown消息为止。
一个典型的Tuxedo服务程序在shutdown或reboot之前都在执行着数千个服务。
⑴.在Tuxedo服务程序启动时,执行tpsvrinit()函数,可以在里面打开一些如数据库之类的资源供以后使用;⑵.在Tuxedo服务程序关闭时,执行tpsvrdown()函数,可以在里面关闭tpsvrinit()中打开的资料;⑶.Tuxedo服务程序以服务的形式来响应客户程序的请求,客户程序不是通过名字来调用服务程序的,而是调用服务,客户程序不知道处理它请求的服务程序的位置;⑷.服务程序调用tpreturn()函数来结束服务请求,并返回一个缓冲区,必要时,将它传给客户程序;3.客户端和服务端程序通信的类型缓冲区在Tuxedo系统中的所有通信过程都是通过类型缓冲区来完成的,Tuxedo系统提供了大量的类型缓冲区来供开发者使用。
所有类型缓冲区都必须通过Tuxedo的tpalloc(), tprealloc(), tpfree()这些ATMI来分配回收,它们都有特定的头部。
统一定义的类型缓冲区可以使它们在跨越不同网络、不同协议、不同CPU构架以及不同操作系统之间得到统一的处理,这就使得开发者在分布式计算环境中有效地避开了异构网络和异构计算机系统带来的差异,把精力集中在商业逻辑的开发上。