JAVA与TUXEDO环境集成
06_TUXEDO_客户端
<Insert Picture Here>Tuxedo 客户端Tuxedo客户端简介/WS基本配置/WS常见问题/WS性能优化的最佳实践 实验Tuxedo客户端简介✓Tuxedo客户端分类✓Native Client✓Workstation Client✓Jolt Client✓CORBA Client/WS基本配置/WS常见问题/WS性能优化的最佳实践 实验根据与服务器通讯方式的不同,客户端可以分为以下四类•Native Client客户端通过IPC与服务器通讯•Workstation Client客户端通过TCP/IP Socket与服务器通讯•Jolt ClientJava客户端通过TCP/IP Socket与服务器通讯•Tuxedo CORBA Client客户端通过IIOP协议与服务器通讯•运行时必须设置TUXCONFIG环境变量–UBB文件中的IPCKEY, UID, GID, PERM•通过IPC-SHM查询BB(公告牌)信息•SHM和MP模式下都可运行–只能运行在UBBCONFIG MACHINES部分定义的机器上•不计算入license中•Tuxedo中Native client程序–管理工具: tmadmin, dmadmin, qmadmin和tmconfig等等–MIB工具: ud, ud32•远程调用Tuxedo Server上的service •Tuxedo Client版本就可以运行•通过网络TCP/IP调用服务•7.1之后支持客户端多次线程编程•限制–tmadmsys管理服务不能调用/WS Components•WSC Workstation Client •WSL Workstation Listener •WSH Workstation Handler/WS 工作原理WSHWSC WSLWSHServer WSSHMBulletin Board Client MachineServer Machine ServerWSNADDRJolt Client•Tuxedo客户端的Java形式的API•与/WS技术类似。
tuxedo配置和服务部署
tuxedo配置和服务部署TUXEDO应用服务配置、部署手册1. WINDOWS环境下TUXEDO服务端应用程序的部署和配置1.1 tuxedo的安装确定安装介质(Tuxedo安装程序)运行Setup图表 -1 Tuxedo安装向导图表-2 Tuxedo安装向导点击“Next”,继续图表 -3 许可证协议选择“YES”,继续图表 -4:选择安装类型选择“Full Installation”,继续图表 -5 制定安装路径路径设为“d:\bea”,继续图表 -6 产品路径6.路径设为“d:\bea\tuxedo”,继续图表 -7安装程序开始拷贝文件等待安装程序拷贝文件。
图表 -8输入Listen password输入Listen password,输入两个相同的密码,“lp”,继续图表 -9安装SSL选择“NO”,继续图表-10:安装LDAP取安装程序的默认值,继续图表 -11:安装License 选择“no”,继续图表 -12:Tuxedo安装完毕安装完毕注意事项LIC的安装假设TUXEDO安装在d:\bea\tuxedo,在udataobj子目录中考入lic.txt1.2 应用程序的配置关于环境变量的配置,setenv.bat文件格式如下:rem Copyright (c) 1995 Novell, Inc.rem All Rights Reservedrem THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OFrem Novell, Inc.rem The copyright notice above does not evidence anyrem actual or intended publication of such source code.rem Copyright (c) 1995 Novell, Inc.rem All rights reservedrem ident "@(#) apps/simpapp/setenv.cmd $Revision: 1.1 $"set TUXDIR=d:\bea\tuxedoset WSNADDR=//10.233.128.18:8888set APPDIR=d:\ydlwset PATH=%TUXDIR%\bin;%APPDIR%;%PATH%set LIB=%LIB%;d:\Oracle\Ora9\precomp\lib\msvc;set TUXCONFIG=%APPDIR%\tuxconfigset FIELDTBLS32=qqdata,fhdata,yhfymx,comfldset FLDTBLDIR32=%APPDIR%;%TUXDIR%\udataobjcall %APPDIR%\VCVARS32.BAT需要注意的地方用红色标记,其中TUXEDO为tuxedo的安装主目录,APPDIR 为应用程序主目录,根据实际情况进行修改。
Tuxedo安装及试用
Tuxedo软件安装及使用1前言Tuxedo是ORACLE公司的分布式运算环境下开发和管理三层客户/服务器结构应用系统的中间件产品,具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。
Tuxedo屏蔽分布式环境中各种通信协议、硬件体系结构、操作系统、数据库和其它应用服务等方面的差异,使得分布于网络节点上的应用程序的各个单元部件之间能够进行互操作,并协调操作的一致性和完整性,最大限度地节省系统资源,提高系统性能。
开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的分布式应用系统,因而广泛地应用于金融、电信、制造业等各行各业的核心业务系统。
本文简要介绍Tuxedo的安装和使用,使得读者可以快速入门。
2软件安装为避免多机部署时可能出现的用户组、用户、目录位置问题,建议各机器的安装tuxedo 的用户组、用户名、目录位置均相同。
各资源规划如下表:2.1创建组及用户为避免安全性问题,应创建专属的用户和用户组运行tuxedo,并不得使用root。
本文档假定用户名是tuxedo,用户组也是tuxedo。
(1)创建tuxedo组;(2)创建tuxedo用户;(3)设置tuxedo用户登录密码;(4)创建安装目标目录并授权。
2.2安装GCCTuxedo示例程序使用C语言编写,为编译示例程序,需安装C语言开发环境。
将安装光盘介质mount到操作系统相应目录(如/media)后,参考下列命令安装开发环境。
安装开发环境的详细命令,可以参考操作系统相关手册。
2.3安装JRETuxedo的安装包需要JRE才能运行,因此需要先安装JRE,并设置JA V A_HOME环境变量指向新安装的JRE,设置PA TH添加java所在的目录。
本文档选择JDK的server-rumtime 版本作为JA V A运行环境。
(1)上传安装包server-jre-8u162-linux-x64.tar.gz到/tmp。
2024年度中间件技术及Tuxedo课件
2024/3/23
25
06
Tuxedo运维管理与最 佳实践
2024/3/23
26
监控和日志分析工具介绍及使用技巧
监控工具
介绍Tuxedo提供的监控工具,如tmadmin、tmloadcf等,以及如 何使用这些工具进行实时监控和性能分析。
日志分析
详细阐述Tuxedo日志文件的格式和内容,如何通过日志分析工具 进行日志的解析、筛选和统计,以便快速定位问题。
02
2024/3/23
03
调优实践
分享在实际运维过程中遇到的性能问 题及其解决方案,以及在进行性能调 优时需要注意的事项。
29
版本升级注意事项及迁移方案
版本升级流程
详细介绍Tuxedo版本升级的流程和步骤,包括前期准备、升级过程、后期验证等。
注意事项
列举在进行版本升级时需要特别注意的事项,如兼容性问题、数据迁移问题、配置变更 问题等。
01 安装过程中遇到错误提示,如何解决?
02 Tuxedo服务无法启动或异常退出,如何处 理?
03
Tuxedo交易执行失败或性能不佳,如何优 化?
04
如何备份和恢复Tuxedo配置信息及数据?
20
05
Tuxedo应用开发实践
2024/3/23
Байду номын сангаас
21
基于Tuxedo构建分布式系统架构
2024/3/23
2024/3/23
迁移方案
针对可能遇到的数据迁移问题,提供相应的解决方案和操作步骤,如数据备份、数据转 换、数据验证等。同时,分享一些成功的迁移案例和经验教训。
30
THANK YOU
2024/3/23
TUXEDO简介
第二章: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+JOLT配置与编程简介
JOLT的配置与编程简介开发建立一个JOLT 客户端访问BEA Tuxedo 的应用服务的主要的步骤,可以描述以下的过程(参见下图)1、确认已经安装BEA Jolt 系统2、首先要建立或已经存在一个BEA Tuxedo 系统的一个应用服务3、利用Bulk Loader(批量装载)工具装载 BEA Tuxedo 应用服务到 Jolt RepositoryDatabase1)使用 Bulk Loader:jbld 是一个java 程序,在运行 jbld 命令以前检查环境变量 CLASSPATH 是否指定了 jolt 类的路径(jolt.jar、joltadmin.jar),如果没有指定这个环境变量,java 虚拟机不能够定位到任何的 jolt classes** 激活Bulk Loader:在提示符下输入以下命令(带上正确的选择项):java bea.jolt.admin.jbld [-n][-p package][-u usrname][-r usrrole]//host:port filename**批量装载文件- the Bulk Loader FileBulk Loader File 是一个定义服务和关联参数文本文件,Bulk Loader装载定义在the Bulk Loader File(批量装载文件)中的服务到 jolt 接口服务库中(默认的包是:BULKPKG)。
2) Bulk Loader File 的语法每一个服务定义是由服务属性和参数组成的:属性和参数都有一个要设置的数字,每一个属性描绘都通过一个关键字和一个值关键字分为两层:◎Service_level (服务层)◎Parameter_level (参数层)* 关键字的指导方针* jbld 程序读取服务定义文本文件,关键字的用法遵守下表的指导方针:◎在Bulk Loader 文本文件中关键字的顺序一个服务定义必须以service=<SERVICE_NAME> 开始,服务如果是采用CARRAY 或者是STRING 类型的BUFFER,在服务中只有一个参数。
Tuxedo教程全解
Tuxedo发展历程
Tuxedo的起源
Tuxedo最初是由AT&T的贝尔实验室开发的,后来被Novell公司收 购并继续发展。
Tuxedo的发展
随着分布式系统的不断发展和应用需求的不断增加,Tuxedo也在 不断地发展和完善,不断推出新的版本和功能来满足用户的需求。
趋势预测
使用日志分析工具对日志文件进行 解析和分析,提取关键信息和数据。
日志分析
通过对日志数据的挖掘和分析,发 现系统中存在的问题和异常行为, 为故障诊断和性能优化提供依据。
问题诊断
通过对历史日志数据的分析和挖掘, 预测系统未来的性能趋势和潜在问 题,为系统维护和管理提供决策支 持。
06
Tuxedo实战案例解析
Tuxedo管理工具
提供了一套完整的管理工具, 用于监控、配置和管理 Tuxedo系统。
支持远程管理和自动化运维, 提高了管理效率和可靠性。
提供了丰富的日志和诊断功能, 帮助开发人员快速定位和解决
问题。
03
Tuxedo应用开发
开发环境搭建
安装Tuxedo系统
根据操作系统类型下载并安装对应版本的 Tuxedo系统。
案例三:企业级分布式事务处理应用
应用场景
适用于需要跨多个系统、数据库进行事务处理的企业级应 用。
解决方案
基于Tuxedo的分布式事务处理技术,实现跨系统、跨数据 库的事务一致性保障。
技术特点
采用Tuxedo的两阶段提交协议和分布式锁机制,确保事务 的原子性和隔离性;利用Tuxedo的故障恢复和容错机制, 提高系统的可用性和可靠性。
Tuxedo产品介绍
Tuxedo产品介绍近几年来,以交易中间件为框架基础的三层客户机/服务器模式已被广泛证实为建立开放式关键业务应用系统的最佳环境。
这种模式的成功使用已为许多国际大型企业在应用的开发与部署方面节约了大量的时间与金钱。
三层客户机/服务器模式的核心概念是利用交易中间件将应用的业务逻辑、表示逻辑与数据分为三个不一致的处理层,从而使其应用系统不但具备了大型机系统稳固、安全与处理能力高等特性,同时拥有开放式系统成本低、可扩展性强、开发周期短等优点。
而交易中间件作为构造三层结构应用系统的基础平台,提供了下列两个要紧功能:负责客户机与服务器间的联接与通讯;提供一个三层结构应用开发与运行的平台。
交易中间件提供一个基础的框架去帮助你建立、运行与管理一个三层客户机/服务器模式的应用,使你不需要从零做起,大大缩短了应用开发的时间,提高了应用开发的成功率。
根据StandiShGrOUP的调查报告,使用一个成熟的交易中间件产品能够为应用开发节约25%-50%的时间。
而通过自己去开发应用里中间件功能的项目,有90%以上以失败告终。
一个优秀的交易中间件应具备下列六个条件:(1)成熟、稳固、可靠(2)很强的产品生命力(3)完整、高质量的功能(4)优秀的性能(5)开放、遵循标准(6)简单、易用而TUXEDo就是一个具备了以上所有条件的优秀的中间件产品。
本节将对TUXEDO进行介绍,包含下列内容:1 BEATUXEDo的技术特色2 BEATUXEDO的核心系统构成3TUXEDO才支术详述3.1 高速数据甬道3.2 目录服务的实现3.3 通讯服务3.4 负载平衡3.5 优先级3.6 伸缩性与动态配置的支持3.7 故障恢复与稳固的运行环境3.8 安全性3.9 交易完整性与分布式事务处理3.10 支持多种数据类型与字段操纵语言3.11 管理3.12 网络调度与通讯失败的自动恢复3.13 提供5种APl3.14 支持字符界面的开发3.15 对远程安装,设置的支持4国际化5与数据库的连接6开发工具7跨平台支持8互连性9典型开发过程简介10节约费用1. BEATUXEDO的技术特点、(1)最成熟、稳固、可靠的开放平台交易中间件产品•16年的历史,世界第一个开放平台交易中间件产品•数千个大型客户,数百万个前端用户,每天处理数亿笔交易•在全球交易中间件市场(包含WAS)上占据了46%的市场占有率,包含主机平台,开放系统等等,而第二名的旧M只占据了9%(来自IDC1999 报告)(2)最强生命力的开放平台交易中间件产品•以开放为本,BEATUXEDo出身于开放系统的化身一UNIX,从其基础体系结构上就是开放的,目的是支持所有开放的系统资源。
利用 IBM WebSphere eXtended Transaction Runtime 实现现代
®利用IBM WebSphere eXtended Transaction Runtime实现现代化IBM 红皮书解决方案指南IBM® WebSphere® eXtended Transaction Runtime (WXTR) 是一个分布式联机事务处理(OLTP) 环境,用于通过IBM WebSphere Application Server on AIX® 托管COBOL 和 C 应用程序。
它支持采用COBOL 和C 编写的业务应用程序的现代化,并将其扩展到Java Enterprise Edition (Java EE) 环境,帮助实现紧密集成的受管环境的优点。
WXTR 在Java EE 应用程序以及COBOL 和 C 应用程序之间提供基本运行时连接,这可以简化企业环境中组合应用程序所需的集成。
通过紧密集成WebSphere Application Server 的系统管理功能,您可以实现服务的轻松部署、管理和优化,并提高管理混合语言事务应用程序的管理效率。
图 1 概述WXTR 的优点。
图 1. WXTR 的优点您是否知道?许多客户投入了大量时间和工作以进行COBOL 和 C 应用程序中业务逻辑的开发。
他们发现可以使用Java EE 解锁和扩展这些应用程序的价值。
通过建立WebSphere eXtended Transaction Runtime 作为企业IT 体系结构的核心组件,并利用WebSphere Application Server,组织可拥有高响应、紧密集成的组合应用程序- 充当现代化COBOL、C 和Java 工作负载的基础架构。
此解决方案能够有效地优化和现代化这些COBOL 和 C 资产,而且还能够利用企业级技能来围绕WebSphere Application Server 整合IT 基础架构,以作为分布式环境中的核心托管服务器。
业务价值WebSphere eXtended Transaction Runtime 解决方案的主要优点体现在以下两个广泛的领域:∙紧密集成的受管环境∙集成式应用程序开发WXTR 包含各种功能,这些功能一起提供一个紧密集成的受管环境来托管同一WebSphere Application Server 实例中的Java、C 和COBOL 应用程序(尤其是基于IBM CICS®的应用程序),并能够有效地将它们视为单个应用程序。
一种Java调用+Tuxedo+服务的方法
k吼z驰ndl,艄.1eeieveb讲
int lRel:
段箍日皋:2007一Os—06 诈者篱务:箨干云(197争一),男,湖南赋凄^,高疆工程舞,鱼垂碍完方向:数捧礓i管理,奄燕信喜记。
万方数据
、≮.开发研究与设汁技术......
瘌始诧莲接 雄pin;《解NlT qNu£釉=-_l》
数求出长鹰后乘以2.辩初始化为如此多十空格。遮是因为vB中
的lenn醋教不能得到字符串的精确长度,它把一个中文字符的性
度÷}算戚l。交际上要占2个字节。如举耍得到藕确长度。可用VC
缩写一个A辍函数。尾VC翦s醴en0麟数蹿《。
4.3 Java调用
Java中调用cOM组件的语句如下:
imp蛀曲舶ja;e幽.种“vex.Act;卯xC州,p佣entt {掰p“#∞moae。b,eom,Ⅸ8芦虹电 pubIic class cBlmlx硝o{ pu㈨a stdng c削Tuxedoservice(s埘“g 8endD0c){ Ⅳ找到组件 AcnveXc。mponen£时=n删舭d睨Xcom印聃nf<”她xedo脚静 el豁s”舞 0哺c畦nlycom=”lf萨tobjecE0∥生成一个对象 Ⅳ调用组件的方法 Obied Tesuh=Di即Htch.caⅡ(矾yc。扎”vbCallnxedose州。和
嚣。声霹辩节所示:
,
Pdv砒e DecIare nl|lc杜∞vbCaⅡ1hedoServiceTOUp即r Lib”vc. tu艘do”AI-a8”vcC allTu黼dqsewjceToUp坤r@8”(ByVal inBⅢAs sl靠“舀B,v一咖lBug As St“ng》As Io玎g
声臻方法娄毂于捷瘸A秘最数。上避声臻语每串,∞糖船d8是 在VC环境中生成的DH.文件的名称,虚用时要与VB文件在同 ·一路径或拷m到系统路径中.如系统煮装目录的sy8te巾32目录;
Tuxedo总体介绍
Tuxedo总体介绍1.1 中间件介绍介于客户机与服务器之间的夹层,它突破了二层C/S结构的局限性,为构建大规模、高性能、分布式C/S应用程序提供了通信、事务、安全、容错等基础服务,它屏蔽了底层技术细节,使应用程序开发不必再从底层做起,以自身的复杂性换来了应用程序开发的简单。
最早具有中间件技术思想及功能的软件是IBM的CICS,但由于CICS不是分布式环境的产物,因此人们一般把Tuxedo作为第一个严格意义上的中间件产品。
Tuxedo是1984年在当时属于AT&&T的贝尔实验室开发完成的,但由于分布式处理当时并没有在商业应用上获得像今天一样的成功,Tuxedo在很长一段时期里只是实验室产品,后来被Novell收购,在经过Novell并不成功的商业推广之后,1995年被现在的BEA公司收购。
尽管中间件的概念很早就已经产生,但中间件技术的广泛运用却是在最近10年之中。
BEA公司1995年成立后收购Tuxedo才成为一个真正的中间件厂商,IBM的中间件MQSeries也是90年代的产品,其它许多中间件产品也都是最近几年才成熟起来。
简单提一下东方通TongLINK,TONGEASY.TUXEDO为交易中间件。
1.2 TUXEDO是什么TUXEDO名字的由来:Transaction for UNIX has been Extended for Distributed Operation,即被分布式操作扩展之后的UNIX事务系统 。
BEA TUXEDO是在企业、Internet 这样的分布式运算环境中开发和管理三层结构的客 户/服务器型关键任务应用系统的强有力工具。
它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。
开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。
在当今系统整合、全球应用、永远可用的业务环境中,企业要求分布式事务处理(TP)的基础结构,不仅能够充分发挥现有技能和应用资产的作用,而且还要具备基于标准的互操作性以简化集成。
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管理,实现核心的业务逻辑服务,并将这些服务按名字广播,接受并处理从客户或其他服务器发出的请求这些服务的消息,并将处理结果返回给请求者,即客户或其他服务器。
Tuxedo应用系统概要
CORBA Client RM
10
应用系统结构
数据库连接
任何企业级的应用系统几乎都离不开数据库,或者可以说数据是系统的核 心资源和最宝贵的财富,而TXUEDO等中间件是系统的核心业务处理部分,所以它 们之间的连接就显得十分重要.目前采用的方式主要有两种:
方法一:直连 这种方式是在程序中通过指定数据库,并提供用户名和密码来连 接.这个主要是基于开发语言的支持.例如Oracle开发中使用广泛的 Pro *C/C++,提供了EXEC SQL CONNECT 语句. 这种方式使用起来更简单,系统没有复杂的结构时可以采用这种 方式.
WSH
…
15
应用系统结构ห้องสมุดไป่ตู้
客户端
TUXEDO WSL Native
JSL
JOLT
C/C++
PB,Delphi, VB,VC etc
Terminal Server
WebLogic
16
应用系统结构
客户端
常见的几种WSC的比较: 1.C/C++ 这种客户端是最直接也是最简洁的,性能上讲也是最好的, 因为TUXEDO提供的编程接口就是C的.所以它是学习TUXEDO编程 时最好的客户端.在实际中主要用作测试用客户端和一些系统 间的接口. 另外的用法可能就是对客户端的一些C函数进行封装,例如 制作成DLL,给其它的IDE调用.
21
自身结构
with OS
通过UNIX的系统命令(such as ipcs in HP-UX),我们可以在OS中 看到TUXEDO使用的这个资源. 这里不对使用的方式做研究,我们要做的是和UNIX系统管理员一 起,给和这些IPC相关的UNIX核心参数设置合适的值,以便使TUXEDO有 更好的稳定性和性能. 具体可以参见官方文档中的 Configuring the UNIX Operating System for the BEA TUXEDO
TUXEDO中间件基础培训教程
在安装过程中,需要设置TUXEDO管 理员密码,请确保密码的安全性。
执行安装程序
运行安装程序,按照提示完成软件的 安装过程。
配置TUXEDO环境变量
打开环境变量配置文件
根据操作系统类型,找到相应的环境 变量配置文件并打开。
添加TUXEDO环境变量
在配置文件中添加TUXEDO软件的相 关环境变量,如TUXDIR、PATH等 。
分布式事务编程
提供使用TUXEDO DTP服务的编程接口和示例代码,帮助开发人 员实现分布式事务的编程和管理。
负载均衡与容错机制
负载均衡概念
TUXEDO负载均衡服务
解释负载均衡的定义、作用及在分布式系 统中的应用。
深入讲解TUXEDO提供的负载均衡服务, 包括基于规则的路由、动态负载均衡等策 略。
衡量系统每秒钟处理事务 的能力,是评估性能的重 要指标。
响应时间
用户发出请求到系统响应 所需的时间,直接影响用 户体验。
资源利用率
包括CPU、内存、磁盘等 资源的利用情况,反映系 统负载状况。
常见性能问题诊断技巧
日志分析
通过查看TUXEDO日志,定位性 能瓶颈,如事务处理时间过长、
资源争用等。
监控工具使用
支持编写自定义脚本,实现个性化监控需求,满 足企业特定场景下的监控要求。
06
TUXEDO故障排查与 处理
常见故障类型及原因分析
系统崩溃或无法启动
可能是由于配置错误、资源不 足或系统缺陷等原因导致。
服务调用失败
可能是由于网络问题、服务不 可用或调用参数错误等原因导 致。
数据不一致或丢失
可能是由于事务处理失败、数 据库故障或存储过程错误等原 因导致。
保存并关闭文件
tuxedo详细安装步骤
Tuxedo使用Non-XA模式连接Oracle数据库实验的网络拓扑图:软件安装环境:3台主机都安装Cent OS 5.3操作系统,第1台主机作为Tuxedo的客户端,只安装Tuxedo 客户端(IP:192.168.1.61);第2台主机作为Tuxedo服务器安装Tuxedo Server,还要连接Oracle服务器,还安装了Oracle Client 11gR2(IP:192.168.1.66);第三台主机作为Oracle数据库服务器,只安装Oracle11gR2(IP:192.168.1.81)。
实验目的:了解Tuxedo使用Non-XA方式连接Oracle数据库。
通过客户端发送一个请求到Tuxedo服务器,再由Tuxedo服务器连接Oracle服务器,把客户端发送的信息写入数据库表。
实验步骤:1.安装Tuxedo的演示程序SimpApp (使用主机1和主机2)2.作一个Pro/C的Demo,来连接Oracle数据库(使用主机2和主机3)3.把第1步和第2步合并到一起,完成该实验4.测试并排错安装前准备:要使Tuxedo服务器,能连接到Oracle服务器。
Oracle服务器的实例名称为stone,在Tuxedo服务器上安装Oracle客户端后,建立一个服务,使其能够连接到Oracle数据库服务器。
在Tuxedo Server(主机2)上,先建立网络服务,再连接到Oracle数据库服务器,使用hr用户,并建立一个测试表:◆网络服务的名称为stone,结果为$ORACLE_HOME/network/admin目录下的tnsnames.ora文件[oracle@myapache ~]$cd /u01/app/oracle/product/11.2.0/client_1/network/admin/ [oracle@myapache admin]$lssamples shrept.lst sqlnet10031011AM2455.bak sqlnet.ora tnsnames.ora[oracle@myapache admin]$vi tnsnames.ora# tnsnames.ora Network Configuration File:/u01/app/oracle/product/11.2.0/client_1/network/admin/tnsnames.ora# Generated by Oracle configuration tools.STONE =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.81)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = stone)))◆建立测试表[oracle@myapache ~]$sqlplus hr/hr@stoneSQL*Plus: Release11.2.0.1.0 Production on Wed Mar 10 21:17:22 2010Copyright (c) 1982, 2009, Oracle. All rights reserved.Connected to:Oracle Database11gEnterpriseEdition Release11.2.0.1.0 - ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options SQL>create table t_test1(2 zj number,3 name varchar2(20)4 );Table created.SQL>insert into t_test1 values(1, 'aaa');1 row created.SQL>commit;Commit complete.SQL>select * from t_test1;ZJ NAME---------- --------------------1 aaaSQL>◆在主机2上还要把Oracle用户的环境变量设置好,使其能正确编译pro/c程序[oracle@myapache ~]$ vi .bash_profile设置好以下环境变量# User specific environment and startup programsORACLE_HOME=/u01/app/oracle/product/11.2.0/client_1export ORACLE_HOMELD_LIBRARY_PATH=$ORACLE_HOME/libLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib export LD_LIBRARY_PATHPATH=$PATH:$ORACLE_HOME/binexport PATHstty erase ^H(完)测试一下Pro/C是否正确[oracle@myapache ~]$procPro*C/C++: Release11.2.0.1.0 - Production on Thu Mar 11 01:16:42 2010Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.System default option values taken from:/u01/app/oracle/product/11.2.0/client_1/precomp/admin/pcscfg.cfg(下面内容从略)一、安装Tuxedo的演示程序SimpApp,并完成Tuxedo客户端访问服务器的配置1.在主机2上安装Tuxedo10gR3 Server建议采用字符安装界面,在安装过程中选择安装上Sample,以便运行SimpApp例子[root@myapache ~]#cd /home/OraFile/[root@myapache OraFile]#unzip tuxedo10gR3_32_Linux_01_x86.zip[root@myapache OraFile]#chmod +x tuxedo10gR3_32_Linux_01_x86.bin[root@myapache OraFile]#./tuxedo10gR3_32_Linux_01_x86.bin -i consoleExtracting the JRE from the installer archive...Unpacking the JRE...Extracting the installation resources from the installer archive...Configuring the installer for this system's environment...Launching installer...(比较重要的地方)Choose Oracle Home------------------1- Create new Oracle HomeEnter a number:1Specify a new Oracle Home directory:/bea=============================================================== ================Choose Product Directory------------------------1- Modify Current Selection (/bea/tuxedo10gR3)2- Use Current Selection (/bea/tuxedo10gR3)Enter a number:1Specify Product Installation Directory:/bea/tux10 (为操作方便,把安装目录修改为:/bea/tux10) Install Samples (Y/N):Y (选择安装Samples)2.在Tuxedo Server上运行SimpApp例子(1)把SimpApp例子拷贝到/home/myTuxeSrv目录下[oracle@myapache ~]$cp -R /bea/tux10/samples/atmi/simpapp/ /home/myTuxSrv/再拷贝环境变量[oracle@myapache ~]$cp /bea/tux10/tux.env /home/myTuxSrv/simpapp/[oracle@myapache ~]$cd /home/myTuxSrv/simpapp/[oracle@myapache simpapp]$lsREADME simpcl.c simpserv.c tux.env ubbsimple[oracle@myapache simpapp]$(2)编辑simpapp的配置文件[oracle@myapache simpapp]$ cp ubbsimple ubb[oracle@myapache simpapp]$ vi ubb修改结果:#Example:IPCKEY <Replace with a valid IPC Key># TUXCONFIG="/home/me/simpapp/tuxconfig"# APPDIR="/home/me/simpapp"#Example:TUXDIR="/bea/tux10"# (c) 2003 BEA Systems, Inc. All Rights Reserved.#ident "@(#) samples/atmi/simpapp/ubbsimple $Revision: 1.5 $"#Skeleton UBBCONFIG file for the TUXEDO Simple Application.#Replace the <bracketed> items with the appropriate values.*RESOURCESIPCKEY 123456DOMAINID simpappMASTER simpleMAXACCESSERS 10MAXSERVERS 5MAXSERVICES 10MODEL SHMLDBAL N*MACHINESDEFAULT:APPDIR="/home/myTuxSrv/simpapp"TUXCONFIG="/home/myTuxSrv/simpapp/tuxconfig" TUXDIR="/bea/tux10"myapache LMID=simple*GROUPSGROUP1LMID=simple GRPNO=1 PENINFO=NONE*SERVERSDEFAULT:CLOPT="-A"simpserv SRVGRP=GROUP1 SRVID=1*SERVICESTOUPPER(配置文件完)(3)修改环境变量文件tux.env[oracle@myapache simpapp]$ vi tux.env在最后加入两行TUXDIR=/bea/tux10; export TUXDIRJAVA_HOME=$TUXDIR/jre; export JAVA_HOMEJVMLIBS=$JAVA_HOME/lib/i386/server:$JAVA_HOME/jre/binPATH=$TUXDIR/bin:$JAVA_HOME/bin:$PATH; export PATHCOBCPY=:$TUXDIR/cobinclude; export COBCPYCOBOPT="-C ANS85 -C ALIGN=8 -C NOIBMCOMP -C TRUNC=ANSI -C SEXT=cbl"; export COBOPT SHLIB_PATH=$TUXDIR/lib:$JVMLIBS:$SHLIB_PATH; export SHLIB_PATHLIBPATH=$TUXDIR/lib:$JVMLIBS:$LIBPATH; export LIBPATHLD_LIBRARY_PATH=$TUXDIR/lib:$JVMLIBS:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH WEBJAVADIR=$TUXDIR/udataobj/webgui/java; export WEBJAVADIRAPPDIR=/home/myTuxSrv/simpapp; export APPDIRTUXCONFIG=$APPDIR/tuxconfig; export TUXCONFIG(4)在服务器本地运行simpapp例子程序使环境变量生效[oracle@myapache simpapp]$. ./tux.env[oracle@myapache simpapp]$lsREADME simpcl.c simpserv.c tux.env ubb ubbsimple[oracle@myapache simpapp]$env | grep TUXTUXCONFIG=/home/myTuxSrv/simpapp/tuxconfigTUXDIR=/bea/tux10[oracle@myapache simpapp]$编译ubb (生成tuxconfig)[oracle@myapache simpapp]$ tmloadcf -y ubb[oracle@myapache simpapp]$ lsREADME simpcl.c simpserv.c tuxconfig tux.env ubb ubbsimple ULOG.031010编译simpserv.c文件和simpcl.c文件(生成可执行文件)[oracle@myapache simpapp]$buildserver -f simpserv.c -o simpserv -s TOUPPER (我这里有一些警告信息,不影响程序运行)[oracle@myapache simpapp]$buildclient -f simpcl.c -o simpcl[oracle@myapache simpapp]$lsREADME simpcl.c simpserv.c tux.env ubbsimplesimpcl simpserv tuxconfig ubb ULOG.031010运行服务器端程序[oracle@myapache simpapp]$tmboot -yBooting all admin and server processes in /home/myTuxSrv/simpapp/tuxconfig INFO: Oracle Tuxedo, Version10.3.0.0, 32-bit, Patch Level (none)Booting admin processes ...exec BBL -A :process id=11402 ... Started.Booting server processes ...exec simpserv -A :process id=11403 ... Started.2 processes started.[oracle@myapache simpapp]$测试一下运行情况:[oracle@myapache simpapp]$./simpcl hello_aleiReturned string is: HELLO_ALEI[oracle@myapache simpapp]$看到以上结果,程序在本地已经可以使用了3.把客户端程序转移到主机1上运行(1)在服务器端(主机2)先做一些设置,首先关闭服务程序[oracle@myapache simpapp]$tmshutdown -yShutting down all admin and server processes in /home/myTuxSrv/simpapp/tuxconfig Shutting down server processes ...Server Id = 1 Group Id = GROUP1 Machine = simple: shutdown succeededShutting down admin processes ...Server Id = 0 Group Id = simple Machine = simple: shutdown succeeded 2 processes stopped.[oracle@myapache simpapp]$(2)修改配置文件ubb,添加一些配置;并重新编译[oracle@myapache simpapp]$vi ubb修改了以下内容(标红部分)IPCKEY 123456DOMAINID simpappMASTER simpleMAXACCESSERS 10MAXSERVERS 5MAXSERVICES 10MODEL SHMLDBAL N*MACHINESDEFAULT:APPDIR="/home/myTuxSrv/simpapp"TUXCONFIG="/home/myTuxSrv/simpapp/tuxconfig"TUXDIR="/bea/tux10"myapache LMID=simpleMAXWSCLIENTS=5*GROUPSGROUP1LMID=simple GRPNO=1 PENINFO=NONE*SERVERSDEFAULT:CLOPT="-A"simpserv SRVGRP=GROUP1 SRVID=1WSL SRVGRP=GROUP1 SRVID=10CLOPT="-A -- -n//192.168.1.66:3200 -m 2 -M 5 -x 5"*SERVICESTOUPPER(配置文件完)重新编译生成配置文件tuxconfig[oracle@myapache simpapp]$lsaccess.031010 simpcl simpserv stderr tuxconfig ubb ULOG.031010 README simpcl.c simpserv.c stdout tux.env ubbsimple[oracle@myapache simpapp]$rm -rf tuxconfig (先删除)[oracle@myapache simpapp]$tmloadcf -y ubb[oracle@myapache simpapp]$tmboot -yBooting all admin and server processes in /home/myTuxSrv/simpapp/tuxconfigINFO: Oracle Tuxedo, Version10.3.0.0, 32-bit, Patch Level (none)Booting admin processes ...exec BBL -A :process id=13105 ... Started.Booting server processes ...exec simpserv -A :process id=13106 ... Started.exec WSL -A -- -n//192.168.1.66:3200 -m 2 -M 5 -x 5 :process id=13107 ... Started.3 processes started.[oracle@myapache simpapp]$[oracle@myapache simpapp]$netstat -anp可以看到WSL也已经侦听了(3)在Tuxedo Client (主机1)上运行simpapp的客户端程序在Tuxedo客户端上,也要安装Tuxedo10gR3,但只安装Tuxedo的客户端就行了,其安装目录也是:/bea/tux10;客户端程序在/home/myTuxClient/simpapp目录中运行。
oracle_中间件_tuxedo
ORACLE TUXEDO特性z 分布式事务处理 z 可扩展的集成基础架构 z 高级安全性 z 高度可扩展性 z XA 两阶段提交 z 重复的服务框架 z 强大的故障管理 z 集群支持 z 性能指标监视 z ATMIz MQ 系列适配器 z 数据收集和报告 z 依靠数据的路由 z应用程序并行化优势z优化事务并确保跨所有资源的数据完整性,而不考虑访问协议。
z自动跟踪事务参与者并确保所有资源正确更新。
z同时在不同的分布式节点上处理多个事务。
z通过消除单点故障,在计划的和非计划的停机时间内使应用程序保持运行。
z灵活处理或延迟事务,允许分布式应用程序异步工作。
z动态复制整个网络的分布式应用程序,以使性能和可靠性最大化。
主要特性和优势在成千上万的部署提供可靠性能的第三个十年,Oracle Tuxedo 成为世界上最受关注的高端计算平台之一。
它将多年来所形成的令人放心的可靠性、性能和成熟度与最新的面向服务的体系结构 (SOA) 标准和技术相结合,使您的关键任务流程在您的环境中成为一流参与者。
不论您是要实现现有的 C 或 C ++ 应用程序的现代化、重新托管大型机 COBOL 应用程序,还是要根据极限处理事务需求构建新的 SOA 服务,Oracle Tuxedo 都是可靠的选择。
用于高吞吐量以及关键任务应用程序的引擎在当今的信息技术 (IT) 整合、全球范围内使用以及可持续利用的环境中,企业需要能够提供以下功能的企业应用服务器z支持在亚秒响应时间内每秒成千上万的事务处理,随负载变化的线性和动态扩展z提供基于标准的大型机、应用程序到事务管理器接口 (Application-to-Transaction Manager Interface, ATMI)、公共对象请求代理体系结构 (CORBA) 以及 Web 服务的互操作性,以便于集成和更快地推向市场 z通过透明、双向的 SOA 集成来实现 COBOL 、C 和 C++ 应用程序的现代化z通过提供支持已迁移大型机应用程序的平台,帮助客户降低维护关键任务企业系统的成本z可在多种平台上运行,从经济性台式机到最大、最强的数据中心Oracle Tuxedo 通过强大的可靠性和事务完整性、超高性能、线性扩展性以及基于配置的部署,为应用程序服务提供坚实的基础。
VSCode与Java开发集成
VSCode与Java开发集成随着软件开发的不断深入和发展,越来越多的开发人员开始采用现代化的集成开发环境(IDE)来提高开发效率。
其中,Visual Studio Code(简称VSCode)作为一款轻量级的开源IDE,获得了广泛的关注和使用。
本文将探讨VSCode与Java开发的集成,介绍如何搭建和配置VSCode,以及利用其强大的功能进行Java开发。
一、搭建VSCode环境1. 下载与安装通过访问VSCode官方网站,下载适合自己操作系统的安装包,并按照提示进行安装。
安装完成后,启动VSCode即可开始配置与使用。
2. 安装Java开发相关插件在VSCode的扩展市场中,可以找到许多与Java开发相关的插件,例如"Java Extension Pack"、"Language Support for Java"等。
通过在VSCode中搜索并安装这些插件,可以使其支持和增强Java开发过程中的编码、调试、自动完成等功能。
二、配置VSCode与Java开发环境1. 配置Java安装路径在VSCode的设置选项中,可以找到Java相关的配置项。
在这些配置项中,需要指定Java的安装路径,以便VSCode能够正确地识别和使用Java SDK。
2. 设置项目构建和依赖管理工具对于Java开发项目,常用的项目构建和依赖管理工具有Maven和Gradle。
在VSCode中,可以设置使用哪种工具,并进行相关的配置,以便VSCode能够正确地识别和管理项目的依赖关系。
三、使用VSCode进行Java开发1. 创建Java项目在VSCode的菜单中,选择"文件"->"新建文件夹",然后在新建文件夹中创建Java项目的根目录。
在根目录下,创建Java源代码文件和配置文件等,构建项目的基本结构。
2. 编写和调试Java代码在VSCode中,打开Java源代码文件后,可以使用VSCode提供的代码编辑功能进行代码编写。
libreoffice uno java 实例
libreoffice uno java 实例“LibreOffice UNO Java实例”是一个关于使用Java编程语言访问LibreOffice API的主题。
在本文中,我将会一步一步地回答这个主题,并提供一些具体的示例代码。
第一步:设置LibreOffice UNO开发环境在开始编写LibreOffice UNO Java实例之前,我们需要先设置好开发环境。
首先,你需要安装LibreOffice套件,确保将其完整安装到你的计算机中。
然后,你需要下载LibreOffice软件开发包(SDK),并将其安装到你的计算机中。
SDK包含了一些用于LibreOffice UNO开发的工具和资源。
第二步:创建一个Java项目在你的集成开发环境(IDE)中创建一个新的Java项目。
你可以选择使用任何你熟悉和喜欢的IDE,如Eclipse或IntelliJ IDEA。
第三步:导入LibreOffice UNO库为了能够访问LibreOffice的功能,我们需要导入LibreOffice UNO库。
这些库文件通常位于LibreOffice安装目录的"program"文件夹下。
在你的Java项目中,你需要把这些库文件添加到您的类路径中。
具体来说,你需要将以下JAR文件导入到你的项目中:- juh.jar- jurt.jar- ridl.jar- unoloader.jar- unoloader.jim可以通过在IDE中添加外部库或使用构建工具(如Maven或Gradle)来完成此操作。
第四步:连接到LibreOffice实例接下来,我们需要连接到一个LibreOffice实例。
在Java中,我们可以使用com.sun.starp.helper.Bootstrap类的静态方法创建一个连接。
该方法的一个参数是一个URL,用于指定要连接的LibreOffice实例的位置。
如果LibreOffice在默认安装目录中,URL可以设置为"socket,host=localhost,port=8100;urp;StarOffice.ServiceManager"。
JAVA与TUXEDO环境集成
A JAVA集成TUXEDO方式两种调用TUXEDO服务的方式,JOLT,WTC1.JOLT是一个单项解决方案,只允许JA V A应用调用TUXEDO,不支持TUXEDO的反向调用。
2.WTC是双向解决方案,支持两者间的相互调用,而且从架构上提供两个服务器间的事务和安全集成。
倾向于选择部署WebLogic服务,通过WTC与后台TUXEDO服务互操作。
WTC的实现WTC是WebLogic用于集成Tuxedo的一个部件,部署在WebLogic上的JSP,SERVET,EJB应用可以通过WTC提供API来调用Tuxedo的服务,Tuxedo也可以通过WTC来访问WebLogic 服务器上的应用。
开发阶段Tuxedo端配置1.修改.profile文件,设置必要环境变量在原有Tuxedo服务环境变量基础上添加环境变量BDMCONFIG设置BDM文件路径(同Ubb文件编译后生成2进制配置文件),使用dmloadcf编译。
2.修改UBB文件在原有配置基础上添加3个通信serverDMADM SRVGRP=GROUP4 SRVID=1GWADM SRVGRP=GROUP4 SRVID=2GWTDOMAIN SRVGRP=GROUP4 SRVID=33.新增dm文件基本格式#本地配置指Tuxedo机器注意GWGRP=GROUP4,GROUP4在ubb中指定*DM_LOCAL_DOMAINSTDOM1 GWGRP=GROUP4TYPE=TDOMAINDOMAINID="TDOM1"BLOCKTIME=20MAXDATALEN=56MAXRDOM=89#远端配置指weblogic机器*DM_REMOTE_DOMAINSTDOM2 TYPE=TDOMAINDOMAINID="TDOM2"#指定本地机器,远端机器IP地址TDOM1 与*DM_LOCAL_DOMAINS节点DOMAINID="TDOM1"对应TDOM2 与*DM_REMOTE_DOMAINS节点DOMAINID="TDOM2"对应*DM_TDOMAINTDOM1 NWADDR="//128.96.96.109:9977"TDOM2 NWADDR="//128.96.96.109:9988"#指定本地提供交易名(Tuxedo提供给Weblogic调用的交易名)TOUPPER 本地TUxedo提供交易名RNAME="TOUPPER" 远端调用交易名(相当与远端调用时使用的别名) *DM_LOCAL_SERVICESTOUPPER RNAME="TOUPPER"ServConsole RNAME="ServConsole"#指定远端提供服务名(Weblogic提供给Tuxedo调用交易名)*DM_REMOTE_SERVICESWeblogic端配置1>(Wtc服务配置) - 新增WTC服务名-案例中为WTCtest2>(本地AP)TDOM2配置-对应tuxedo端TDOM2配置3>(远端AP)TDOM1配置-对应Tuxedo端TDOM1配置4>(已导入服务)对应Tuxedo端dm配置文件*DM_LOCAL_SERVICES节点5>(已导出)对应Tuxedo端dm配置文件*DM_REMOTE_SERVICES节点6>(可用服务)通过选取,控制-服务选项,可查看当前WTC提供服务维护阶段需要新增服务只需在*DM_LOCAL_SERVICES或*DM_REMOTE_SERVICES节点添加相应交易名即可。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A JAVA集成TUXEDO方式
两种调用TUXEDO服务的方式,JOLT,WTC
1.JOLT是一个单项解决方案,只允许JA V A应用调用TUXEDO,不支持TUXEDO的反向调用。
2.WTC是双向解决方案,支持两者间的相互调用,而且从架构上提供两个服务器间的事务和安全集成。
倾向于选择部署WebLogic服务,通过WTC与后台TUXEDO服务互操作。
WTC的实现
WTC是WebLogic用于集成Tuxedo的一个部件,部署在WebLogic上的JSP,SERVET,EJB应用可以通过WTC提供API来调用Tuxedo的服务,Tuxedo也可以通过WTC来访问WebLogic 服务器上的应用。
开发阶段
Tuxedo端配置
1.修改.profile文件,设置必要环境变量
在原有Tuxedo服务环境变量基础上添加环境变量BDMCONFIG
设置BDM文件路径(同Ubb文件编译后生成2进制配置文件),使用dmloadcf编译。
2.修改UBB文件
在原有配置基础上添加3个通信server
DMADM SRVGRP=GROUP4 SRVID=1
GWADM SRVGRP=GROUP4 SRVID=2
GWTDOMAIN SRVGRP=GROUP4 SRVID=3
3.新增dm文件
基本格式
#本地配置指Tuxedo机器
注意GWGRP=GROUP4,GROUP4在ubb中指定
*DM_LOCAL_DOMAINS
TDOM1 GWGRP=GROUP4
TYPE=TDOMAIN
DOMAINID="TDOM1"
BLOCKTIME=20
MAXDATALEN=56
MAXRDOM=89
#远端配置指weblogic机器
*DM_REMOTE_DOMAINS
TDOM2 TYPE=TDOMAIN
DOMAINID="TDOM2"
#指定本地机器,远端机器IP地址
TDOM1 与*DM_LOCAL_DOMAINS节点DOMAINID="TDOM1"对应
TDOM2 与*DM_REMOTE_DOMAINS节点DOMAINID="TDOM2"对应*DM_TDOMAIN
TDOM1 NWADDR="//128.96.96.109:9977"
TDOM2 NWADDR="//128.96.96.109:9988"
#指定本地提供交易名(Tuxedo提供给Weblogic调用的交易名)
TOUPPER 本地TUxedo提供交易名
RNAME="TOUPPER" 远端调用交易名(相当与远端调用时使用的别名) *DM_LOCAL_SERVICES
TOUPPER RNAME="TOUPPER"
ServConsole RNAME="ServConsole"
#指定远端提供服务名(Weblogic提供给Tuxedo调用交易名)
*DM_REMOTE_SERVICES
Weblogic端配置
1>(Wtc服务配置) - 新增WTC服务名-案例中为WTCtest
2>(本地AP)TDOM2配置-对应tuxedo端TDOM2配置
3>(远端AP)TDOM1配置-对应Tuxedo端TDOM1配置
4>(已导入服务)对应Tuxedo端dm配置文件*DM_LOCAL_SERVICES节点
5>(已导出)对应Tuxedo端dm配置文件*DM_REMOTE_SERVICES节点
6>(可用服务)通过选取,控制-服务选项,可查看当前WTC提供服务
维护阶段
需要新增服务
只需在*DM_LOCAL_SERVICES或*DM_REMOTE_SERVICES节点添加相应交易名即可。
1.按组关闭与WTC服务tmshutdown -g GROUP4
就是下列服务:
DMADM SRVGRP=GROUP4 SRVID=1
GWADM SRVGRP=GROUP4 SRVID=2
GWTDOMAIN SRVGRP=GROUP4 SRVID=3
2.修改dm文件,添加相应交易配置
dmloadcf 重新编译后,tmboot -g GROUP4
启动WTC服务
3.修改Weblogic端WTC服务配置。