tuxedo文件传输
07_TUXEDO_通信
<Insert Picture Here>Tuxedo 通信Tuxedo通信缓冲区 Tuxedo通信方式Tuxedo通信缓冲区✓通信缓冲区简介✓通信缓冲区类型✓与缓冲区使用有关的ATMI Tuxedo通信方式•TUXEDO的客户端与服务端之间的数据传送是通过数据缓冲区来进行的。
•TUXEDO的数据缓冲区主要包括–STRING–CARRAY–VIEW/VIEW32–FML/FML32•从TUXEDO7.1开始,还增加了XML数据缓冲区。
•TUXEDO还有几种缓冲区是专门针对COBAL的。
•在TUXEDO中还可以定义自己的缓冲区类型。
•STRING •CARRAY •VIEW/VIEW32•FML/FML32•XML•类似C语言的字符串,NULL被认为是字符串的结尾•可变长,适合于传递变长文本字符串•在不同平台之间传输时,可配置支持数据的编码和解码•不支持数据依赖路由(DDR)•分配bitmap = tpalloc(―CARRAY‖, NULL,(2*1024));•定长字符数组,可以包含NULL字符•适合于传递二进制数据,如位图•在不同平台之间传输时,不作数据的编码和解码•不支持数据依赖路由(DDR)•分配sendbuf = (char *) tpalloc("STRING", NULL, sendlen+1))通信缓冲区类型-STRING / CARRAY通信缓冲区类型-VIEW•使用类似C语言的结构的形式在不同平台之间传递数据•支持数据的编码和解码,解决大端小端的差异问题•支持数据依赖路由(DDR)•创建和编译–使用TUXDEV或文本编辑器原始VIEW文件(.v)–使用VIEW或VIEW32编译成.V,.VV文和.h文件•分配和使用bufptr = (struct aud *)tpalloc(“VIEW32”,”aud”, sizeof(struct aud));bufptr->bid = this_branch_id;buf->balance = current_balancestrcpy(bufptr->ermsg ,"account is overdrawn");•FML(Field Manipulation Language)用于组织和管理内存中的数据字段和记录•与其它BUFFER相比,它为数据在内存中的组织提供了一种更高层次的抽象,程序员直接调用FML函数来操作内存,而不必关心数据在内存中是如何组织的•FML缓冲区有16位和32位两种格式,推荐使用32位格式,目前仍支持16位格式仅仅是为了和以前的版本兼容•缓冲区大小:32位格式最大支持4GB,16位格式最大支持64KB•支持的字段类型–short, long, float, double, char STRING, CARRAY–ptr(缓冲区指针),FML32,VIEW32(嵌套FML32,VIEW32缓冲区)•分配fbuf = (FBFR32 *)tpalloc(―FML32‖,NULL,need);•tpalloc •tprealloc •tpfree •tptypeschar * tpalloc(char *type, char *subtype, long size)•描述:分配缓冲区•参数:–type:缓冲区的类型–subtype:缓冲区的子类型,只有VIEW有子类型,其他的缓冲区该参数要设为NULL–long:缓冲区的大小•返回值: 成功返回一个指向所分配空间首地址的CHAR *形指针,失败返回NULL。
Tuxedo 产品介绍
BEA TUXEDO标准选件近几年来,以交易中间件为框架基础的三层客户机/服务器模式已被广泛证实为建立开放式关键业务应用系统的最佳环境。
这种模式的成功使用已为许多国际大型企业在应用的开发和部署方面节省了大量的时间和金钱。
三层客户机/服务器模式的核心概念是利用交易中间件将应用的业务逻辑、表示逻辑和数据分为三个不同的处理层,从而使其应用系统不但具备了大型机系统稳定、安全和处理能力高等特性,同时拥有开放式系统成本低、可扩展性强、开发周期短等优点。
而交易中间件作为构造三层结构应用系统的基础平台,提供了以下两个主要功能:负责客户机和服务器间的联接和通讯;提供一个三层结构应用开发和运行的平台。
交易中间件提供一个基础的框架去帮助你建立、运行和管理一个三层客户机/服务器模式的应用,使你不需要从零做起,大大缩短了应用开发的时间,提高了应用开发的成功率。
根据Standish Group的调查报告,采用一个成熟的交易中间件产品能够为应用开发节省25%-50%的时间。
而通过自己去开发应用里中间件功能的项目,有90%以上以失败告终。
一个优秀的交易中间件应具备以下六个条件:(1) 成熟、稳定、可靠(2) 很强的产品生命力(3) 完整、高质量的功能(4) 优秀的性能(5) 开放、遵循标准(6) 简单、易用而TUXEDO就是一个具备了以上所有条件的优秀的中间件产品。
本节将对TUXEDO进行介绍,包括以下内容:1 BEA TUXEDO的技术特色2 BEA TUXEDO的核心系统组成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种API3.14 支持字符界面的开发3.15 对远程安装,设置的支持4 国际化5 与数据库的连接6 开发工具7 跨平台支持8 互连性9 典型开发过程简介10 节省费用1. BEA TUXEDO的技术特点(1) 最成熟、稳定、可靠的开放平台交易中间件产品•16年的历史,世界第一个开放平台交易中间件产品•数千个大型客户,数百万个前端用户,每天处理数亿笔交易•在全球交易中间件市场(包括WAS)上占据了46%的市场占有率,包括主机平台,开放系统等等,而第二名的IBM只占据了9%(来自IDC1999报告)(2) 最强生命力的开放平台交易中间件产品●以开放为本,BEA TUXEDO出身于开放系统的化身—UNIX,从其基础体系结构上就是开放的,目的是支持所有开放的系统资源。
tuxedo基本操作atmi介绍
系统自带authsvr服务进程,和两个子例程,tpsvrinit(),tpsvrdone。
authsvr:客户端调用tpinit进行认证时,由交易TPAPPAUTH回应。
服务端自动调用tpsvrinit,可以在函数中进行数据库连接和处理命令行参数。
结束时tpsvrdone也被自动调用,可以在函数中断开数据库连接。
这两个例程分别在进程开始时和进程将要结束时,被自动调用。
服务端编程指导:交易内一次只能接收一个请求,发送一个响应。
交易必须以tpretrurn, tpforward结束。
或交易内使用了tpacall,在返回或转发前,要么等待回应,要么使用tpcancel。
tpreturn一旦被调用,控制权就转移到main函数,未进行显示收取的响应会被丢弃,此时客户端会收到错误。
客户端调用tpcall后,若服务端此时对应的tpreturn成功返回,客户端tpcall才能返回。
客户端调用tpacall后,若服务端此时对应的tpreturn成功返回,客户端tpgetrply才能返回。
返回的数据,可由客户端从指针*data处取得。
tpforward调用时,程序逻辑应保证之前的处理都正确,响应被收到。
被调用后,交易不再等待响应。
main函数取得控制权。
被请求的另一个交易负责响应原来的请求。
不能将请求转发到自身。
tpreturn 的参数:rval: 表明交易是否成功执行。
rcode:是应用自定义的返回值。
客户端可通过tpurcode获得tpreturn的rcode值,而不论交易是否成功。
data: 该缓冲区由客户端传递,服务端可以将回应数据写至此地址。
也可以进行tprealloc.而不能tpfree. 服务端也可以自行tpalloc一个缓冲区,并返回给缓冲区,但需要自行若管理。
如果发送的数据长度大于已分配的,tuxedo会自动扩大缓冲。
len: 用来指示响应缓冲的长。
客户端可据此得知数据是否有变化。
如果客户端需要收到一个响应,而tpreturn自身处理时出错,这时tpcall或tpgetrply会失败,客户端应检查tperrno. 此时客户端的data缓冲区没有变化。
TUXEDO教程
TUXEDO教程
Tuxedo是一种分布式事务处理和应用程序开发环境,用于构建和部
署高性能,可靠的事务处理应用程序和服务。
Tuxedo(Transaction)基
于客户/服务器架构,这意味着请求消息的发送者是客户端,接收这些消
息的是服务器。
Tuxedo的客户/服务器架构能够将计算任务多源分布在多台服务器中,利用系统资源相结合,来满足用户执行复杂应用程序的需求。
客户/服务
器架构可以支持C/S(Client/Server)架构,主机/代理架构和事件驱动
架构。
Tuxedo中的客户端和服务器端都提供了一种服务协定,它定义了同
一应用程序中客户与服务器通信的规范。
Tuxedo服务协定提供了各种规
范的数据储存和储存格式规范,以及确定服务调用请求及响应的消息结构等。
Tuxedo支持事务处理服务(TMS),这使得应用程序可以安全地处理
复杂的逻辑实体,而不会受到现有系统失败的影响。
Tuxedo提供了一种
分布式事务处理模型,它使应用程序能够在不同的服务器上安全地执行事务,以防止数据损坏和系统崩溃。
Tuxedo还提供了可扩展的事务处理环境,允许用户设计符合客户/服
务器模式的应用程序。
tuxedo常用命令
Tuxedo作为系统的中间件,其配置主要包括:资源文件的配置和应用环境的配置;其管理和维护主要包括:系统的启动和关闭、日志的跟踪查看工作。
Tux edo 应用系统的配置一、应用系统的资源配置,全都包含在两个资源配置文件中(ub bconf ig 和d mconf ig ),在这两个配置Tux edo 作为系统的中间件,其配置主要包括:资源文件的配置和应用环境的配置;其管理和维护主要包括:系统的启动和关闭、日志的跟踪查看工作。
T uxedo应用系统的配置一、应用系统的资源配置,全都包含在两个资源配置文件中(ubbc onfig和dmc onfig),在这两个配置文件中包含了系统所有的应用资源(文件)。
1、对于ubb confi g文件,可以任意使用一个文件名(如:ub b.txt),使用一种文本编辑工具,将应用系统的资源分类进行配置,相关进程启动数量等等都应该配置在其中,然后设置环境变量TUXCO NFIG,使用系统命令:tml oadcf来将文本文件ubb.txt,转化生成环境变量TU XCONF IG制定的二进制文件。
在该文件中主要包含了几个参数的设置:系统所使用的共享内存的键值IPC KEY,针对work stati on 客户端的监听进程的端口(W SL),多台机器之间互连(登记中心与各网关)的网络地址和端口(NADD R,NLS ADDR),数据依赖路由的设定等等。
详细的内容参看《Ubb confi g配置.d oc》参看模版来实现移植或添加应用进程等等。
2、对于dmc onfig文件,可以任意使用一个文件名(如:dm.txt),使用一种文本编辑工具,将应用系统的多域互联及互相调用的关系进行配置,包括多域之间互联的地址和端口,然后使用系统命令:dm loadc f 来将文本文件dm.txt,转化成环境变量BDM CONFI G所指定的二进制文件。
tuxedo应用
*GROUPS
*GROUPS "LDMGRP" LMID="SITE1" GRPNO=20 TMSCOUNT=3 //组名,所属主机,组号,TMS个数(事 务监控) "LGWGRP01" LMID="SITE1" GRPNO=101 TMSCOUNT=3 "TRAN0" LMID="SITE1" GRPNO=50 TMSCOUNT=3 "THR990" LMID="SITE1" GRPNO=92 TMSCOUNT=3 "MUTIPAGE_GROUP" LMID="SITE1" GRPNO=100 TMSCOUNT=3 "RMS_GROUP" LMID="SITE1" GRPNO=200 TMSCOUNT=3 "POS_CTL_GRP" LMID="SITE1" GRPNO=300 TMSCOUNT=3
详解命令行参数
-A 表示server启动时,自动在BB中登记所包含的services。 -t 低版本的客户端连高版本的server端 -n 接入点为 HOST/IP:PORT, 与客户端WSNADDR环境变量相同。 -m 表示这个JSL fork出最少的JSH个数(初始值) -M 表示这个JSL fork出最多的JSH个数 -x 表示每个JSH同时处理多少各client的连接。 (请求队列的长度) -T 表示client端连上server连接后, 如果30秒没有交易请求,自动关闭连接。 -H 使用防火墙的外网地址。 -p -P 防火墙接入点所用的端口号范围。 (客户端WSNADDR要与外网地址一样)
linux系统tuxedo安装指导
linux系统tuxedo安装指导[置顶]Linux系统下Tuxedo安装Linux系统下Tuxedo安装1. 在Linux 环境中新建⼀个⽤户tuxdeo/tuxdeo,从⽹上下载⽀持该Linux系统的tuxedo软件包。
2. 将⽂件通过ftp ,U盘或其他⽅式将软件包传到该⽤户的⽬录下/home/tuxedo/tuxedo111120_32_Linux_01_x86.bin执⾏sh tuxedo111120_32_Linux_01_x86.bin –i console命令开始安装tuxedo3. 安装开始进⼊如下界⾯,按Enter键继续:4. 选择安装设置,选择1- Full Instll,完全安装模式,按Enter键继续。
5. 选择tuxedo安装所放的路径/home/tuxedo/oracle6. 确定安装⽬录,还是要修改安装⽬录,选择2 ,选择现在的⽬录。
7. 显⽰之前选择的安装信息,按Enter键继续。
8. 准备安装,按Enter键继续。
9. 安装中出现,Configure tlisten Service,输⼊密码tuxedo10. 选择安装SSL,选择1,按Enter键继续11. 设置LDAPLDAP Service Name:LdapserLDAP PortID: 123456LDAP BaseObject: LdapbsojLDAP Filter File Location:按Enter 键继续12. 安装成功,按Enter键继续13. 接下来要⽤例⼦检查服务的联通性,在装完tuxedo的⽬录下有个⽂档⾥有tuxedo例⼦/home/tuxedo/oracle/tuxedo11gR1/samples1). 在⽬录/home/tuxedo/oracle/tuxedo11gR1/下有个tux.env⽂件,将该⽂件拷贝到该⽤户根⽬录下的 .bash_profile⽂件中,⽤命令source .bash_profile使环境变量⽣效,再注销系统,重新登陆。
2024版Tuxedo教程全解
Tuxedo教程全解contents •Tuxedo概述•Tuxedo核心组件•Tuxedo应用开发•Tuxedo系统部署与配置•Tuxedo性能优化与监控•Tuxedo实战案例解析目录Tuxedo概述Tuxedo定义与特点Tuxedo是一种中间件Tuxedo的特点Tuxedo应用领域金融行业电信行业其他行业Tuxedo发展历程Tuxedo的起源Tuxedo的发展Tuxedo 的未来Tuxedo核心组件ATMI编程接口支持多种编程语言,如提供了事务管理、通信、安全等方面的功能。
Tuxedo服务器123Tuxedo客户端010203Tuxedo管理工具Tuxedo应用开发开发环境搭建安装Tuxedo系统配置环境变量选择开发工具建立项目工程设计服务接口编写服务代码配置服务属性编译和部署服务服务开发流程根据业务需求设计客户端界面,包括输入、输出显示等。
设计客户端界面编写客户端代码配置客户端属性编译和部署客户端使用Tuxedo 提供的API 编写客户端代码,实现与服务端的交互。
在配置文件中配置客户端相关属性,如连接的服务地址、端口等。
使用Tuxedo 提供的编译工具将客户端代码编译成可执行文件,并部署到用户环境中。
客户端开发流程日志调试通过查看Tuxedo系统日志和应用程序日志定位问题原因。
跟踪调试使用Tuxedo提供的跟踪工具对服务调用进行跟踪调试,查看调用过程和结果。
单元测试针对每个服务或函数编写单元测试代码进行测试验证功能正确性。
集成测试将所有服务集成在一起进行测试验证整个系统的功能正确性。
调试与测试方法Tuxedo系统部署与配置系统部署方案单机部署01分布式部署02集群部署03服务器参数配置事务管理配置资源管理配置包括客户端名称、服务器地址、端口号等参数的配置。
客户端参数配置配置客户端事务的提交和回滚方式,确保客户端与服务器之间的事务一致性。
事务管理配置配置客户端的负载均衡策略,实现请求的均匀分配和故障转移。
Tuxedo+配置维护手册
Tuxedo配置维护手册Tuxedo作为系统的中间件,其配置主要包括:资源文件的配置和应用环境的配置;其管理和维护主要包括:系统的启动和关闭、日志的跟踪查看工作。
Tuxedo应用系统的配置一、应用系统的资源配置,全都包含在两个资源配置文件中(ubbconfig和dmconfig),在这两个配置文件中包含了系统所有的应用资源(文件)。
1、对于ubbconfig文件,可以任意使用一个文件名(如:ubb.txt),使用一种文本编辑工具,将应用系统的资源分类进行配置,相关进程启动数量等等都应该配置在其中,然后设置环境变量TUXCONFIG,使用系统命令:tmloadcf来将文本文件ubb.txt,转化生成环境变量TUXCONFIG制定的二进制文件。
在该文件中主要包含了几个参数的设置:系统所使用的共享内存的键值IPCKEY,针对workstation客户端的监听进程的端口(WSL),多台机器之间互连(登记中心与各网关)的网络地址和端口(NADDR,NLSADDR),数据依赖路由的设定等等。
详细的内容参看《Ubbconfig配置.doc》参看模版来实现移植或添加应用进程等等。
2、对于dmconfig文件,可以任意使用一个文件名(如:dm.txt),使用一种文本编辑工具,将应用系统的多域互联及互相调用的关系进行配置,包括多域之间互联的地址和端口,然后使用系统命令:dmloadcf来将文本文件dm.txt,转化成环境变量BDMCONFIG所指定的二进制文件。
在该文件中主要包含了在多个域互连时用到的一些设置,主要包括:各个域的定义,各个域通讯连接的地址和端口(NWADDR),本地服务(DM_LOCAL_SERVICES)和远端服务(DM_REMOTE_SERVICES)以及数据依赖路由等等。
详细的内容参看《dmconfig配置.doc》参看模版来实现移植或添加应用远端或本地服务等等。
3、客户端代码:是指使用编译工具buildclient编译生成的执行代码。
TUXEDO技术详述
TUXEDO技术详述高速数据甬道TUXEDO提供高速数据甬道,所谓数据甬道,是指能够把前端的大量网络连接汇聚成较少的后端连接并减少数据传送量。
采用数据甬道技术,保证应用系统即使在大量用户同时请求服务的时候,也能够保持快速、稳定的工作状态。
●降低网络负担-关键的联机交易业务系统往往是一个基于广域网的系统,广域网速度远远低于局域网,而联机交易对响应时间又有较高要求,所以网络负担是影响系统成败的一个重要因素。
另外,大量的网上传输从经济上考虑也是不合算的。
TUXEDO提供高速的数据甬道,管理客户机与服务器的联接,在客户机和服务器之间只传送服务名、参数和最终结果,和业务逻辑完全分离,最大限度减少了网络上的传输量。
●提高主机处理能力-联机业务处理的应用系统用户数量很多,有时甚至达到几十万,交易量也非常大,主机处理能力对系统而言是一个关键因素。
而在主机方面,维持一个网络连接需要耗费大量内存、进程句柄、信号量、CPU时间片等系统资源。
TUXEDO利用高速数据甬道,将大量连接汇接成很少的连接,从而节省了大量系统资源,成倍提高了主机的处理能力。
●提高数据库效率-数据库在并行用户数增加时,效率会急剧下降,因为每个并行用户必须和数据库建立一个会话,如果用户数过多,数据库引擎会忙于会话的资源管理和并行控制,影响它所擅长的数据管理工作的效率。
TUXEDO可以通过数据甬道大大减少和数据库建立的会话数,将数据库管理系统从其不擅长的业务中解放出来,从而大大提高数据操作的效率。
目录服务的实现BEA TUXEDO提供两类目录服务,即按名请求服务和数据依赖的路由选择服务。
· 名字服务/位置透明性BB作为BEA TUXEDO应用程序的名字服务器,复制到每个参与的结点上。
为了便于快速访问,名字服务器作为在共享内存中的一个结构存在。
事务管理器使用BB名字信息、配置信息和环境统计信息自动把服务请求以负载平衡的原则分配到可用的服务器上,并且根据服务优先级决定处理顺序。
TUXEDO配置参数详解
TUXEDO配置参数详解
1、TUXCONFIG:
TUXCONFIG(TUXCONFIG)是TUXEDO系统的初始参数文件,也是系统中最重要的参数配置文件,它是在TUXEDO系统环境初始化时被读取,并影响系统的行为。
TUXCONFIG中所有参数都是静态字符串,也就是说TUXCONFIG中的参数都必须在系统环境初始化时就被定义,不能在运行过程中进行动态变更。
TUXCONFIG中定义的参数可以分类如下:
(1)系统参数:这类参数用于控制TUXEDO系统的基本行为,其中主要包括系统节点的跨越连接策略、超时时间配置、服务配置参数等。
(2)组件参数:这类参数主要用于控制特定的TUXEDO组件,如消息传递队列、客户服务器、事件传递服务器等,参数设置主要关系到这些组件的行为。
(3)应用参数:这类参数用于配置应用程序的参数,如运行的服务名称、程序运行时的参数设置等。
2、TUXENV:
TUXENV(TUXENV)是TUXEDO系统的运行环境参数文件,它里面包含了系统级参数和应用级参数,而且这些参数可以在运行时动态变更。
TUXENV 中定义的参数设置都是以文本形式存放的,每一行表示一条参数,参数设定包括参数名称、参数值、参数描述等内容。
TUXENV中定义的参数可以分类如下:
(1)系统参数:这类参数用于控制TUXEDO系统的基本行为。
TUXEDO教程
TUXEDO教程TUXEDO(The UniX Environment Developed for Operation)是一个基于UNIX的操作系统,它主要用于日常办公和个人使用。
TUXEDO具有简洁、稳定、高效的特点,而且非常容易上手。
在本教程中,我将为大家介绍TUXEDO的基本操作和一些常用功能。
第一部分:TUXEDO的安装和设置第二步:设置TUXEDO安装完成后,你需要对TUXEDO进行一些基本的设置。
例如,你可以设置语言和时区,还可以选择你喜欢的桌面环境。
在这一步,你应该根据自己的需求进行个性化设置。
第二部分:TUXEDO的基本操作1.系统登录启动TUXEDO后,你将会看到一个登录界面。
输入你的用户名和密码,然后点击登录按钮,你就可以进入系统了。
2.桌面环境3.文件管理在TUXEDO中,你可以使用Nautilus(GNOME)、Dolphin(KDE Plasma)等文件管理器来浏览你的文件夹和文件。
你可以通过双击文件夹打开它,或者使用右键菜单进行一些操作,比如复制、剪切、重命名等。
4.应用程序的安装和卸载5.系统更新6.终端操作TUXEDO提供了一个终端,你可以使用它来进行一些高级操作,比如安装软件包、管理用户、执行命令等。
通过打开终端,你可以输入一些命令来完成你想要的操作。
例如,你可以使用“sudo apt-get install<package>”来安装软件包。
第三部分:TUXEDO的高级功能1.多用户管理2.网络设置3.数据备份和恢复在TUXEDO中,你可以使用备份工具来备份你的重要文件和数据。
通过备份工具,你可以选择要备份的文件和文件夹,然后设置备份的位置和计划。
当你需要恢复数据时,只需使用备份工具来选择要恢复的文件和备份位置即可。
4.安全和隐私总结:通过这个教程,你应该已经了解了TUXEDO的基本操作和一些常用功能。
希望这个教程能够帮助你更好地使用TUXEDO,并享受到它简洁、稳定和高效的特点。
tuxedo命令和配置的详细解释及应用实例
tuxedo命令和配置的详细解释及应用实例域的组成BDMCONFIG:二进制配置文件DMADM:域管理服务器,管理多个GWADMGWADM:运行时网关管理服务器,从DMADM服务器上获取域信息GWTDOMAIN:是一个网关进程,在域之间转发消息tmshutdown/tmboot -s 服务名按服务名停/启单个服务tmshutdown/tmboot -S (大写的S)停/启所有服务tmshutdown/tmboot -i 进程号按进程号停/启单个服务tmshutdown/tmboot -g 组名字按组停/启服务tmshutdown/tmboot -y -w1 按用户停/启服务tmloadcf -n 文件名只做语法检查不编译tmloadcf -y 文件名编译二进制文件tmloadcf -c 文件名测试IPC资源最小需求tmadmin -v 版本tmadmin>bbp 查BB的参数bbs BB统计信息pclt 连接客户端信息psr server信息psc service信息pt 当前事物信息pq 队列信息echo psr|tmadmin|grep -v IDLEecho psr|tmadmin|sort +4echo psc|tmadmin|sort +6echo pq|tmadmin|sort +4echo pclt|tmadmin|grep -v WSH|grep -v tmadmin以下是tmadmin命令的printserver(简写为psr)的简单输出。
列号描述1. 服务的可执行文件名2. 服务连接的队列名3. 组名4. 服务的数字id5. 服务已经处理的请求数6. 服务处理的全部请求的参数和7. 服务正在处理的交易,若为IDLE则服务当前是空闲ccsmis:/home2/ccsmis>tmadmintmadmin - Copyright (c) 1996 BEA Systems, Inc.Portions * Copyright 1986-1997 RSA Data Security, Inc.All Rights Reserved.Distributed under license by BEA Systems, Inc.Tuxedo is a registered trademark.> printserverProg Name Queue Name Grp Name ID RqDone Load Done Current Service --------- ---------- -------- -- ------ --------- --------------- rz_Ecsb 00004.04000 APGP2 4000 0 0 ( IDLE )BBL 70020 simple 0 1 50 ( IDLE ) IFMTMS APGP2_TMS APGP2 30001 1 50 ( IDLE )交易信息来自GAI的信息本处略去。
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命令和配置的详细解释及应用实例
tuxedo命令和配置的详细解释及应用实例域的组成BDMCONFIG:二进制配置文件DMADM:域管理服务器,管理多个GWADMGWADM:运行时网关管理服务器,从DMADM服务器上获取域信息GWTDOMAIN:是一个网关进程,在域之间转发消息tmshutdown/tmboot -s 服务名按服务名停/启单个服务tmshutdown/tmboot -S (大写的S)停/启所有服务tmshutdown/tmboot -i 进程号按进程号停/启单个服务tmshutdown/tmboot -g 组名字按组停/启服务tmshutdown/tmboot -y -w1 按用户停/启服务tmloadcf -n 文件名只做语法检查不编译tmloadcf -y 文件名编译二进制文件tmloadcf -c 文件名测试IPC资源最小需求tmadmin -v 版本tmadmin>bbp 查BB的参数bbs BB统计信息pclt 连接客户端信息psr server信息psc service信息pt 当前事物信息pq 队列信息echo psr|tmadmin|grep -v IDLEecho psr|tmadmin|sort +4echo psc|tmadmin|sort +6echo pq|tmadmin|sort +4echo pclt|tmadmin|grep -v WSH|grep -v tmadmin以下是tmadmin命令的printserver(简写为psr)的简单输出。
列号描述1. 服务的可执行文件名2. 服务连接的队列名3. 组名4. 服务的数字id5. 服务已经处理的请求数6. 服务处理的全部请求的参数和7. 服务正在处理的交易,若为IDLE则服务当前是空闲ccsmis:/home2/ccsmis>tmadmintmadmin - Copyright (c) 1996 BEA Systems, Inc.Portions * Copyright 1986-1997 RSA Data Security, Inc.All Rights Reserved.Distributed under license by BEA Systems, Inc.Tuxedo is a registered trademark.> printserverProg Name Queue Name Grp Name ID RqDone Load Done Current Service --------- ---------- -------- -- ------ --------- --------------- rz_Ecsb 00004.04000 APGP2 4000 0 0 ( IDLE )BBL 70020 simple 0 1 50 ( IDLE ) IFMTMS APGP2_TMS APGP2 30001 1 50 ( IDLE )交易信息来自GAI的信息本处略去。
Tuxedo完全操作手册
Tuxedo完全操作⼿册⼀、tuxedo的配置1、展开tuxedo包,例如:/home/tuxedo2、配置ubbconfig⽂件在江苏建⾏是jsccb.ubb*RESOURCES*RESOURCES节包含整个应⽤范围的信息。
本节必须在配置⽂件第⼀节,不可缺少。
参数意义*RESOURCES *RESOURCES节IPCKEY 共享内存idUID TUXEDO管理员⽤户idGID TUXEDO管理员⽤户idPERM TUXEDO管理员组⽤户的权限MAXACCESSERS 服务端和客户端的最⼤进程数MAXSERVERS 限制可以启动服务总数MAXSERVICES 限制可以发布交易总数MASTER 指出主控节点的逻辑名,第⼆个是备份节点MODEL 应⽤构架,MP表⽰多机OPTIONS LAN,MIGRA TE表⽰是⼀个⽹络应⽤,服务可以移植到替代处理器上SECURITY 安全级别(5个)AUTHSVC 客户端可以通过交易“AUTHSVC”获得认证NOTIFY DIPIN,客户端通过dip-in收到⼴播通知SYSTEM_ACCESS PROTECTED,NO_OVERRIDE,应⽤代码不得⼲扰共享内存LDBAL 设Y则进⾏负载平衡MAXBUF[S]TYPE 数据缓冲类型及⼦类的最⼤数SCANUNIT 内部时间间隔单位,单位是秒SANITYSCAN 检索公告牌的内部时间间隔,单位是SCANUNITBLOCKTIME 交易超时时间,单位是SCANUNITBBLQUERY DBBL查询所有BLL的时间间隔DBBLWAIT DBBL等待BBL回应的超时时间MAXCONV 同时最⼤会话数jsccb.ubb的实例###################### RESOURCES SECTION ######################*RESOURCESIPCKEY 234567DOMAINID JSCCBMASTER SERVER1MAXSERVERS 900MAXSERVICES 2000CMTRET LOGGEDMODEL MPLDBAL YSECURITY NONEMAXGTT 500OPTIONS LANBLOCKTIME 12*MACHINES*MACHINES节包含应⽤有关的每个处理器的信息。
常用tuxedo函数说明.doc
部分类型解释:FBFR:域缓存指示器FLDOCC:域发牛•事件的序号FLDLEN:域长度FLDID:域的类型FMLTYPE:支持标准的C 语言的数据类型:short, long, float, double, char 增加了:string (一组连续的字符串,以NULL结尾) carray (字符数组) pointer (缓存指示器)了一丿ATMI 函数:Application-Transaction Monitor Interfacetpreturn()表示服务程序结束1.发送冋答给客户端2.断开服务器开始时建立的所有连接tpreturn(int rval, long rcode, char *data, long len, long flags)实例:tpreturn(TPFAIL,-lL,(char *)FBFRrqst,0L,0);程序执行失败,断开所有连接。
tpreturn(TPSUCCESS,OL,(char *)FBFRrqst,0L,0);程序执行成功,断开所有连接。
1。
rval: TPFAIL和TPSUCCESS作为参数有各自的一套内部操作。
在实际的程序开发中,程序成功的完成,参数置为TPFAIL;程序失败则参数置为TPSUCCESS;2o rcode:程序执行成功置为“0L”,执行失败置为3。
data:冋复信息所用的参数。
4o len:指示发送数据缓冲的数量,在BOSS系统中一般置为0L或者忽略。
5。
flags:为以后保留的参数必须设为0。
tpbegin()发起事务。
失败返回-1,指出错误情况#include <atmi.h>int tpbegin(unsigned long timeout, long flags)实例:tpbegin(TRANSTIME, 0);发起时间控制的事件。
()为预留参数必须置()tpcommitO事务提交。
失败返回-1。
实例:tpcommit(O)tpabort()事务冋滚。
Linux 下tuxedo
自行搭建基于Linux的Tuxedo/weblogic/Oracle环境shanggl 20091109致谢:fubo,xiangzhi,zhangxin,taoyp,kangjia,为了熟悉生产环境的搭建过程,自己使用红帽Linux 5.2 和Linux下的Tuxedo8.1 自己搭建了一套系统。
在安装过程中碰到了很多问题,因此把过程总结下来和大家分享。
首先要做的是安装红帽Linux,我使用的是vmware 6.5 ,这个安装包在74共享主机的常用工具里有,没有的同事可以找我要。
另外我已经安装完了一套虚拟机系统,不想自己安装的同事可以直接使用虚拟机镜像。
其他资源:Linux:rhel-5.2-server-i386-dvd.iso 4GBTuxedo:tuxedo81_linux_as3_i386.bin 100MB 对应lic.txt 从195上拷贝Oracle10G:10201_database_linux32.zip 700MBWebLogic9.5:weblogicServer920_linux32.bin 600MB这些资源在74 系统工具下有个文件夹Linux+tuxedo+weblogic+oracle文件夹下全有。
上面的文件已经标明了文件大小,请大家先准备好至少20GB空间。
约定:1、终端可以是远程telnet终端,也可以是在图形界面下的虚拟终端2、除非有特殊说明,所有命令均为小写字母,最好自己亲自打,word自带自动更正功能让很多命令变成了大写。
3、Tuxedo 安装是安装Tuxedo系统,而实际上的Tuxedo=服务+配置文件即只需root安装tuxedo套件,其他用户只需配置自己的服务和配置文件即可。
首先新建一个虚拟机,在新建虚拟机时选择自定义,如果选择典型的话,有可能在分区的时候提示找不到硬件(硬件驱动没有)。
虚拟机的配置如下:安装Linux过程暂略,后面会补上详细的说明。
Tuxedo通讯方式解析(二)
Tuxedo通讯⽅式解析(⼆)上⼀节简单介绍了tuxedo 是什么,并且详细介绍了安装过程。
我们学这个的⽬的就是让其能够跑起来,这⼀节就根据tuxedo⾃带samples的例⼦,让其运⾏起来。
并通过这个例⼦,深⼊的理解tuxedo的通讯⽅式。
进⼊tuxedo的安装⽬录,samples⽬录下⾃带了⼀些例⼦[root@localhost atmi]# pwd/hzh/tuxedo/tuxedo11gR1/samples/atmi[root@localhost atmi]# lsbankapp CSIMPAPP qsample simpapp ws xmlstockappcreditapp libutrace rpcsimp STOCKAPP xmlfmlapp凡是了解tuxedo 的同学都知道这⾥⾯有个著名的例⼦ simpapp ,它的作⽤就是把客户端发送的⼩写字母转换成⼤写字母返回给客户端。
我们就把这个例⼦运⾏起来。
前期准备:[root@localhost atmi]# cp -R simpapp/ /hzh/tuxedo/ 为了便于操作,把simpapp 拷贝到/hzh/tuxedo/ ⽬录下⾯。
[root@localhost tuxedo11gR1]# lsbin help inventory lib samples udataobjcobinclude include jre locale tux.env uninstaller[root@localhost tuxedo11gR1]# cp -R tux.env /hzh/tuxedo/simpapp/ 把tuxedo 安装⽬录下的tux.env 配置⽂件拷贝到/hzh/tuxedo/simpapp/ ⽬录下[root@localhost simpapp]# pwd/hzh/tuxedo/simpapp[root@localhost simpapp]# lsREADME simpcl.c simpserv.c tux.env ubbsimple配置运⾏ simpapp 例⼦配置tux.env⽂件[root@localhost simpapp]# vi tux.env 对配置⽂件进⾏修改TUXDIR=/hzh/tuxedo/tuxedo11gR1; 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 OSEXT=cbl"; export COBOPTSHLIB_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_PATHWEBJAVADIR=$TUXDIR/udataobj/webgui/java; export WEBJAVADIRAPPDIR=/hzh/tuxedo/simpapp; export APPDIRTUXCONFIG=$APPDIR/tuxconfig; export TUXCONFIGLANG=C; export LANG配置ubbsimple ⽂件[root@localhost simpapp]# hostname //查看本机hostnamenode1[root@localhost simpapp]# vi ubbsimple# (c) 2003 BEA Systems, Inc. All Rights Reserved.#ident "@(#) samples/atmi/simpapp/ubbsimple $Revision: 1.7 $"#Skeleton UBBCONFIG file for the TUXEDO Simple Application.#Replace the <bracketed> items with the appropriate values.*RESOURCES#IPCKEY <Replace with a valid IPC Key>#Example:IPCKEY 123456DOMAINID simpappMASTER simpleMAXACCESSERS 10MAXSERVERS 5MAXSERVICES 10MODEL SHMLDBAL N*MACHINESDEFAULT:APPDIR="/hzh/tuxedo/simpapp"TUXCONFIG="/hzh/tuxedo/simpapp/tuxconfig"TUXDIR="/hzh/tuxedo/tuxedo11gR1"#Example:# APPDIR="/home/me/simpapp"# TUXCONFIG="/home/me/simpapp/tuxconfig"# TUXDIR="/usr/tuxedo"node1 LMID=simple //node1为本机hostname名#Example:#beatux LMID=simple*GROUPSGROUP1.......注意:APPDIR、TUXCONFIG和TUXDIR三个选项的路径要与 tux.env ⽂件中的配置保持⼀致。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TUXEDO在文件传输中的应用发布于:软件开发网来源:Internet 作者:网络收集时间:2008-12-18 点击:1 引言近几年来,以交易中间件为框架基础的三层客户机/服务器模式已被广泛证实为建立开放式关键业务应用系统的最佳环境。
TUXEDO是美国BEA公司的一种交易中间件产品,它在银行、电信、邮政、金融证券等大规模关键事务处理领域中有着广泛的应用。
它能够在C/S环境下整合各种异构平台,通过联机事务处理机制,保证交易的完整性和数据的一致性。
BEA TUXEDO是在企业、Internet 这样的分布式运算环境中开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。
BEA TUXEDO 采用三层结构的客户机/服务器模式组件软件模型,该结构利用交易中间件将应用的业务逻辑、表示逻辑和数据分为三个不同的处理层:客户为第一表示逻辑层,实现用户交互和数据表示,第二层的逻辑业务层为应用的主体,负责业务的逻辑处理,第三层数据层负责对数据库的检索、读取和更新等操作。
交易中间件作为构造三层结构应用系统的基础平台,提供了两个主要功能:负责客户机和服务器间的联接和通讯;提供一个三层结构应用开发和运行的平台。
由此可见,交易中间件提供了一个基础的框架去帮助你建立、运行和管理一个三层客户机/服务器模式的应用,使你不需要从零做起,大大缩短了应用开发的时间,提高了应用开发的成功率。
本文以应用TUXEDO的同步调用tpcall方式和FML编程方式为例,介绍了在Windows客户端和Unix服务器之间完成文件传输的方法。
客户端调用VC 制作的传输文件的tuxedo动态链接库,实现Windows客户端与Unix服务器端传输文件(包括上传和下载文件两种方式)的实现方法。
2 客户端应用TUXEDO实现文件传输方法在客户端,首先设置客户端与服务器端在文件传输中文件块的大小、文件的块标识等基本信息,将字节数比较大的文件分为很多小块,利用TUXEDO的同步调用tpcall方式循环调用后台的文件处理服务,将字节数较大的文件按着块的大小分多次传输到UNIX后台。
下面以下载文件为例讲解使用tuxedo同步调用tpcall方式完成文件传输的例子。
首先利用TUXEDO的tpalloc申请需要使用的发送和接收缓存,使用Fchg32函数在缓存中放入服务器端需要的域值:文件块的大小、文件的标识等基本信息。
SndBuf = (FBFR32 *)tpalloc("FML32", NULL, 1024); /* 申请发送的缓存 */iRet = Fchg32(SndBuf,BLOCKSIZE,0,(char *)&lBlockSize,0); /* 设置文件块的大小 */设置完毕后,开始使用同步tpcall调用UNIX后台文件处理FTPSVR服务。
/* 客户端同步调用UNIX平台文件处理服务*/iRet = tpcall("FTPSVR",(char *)SndBuf,0L,(char **)&RcvBuf,(long*)&len,0L);iRet = Fget32(RcvBuf, FILELEN, 0, (char *)&lFileLen, 0);/* 接收文件长度*/接收文件并将第一块数据写入文件iRet = Fget32(RcvBuf, FILEDATA, 0, pszFileBuf, (FLDLEN32*)&lFileDataLen);fp = fopen(pszCltFileName, "wb "); /* 创建文件*/lBlkLen = fwrite(pszFileBuf,1,lFileDataLen,fp); /* 将接收第一块数据写入文件*/同时计算需要调用下载文件服务的次数,多次调用文件服务,将后续文件下载到客户端。
lBlkNum = (lFileLen -1)/lBlockSize 1 ;for(i=2; i<lBlkNum 1;i ){……iRet = tpcall("FTPSVR",(char *)SndBuf,0L,(char **)&RcvBuf,(long*)&len,0L);Fget32(RcvBuf, FILEDATA, 0, pszFileBuf, (FLDLEN32 *)&lBlockSize); lBlkLen = fwrite(pszFileBuf, 1, lBlockSize, fp);……}3 UNIX服务器端实现方法在Unix服务器端,接收客户端发送过来的缓存内容,如:文件块的大小、文件块内容、文件块标识等。
根据文件块的标识移动文件指针来写文件,每次文件指针移动的大小由文件块的大小决定,并将读取的文件块的内容放入输出缓存中,并返回给客户端。
Unix服务器端程序例子说明如下:FTPSVR(TPSVCINFO *rqst){…………RcvBuf = (FBFR32 *)rqst->data; /*指向接收客户端的缓存*/iRet = Fget32(RcvBuf, BLOCKID, 0, (char *)&lBlockID, 0); /* 接收client 发送的块标识*/fp = fopen(pszSvrFileName, "rb"); /* 打开文件,准备读取*/(fseek(fp, (lBlockID-1)*lBlockSize, 0)!=0) /* 根据块标识移动文件指针*/lReadLen=fread(pszFileBuf, 1, lBlockSize, fp); /* 读取文件块*/ Fchg32(SndBuf, FILEDATA, 0, pszFileBuf, (FLDLEN32 )lReadLen); /* 将文件块的内容方式放入tuxedo申请的缓存中*/tpreturn(TPSUCCESS, 0, (char *)SndBuf, 0L, 0); /* 将输出缓存返回给客户端*/}4 WINDOWS平台文件传输的设计4.1 WINDOWS客户端动态链接库的实现使用PowerBuilder、Delphi、VB等软件不能直接调用 C语言源代码,它们只能调用动态链接库文件。
下面我们讲述如何使用VC 6.0将Windows客户端的文件传输的C、TUXEDO代码制作成动态链接库供Power Builder、Delphi、VB等程序调用。
使用VC 可以制作三种DLL,分别是(1)Non-MFC Dlls(2).Regular Dlls(3)Extension DllsNon-MFC DLL:指的是不用MFC的类库结构,直接用C语言写的DLL,其输出的函数一般用的是标准C接口,并能被非MFC或MFC编写的应用程序所调用。
因为我们不使用MFC类库,所以采用Non-MFC Dlls。
每一个DLL必须有一个入口点,就象用C编写的应用程序,必须有一个main函数一样. DllMain就是一个缺省的函数入口。
创建一个动态链接库,选择File->New菜单,弹出New对话框。
在Projects标签页下,选择"Win32 Dynamic-Link Library"。
Visual C 就会创建动态链接库所需的工程文件。
创建ftpfile.def文件,这个文件记录了可被外部应用程序使用的DLL库函数名字。
这些名字信息和对应的函数位置的信息将被编译进动态链接库文件中,然后应用程序根据函数名字和函数位置对照表来找到对应的函数。
ftpfile.def内容如下:LIBRARY "ftpfile"EXPORTSftpfile; /*与C代码中的函数名称相同*/将ftpfile.def、源程序ftpfile.cpp、头文件public.h和ftpfld.h、tuxedo库文件wtuxws32.lib和libwsc.lib加入到工程中。
选择Project->add to project->files.然后开始编译动态链接库生成ftpfile.dll。
代码样例如下:BOOL WINAPI DllMain( HMODULE hModule, DWORD dwReason, LPVOID lpvReserved ) /* 动态链接库函数入口*/{return TRUE;}LRESULT WINAPI ftpfile(char* CltFileName,char* SvrFileName,long lBlockSize,long lOptFlag) /* 动态链接库函数主体*/{FBFR32 *RcvBuf,*SndBuf; /*变量声明*/int iRet;long i,lBlkLen,len,lFileLen,lBlkNum;…………/* 动态链接库程序主体*/SndBuf = (FBFR32 *)tpalloc("FML32", NULL, MAXBUFLEN); /*申请发送缓存*/ if (SndBuf == NULL){userlog("tpalloc sndbuf error errno=[%d] err=[%s]",tpstrerror(tperrno)); tpterm();return TPALLOCERR;}RcvBuf = (FBFR32 *)tpalloc("FML32", NULL, MAXBUFLEN);/*申请接收缓存*/ iRet = Fchg32(SndBuf,BLOCKSIZE,0,(char *)&lBlockSize,0); /*把块大小放入发送缓存*/if (iRet <0){ /*错误处理*/tpfree((char *)SndBuf);tpfree((char *)RcvBuf);tpterm();return FCHGERR;}iRet = Fchg32(SndBuf,OPTFLAG,0,(char *)&lOptFlag,0); ……………………………}/* 程序主体结束*/4.2 WINDOWS客户端动态链接库的调用以Power Builder7.0为例,讲述如何在Power Builder中调用文件传输的客户端动态链接库。
首先,在Power Builder声明该函数,声明如下:Function Integer ftpfile(string CltFileName,string SvrFileName,long lBlockSize,long lOptFlag) LIBRARY "ftpfile.dll"然后,在程序中就可以应用了。