当前位置:文档之家› TUXEDO培训教材

TUXEDO培训教材

TUXEDO培训教材
TUXEDO培训教材

BEA TUXEDO 培训材料

2004年12月10日顾强

第1节概述 (5)

1.1 培训目标: (5)

1.2 培训的主要内容: (5)

1.3 内容概述 (5)

1.3.1TUXEDO基本特性介绍 (5)

1.3.2使用TUXEDO进行应用的开发 (5)

1.3.3TUXEDO配置参数详解 (5)

1.3.4TUXEDO管理工具的使用 (5)

1.3.5TUXEDO 应用系统设计要点 (5)

1.4 术语定义 (6)

第2节中间件基本概念 (6)

2.1 商业计算模式的演变 (6)

2.2 中间件是三层结构的手段 (7)

第3节BEA TUXEDO 简介 (8)

3.1 TUXEDO消息处理机制 (8)

3.1.1client/server架构的两种模式 (8)

3.1.2TUXEDO如何处理client/server架构模式 (8)

3.1.3嵌套的服务请求(Nested Service Requests) (9)

3.1.4传递的服务请求(Forward Service Requests) (9)

3.1.5TUXEDO 会话(conversation)处理机制 (9)

3.1.6主动通知/事件代理(Unsolicited Notification/ EventBroker) (9)

3.2 BEA TUXEDO3层C LIENT/S ERVER架构 (10)

3.3 BEA TUXEDO功能详解 (11)

3.3.1高速的数据甬道 (11)

3.3.2TUXEDO具有丰富的通讯机制: (11)

3.3.3负载均衡 (11)

3.3.4数据依赖路由(DDR) (11)

3.3.5TUXEDO service优先级机制(PRIO) (11)

3.3.6TUXEDO的交易完整性(分布式事务处理) (12)

3.3.7完善的安全机制 (12)

3.3.8TUXEDO的开发性 (13)

3.3.9自动的编码/解码 (13)

第4节用BEA TUXEDO编程 (14)

4.1 TUXEDO应用的三个组成部分 (14)

4.2 编写一个BEA TUXEDO应用的基本步骤 (14)

4.3 使用TUXEDO A TMI编写客户端程序 (14)

4.4 编写服务端程序 (17)

4.4.1服务端程序在C/S模式中的角色 (17)

4.4.2一个SERVER的基本组成 (17)

4.4.3Service程序的一般框架 (18)

4.4.4一个具体Service的例子 (18)

4.5 TPSVCINFO类型及TUXEDO常见函数的说明 (19)

4.5.1TPSVCINFO类型 (19)

4.5.2tpinit() (19)

4.5.3tpcall() (20)

4.5.4tpacall() (20)

4.5.5tpgetrply() (20)

4.5.6tpalloc() (21)

4.5.7tpfree() (21)

4.5.8tpreturn() (21)

4.5.9tpterm() (21)

4.6 TUXEDO B UFFER类型简介 (22)

4.6.1STRING (22)

4.6.2CARRAY (22)

4.6.3VIEW (22)

4.6.4FML (22)

4.7 具体DEMO (22)

4.7.1SHM模式应用 (22)

4.7.2MP模式应用 (22)

4.7.3conversation交易 (23)

4.7.4DOMAIN之间交易调用 (23)

4.7.5DDR(数据依赖路由) (24)

第5节BEA TUXEDO 配置详解 (25)

5.1 配置文件的8个组成部分及简要说明 (25)

5.2 RESOURCES SECTION (25)

5.3 MACHINES S ECTION (28)

5.4 GROUPS S ECTION (29)

5.5 SERVERS S ECTION (29)

5.6 SERVICES S ECTION (31)

5.7 NETWORK S ECTION (33)

5.8 ROUTING S ECTION (33)

5.9 完整的UBB配置文件 (34)

第6节TUXEDO管理监控工具的使用 (37)

6.1 应用程序启动、关闭必须要准备的步骤(PRELIMINARY STEPS) (37)

6.2 创建TUXCONFIG配置文件 (37)

6.3 启动应用(TMBOOT 命令的介绍) (37)

6.4 关闭应用(TMSHUTDOWN 命令介绍) (38)

6.5 命令行管理(TMADMIN) (38)

6.5.1tmadmin 命令 (38)

6.5.2常见的管理命令的解释 (38)

6.6 TUXEDO WEB-GUI管理工具 (41)

第7节TUXEDO 系统设计要点 (42)

7.1 业务逻辑代码与数据库逻辑代码分割 (42)

7.2 性能角度: (42)

7.3 系统可扩展性: (42)

7.4 服务组件(SERVICE/OBJECT)的粒度 (42)

7.5 SERVICE组合成SERVER进程的考虑因素 (42)

7.6 XA问题(全局事务) (42)

7.7 数据库连接 (43)

7.8 C LIENT设计 (43)

第1节概述

1.1培训目标:

了解使用中间件的三层应用架构模式。

了解BEA TUXEDO基本特性。

能应用TUXEDO进行具体应用的开发。

了解TUXEDO各项配置参数的含义。

了解TUXEDO管理工具的使用

1.2培训内容:

TUXEDO基本特性介绍

使用TUXEDO进行应用的开发

TUXEDO配置参数介绍

TUXEDO系统设计要点

1.3内容概述

1.3.1T UXEDO基本特性介绍

●中间件的基本概念

●TUXEDO功能简介

1.3.2使用TUXEDO进行应用的开发

●编写一个TUXEDO应用程序的基本步骤

●客户端程序的编写

●服务端程序的编写

●TUXEDO常见A TMI函数说明

1.3.3T UXEDO配置参数详解

●TUXEDO配置文件的组成

●各组成部分的参数含义

1.3.4T UXEDO管理工具的使用

●启动、关闭TUXEDO应用

●命令行管理工具的使用(tmadmin)

1.3.5T UXEDO 应用系统设计要点

1.4 术语定义

● BB :(Bulletin Board )TUXEDO 应用启动时由BBL 进程创建的共享内存块,

包含了TUXEDO 用来进行管理所需要的全部信息

● ATMI :(Application-to-Transaction Monitor Interface )面向事务的应用程序编程

接口

● Server:是一个进程,守候一个消息队列

● Service:是一个单一的函数。一个server 可以包含多个services.

● DDR :(Data Dependant Routing )数据依赖路由

● PRIO :(Priority )TUXEDO 服务优先级机制

● ACLs :(Access Control Lists )访问控制列表。TUXEDO 的安全控制机制一种。 ● CLOPT :(Command Line Option )命令行参数。这是TUXEDO 配置文件Server

Section 一个参数,在服务进程启动时,用来向服务进程传递参数。

● MSSQ :(Multiple Server Single Queue )TUXEDO 多服务单队列机制。多个server

共享一个消息队列。

第2节 中间件基本概念

2.1 商业计算模式的演变

(1)集中式到分布式

集中式模式下,所有的应用逻辑、数据资源都集中在一台服务器上。这个服务器一般是大型机。

分布式系统中,每个应用逻辑独立一条机器。数据资源单独一台机器 演变模式如下图:

集中式

分布式

(2)分布式系统的两层结构阶段

客户端应用:

●用户界面处理

●业务逻辑处理

服务端应用:

●数据库服务器

(3)二层结构在关键业务采用的限制

●前后台均是专用系统绑定

●客户机端的扩展性差

●不够模块化

●业务逻辑在客户机端:

对安全性/业务变化的管理能力差

●关系数据库系统间的互联性差

●关系数据库间没有交易处理

●适用于部门级解决方案:小于200个用户

(4)如何对两层的结构进行扩展:

采用多路集中方式,客户端不直接与服务库服务器相连,而是先与一个sesstion connector 相连,再由sesstion connector 与数据库服务器。

(5)分布式系统的三层结构阶段:

对二层系统的扩展,就演变成了分布式系统的三层结构:

将业务逻辑从客户端应用中分离出来,组成业务逻辑服务器。客户端与业务逻辑服务器相联,业务逻辑服务器与数据库相连。这样就演变成“客户端、业务逻辑服务器、数据库服务器”的三层结构。

2.2中间件是三层结构的手段

(1)中间件是将应用映射到相关的资源上的软件技术,它是由一系列的API 和通讯协议所组成的。中间件使得三层的客户服务器架构得以实现。

(2)使用中间件的应用的优点:

●灵活地在客户与服务器之间划分数据与逻辑.

●便于按照业务需求修改客户端或服务器端的逻辑.

●分隔系统的开发与系统的部署.

●提供分布交易的全程保护

第3节BEA TUXEDO 简介

3.1TUXEDO消息处理机制

3.1.1c lient/server架构的两种模式

在一个client/server结构的应用中,client(需要服务的实体)和server(提供服务的实体)是互相独立的两个逻辑对象,两者通过通讯来共同完成一个任务。

client发起一个服务请求,并接收server端返回的处理结果。

server端接收并处理client端的请求,并把结果返回到client端。

一个客户端应用(client application)的功能:组织服务请求数据,并接收请求处理结果。提供通过网络,发送服务请求数据、接收请求结果的机制 一个服务端应用 (server application) 的功能:接收client端的服务请求数据,根据业务逻辑处理客户请求,并将处理结果返回到client端。

有两种类型的client/server架构模式

?数据请求模式(适合client/server之间传输大批量数据)

?服务请求模式(适合快速的、级小数据传输的服务请求)

3.1.2T UXEDO如何处理client/server架构模式

TUXEDO使用conversation(会话)方式来处理“数据请求模式”

TUXEDO使用 request/reponse 方式来所处理“服务请求模式”

使用TUXEDO的client/server应用的特点:

快速的,无连接的通讯:

在应用TUXEDO的系统中,客户端与TUXEDO bulletin board(TUXEDO应用启动时由BBL进程创建的共享内存块)建立连接(而不是与具体的Server建立直接的连

接) ,然后由TUXEDO寻找最合适的SERVER来提供服务。这样节省了系统资源,提高

了系统性能。

队列是实现无连接通讯结构的关键。每个SERVER被分配一个内部的消息队列,被称为“请求队列”,每一个客户端也被分配一个消息队列,被称为“响应队列”。这样客户端不用与具体的SERVER建立并维持连接,而只要检索“响应队列”来获得返回结果。

服务进程的透明性:

BB 包含一个后台所有service的目录,客户端只要按名调用后台service,而不用管service所在何处。

可扩展性:

因为service和server可以很容易的复制,并且它们可以是分布式的,因此,可以很方便的根据系统的负载来调整后台应用。

3.1.3嵌套的服务请求(Nested Service Requests)

服务可以嵌套调用。一个service嵌套调用另外一个service,必须等到被调用的service返回,才能做下一步的处理。

嵌套调用优点:代码的可重用。缺点:影响系统的整体性能,尤其是在分布式应用服务器的架构中。

如果可能的话,嵌套应该限制在两层。在一个典型的三层模式的应用中,只有两层的嵌套调用会取得很好的效果。这三层是

表现层(Presetation Logic Layer)

业务逻辑层(Bussiness Logic Layer)

数据库层(Database Layer)

3.1.4传递的服务请求(Forward Service Requests)

另外一种服务嵌套调用的方式是forward方式。在forward 方式中,service不是将处理结果返回给客户端,而是将服务请求传递给下一个service,下一个service或者将处理结果返回给客户端,或者继续传递。

forward 调用的层次没有限制,也不会导致server的堵塞。

3.1.5T UXEDO 会话(conversation)处理机制

除了request-reply的消息机制,TUXEDO还支持大数据量的传输。TUXEDO采用叫做会话(CONVERSATION)的方式来处理。

在client端与server端建立一个虚连接(a virtual connection),并且维持这个连接直到完成数据传输任务。

TUXEDO 提供一组API函数用于实现client与server端的这种通讯机制。主要包括

连接,发送、接受、终止连接。

Conversation这种通讯机制,是半双工的,只有取得控制权的一方,才可以发送数据。另外一方只能被动的接受数据。

在配置上conversation 模式的SERVER 要加“CONV =Y”参数

3.1.6主动通知/事件代理(Unsolicited Notification/

EventBroker)

TUXEDO还支持非listening -- reply的通讯方式,可以定义当某个“条件”满足时,系统自动与另外的系统进行通讯,即使其他系统没在listening。这个“条件”在TUXEDO中称为event

这种主动通讯方式叫做Unsolicited Notification

3.2BEA TUXEDO 3层Client/Server架构

sss

采用BEA TUXEDO 开发分布式应用,开发人员只要处理

?用户界面

?业务逻辑

?数据库访问

其他底层处理,全部由TUXEDO 来处理:

?网络通讯

?负载均衡

?容错处理

?数据一致性

?可扩展性

?跨平台性

?安全控制

?系统管理

因此要开发大型部门关键事务处理的分布式系统,TUXEDO完全可以胜任

3.3BEA TUXEDO 功能详解

3.3.1高速的数据甬道

1、在没有使用中级件的传统的二层模式中,每个客户机或客户应用程序均和服务器

或服务程序建立“硬连接”。

客户端N 个,服务端M个,则网络连接数=N ×M 个

2、如果使用了中间件,则客户端与中间件相联,中间件与后台服务相联。

客户端N 个,服务端M个,则网络连接数=N +M 个

3.3.2T UXEDO具有丰富的通讯机制:

同步调用

异步调用

会话

广播

管道

发布&订阅

3.3.3负载均衡

服务器间的负载均衡

应用进程间的负载均衡

多服务单队列机制(MSSQ),自动增减应用进程。

数据依赖路由(DDR)

3.3.4数据依赖路由(DDR)

客户端对同一个service的调用,TUXEDO可以根据客户端的具体数据,分发到不同服务进程,TUXEDO BB包含一个路由分配表。路由分配表中定义具体的哪个service所服务的请求范围。通过数据路由功能,可以将对同一个service请求的数据扩展到多台服务器。

DDR机制支持了service的多态性。

我们将通过具体的例子来说明DDR机制

3.3.5T UXEDO service优先级机制(PRIO)

优先级只是针对service而言。优先级高的service优先得到调用。

每个service默认的优先级是50。

则service调用顺序是CBA。

为了保证优先级低的service有机会得到调用,TUXEDO 以10次为1个循环。第10次不论优先级,而是执行请求队列中多靠前的服务(FIF0)。

3.3.6T UXEDO的交易完整性(分布式事务处理)

TUXEDO应用中,通过使用TUXEDO提供的事务处理函数来创建一个事务。在事务中的业务处理被看做一个整体,要么一起提交,要么一起回滚。TUXEDO提供一组API函数来begin,commit,rollback 事务。

在一个service中包含一个事务,在事务内部又调用远程主机的一个service

,对远程主机的调用是事务处理的一部分,因此要保证一致性,就要使用TUXEDO的全局事务机制。

为了跟踪分布式事务处理TUXEDO要保留复杂的数据,以便随时都能回滚到事务开始的地方。

为了跟踪事务的参与者,TUXEDO创建事务日志。为了跟踪应用程序的状态,TUXEDO 采用一个或多个资源管理器RM(Resource Manager)。这些RM通过XA interface进行交流信息。为了协调事务处理中的所有操作,TUXEDO采用了Transaction Manager (TM)。

为了说明RMs域TM的关系,可以假设RMs是演员,TM是导演。

TUXEDO采用二级提交机制,来实现全局事务的提交。首先是RM进行预提交,预提交全部成功后,TM做最后的真正的提交。

3.3.7完善的安全机制

在应用层TUXEDO提供5级安全策略。

1、操作系统级(Operating System)

安全机制由操作系统提供,TUXEDO没有增加另外的安全机制。在配置文件中,security 设置为NONE

2、应用级密码(Application Password)

要求每个客户端在tpinint时提供应用程序口令。在配置文件中,security 设置为APP_PW.

3、用户级密码(User Authentication)

每个tpcall都需要提供应用程序口令。在配置文件中,security 设置为USER_AUTH.

缺省的授权控制服务是AUTHSVC,这个服务有BEA TUXEDO系统自带的SERVER程序AUTHSVR提供。

4、可选的访问控制列表(Optional Access Control Lists)

只要设定某些需要控制的service,任何人都可访问的service不用配置ACL 举例:

用户名后台service

A TOUPPER(ACL1)

B TOLOWER

C

TOUPPER配置了访问控制列表ACL1,用户A、B有权访问该service

TOLOWER没有配置ACL。

则,TOUPPER,只有A、B用户可以访问,TOLOWER所有用户(A 、B 、C)都可访问

5、强制的访问控制列表(Mandatory Access Control Lists)

The second ACL security level is MANDATORY_ACL

所有service多必须设定ACL,没有设计ACL的service任何人都不能访问。

上例中,service TOLOWER 任何人不能访问。Service TOUPPER,只有A、B可以访问。

说明:

要使用访问控制列表的安全机制,后台必须增加3个配置文件。分别是

tpgrp,tpusr,tpacl

在unix系统中,如果没有配置tpgrp,tpuser两个文件,则TUXEDO使用

/etc/group,/etc/passwd

文件代替。

说明:

1、使用2-4级安全级别级别即(tuxedo 所带的安全控制机制),客户端

在tpinit时需要加上必要的客户信息。

同时后台需要增加一个单独的SERVER来处理安全验证。

3.3.8T UXEDO的开发性

SERVER 端支持的平台有:

◆HP-UNIX

◆AIX

◆Solaris

◆SCO OPER SERVER

◆UNIXWARE

◆LINIX

◆Windows NT ,Windows 2000

客户端支持的平台有:

◆WINDOWS

◆DOS

◆各种UNIX操作系统。

TUXEDO几乎支持所有的常见开发工具

3.3.9自动的编码/解码

不同机器之间的通讯,由TUXEDO自动进行Ecode/Decode(编码/解码),在配置文件中可以指定机器的类型。如果不指定,TUXEDO默认所有机器类型相同。

第4节用BEA TUXEDO编程

4.1TUXEDO应用的三个组成部分

Client端:需要服务的部分

Server端:提供服务的部分

配置文件:用来描述应用程序信息,如应用的架构模式、机器信息、server信息等。

4.2编写一个BEA TUXEDO 应用的基本步骤

1、设置正确的环境变量

◆TUXDIR TUXEDO的安装目录

◆PATH 必须包括$TUXDIR/bin

◆LD_LIBRARY_PATH 必须包括$TUXDIR/lib

◆TUXCONFIG 二进制的tuxconfig配置文件的全路径

◆APPDIR 服务端可执行文件目录

2、编写并编译客户端程序

buildclient–o simpcl –f simpcl.c

3、编写并编译服务端程序

buildserver–o simpserv –f simpserv.c –s TOUPPER

4、编译应用程序的配置文件(UBBCONFIG),创建二进制配置文件(tuxconfig)

tmloadcf–y ubbsimple

5、启动TUXEDO应用

tmboot -y

6、通过client程序测试应用

7、关闭TUXEDO应用

tmshutdown–y

4.3使用TUXEDO ATMI编写客户端程序

客户端程序是应用的表示层:负责收集服务请求的数据,发起交易请求,处理交易返回数据并将交易处理结果显示给操作员。

1、客户端通讯方式

BEA TUXEDO提供一组函数来支持5种通讯方式

同步(synchronous)

客户端发起一个交易请求(tpcall)并且block等待交易的返回 异步(asychronous)

客户端发起一个交易请求(tpacall), 但是没有等待交易的立即返回。

在随后的时间里,来检索交易返回数据

会话(converstaion)

客户端与后台的会话SERVER建立一个“dialogue”(tpconnect),这个连接是逻辑上连接。客户端与服务端不断交换数据(tpsend,tprecv),直到会话结束。

存储(stored)

客户端发送一个请求到一个消息队列(tpenqueue),在随后的时间的检索结果

(tpdequeue)。这个通讯方式TUXEDO/Q 特征才具备。

主动传播(unsolicited)

2、加入/离开应用程序(joining/leaving Application)

加入应用程序(joining application) (tpinit)

如果需要安全校验的话,首先进行安全校验

attach to 共享内存BB(bulletin board),在BB中登记这个客户端。

为这个客户端创建一个消息队列

离开应用程序(leaving application)(tpterm)

updates BB to unregister itself

deattach from BB

removes message queue

3、具体一个客户端例子

调用后台名为TOUPPER的service,将输入的参数转换成大写。

/* Attach to System/T as a Client Process */

if (tpinit((TPINIT *) NULL) == -1)

{

(void) fprintf(stderr, "Tpinit failed\n");

exit(1);

}

/* Allocate STRING buffers for the request and the reply */

if((sendbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL)

{

(void) fprintf(stderr,"Error allocating send buffer\n");

tpterm();

exit(1);

}

if((rcvbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL)

{

(void) fprintf(stderr,"Error allocating receive buffer\n");

tpfree(sendbuf);

tpterm();

exit(1);

}

/* Request the service TOUPPER, waiting for a reply */

ret = tpcall("TOUPPER", (char *)sendbuf, 0, (char **)&rcvbuf, &rcvlen, (long)0);

/* Free Buffers & Detach from System/T */

tpfree(sendbuf);

tpfree(rcvbuf);

tpterm();

4、错误返回值宏定义

当一个ATMI call出现错误,TUXEDO的一个全局变量tperrno将被置值,使用宏定义=tpstrerrno(tperrno)。具体的宏定义:

TPEABORT Transaction can not commit

TPEBADDESC Bad descriptor for tpgetrply(3c)

TPEBLOCK Blocking condition found and no-block specified

TPEINVAL Invalid arguments given

TPELIMIT Too many handles outstanding

TPENOENT No entry found or no room on the Bulletin Board

TPEOS Operating system error

TPEPERM Bad permissions or failed authentication

TPEPROTO Protocol error

TPESVCERR Server error while handling request

TPESVCFAIL Application level service failure

TPESYSTEM Internal BEA TUXEDO error (userlog(3c)) message written)

TPETIME Time-out occurred and TPNOTIME was not specified

TPETRAN Caller in transaction mode and transaction aborted

TPGOTSIG Signal received and TPSIGRSTRT not specified

TPERMERR Resource Manager failure

TPEITYPE Type and/or subtype do not match services

TPEOTYPE Type and/or subtype do not match buffers or unknown

TPERELEASE Caller has made a 3.0 library call

TPEHAZARD Hazard exists that transaction heuristically completed

TPEHEURISTIC Transaction heuristically completed

TPEEVENT Event occurred

TPEMATCH Service name cannot be advertised due to matching conflict

4.4编写服务端程序

4.4.1服务端程序在C/S模式中的角色

服务进程在启动时,与数据库建立连接,并循环等待、处理客户端服务请求,直到进程被关闭。

4.4.2一个SERVER的基本组成

SERVER包括两个部分:标准的main函数和用户函数部分

1、标准main函数处理

屏蔽用户信号

处理命令行参数(具体参数件后面的配置说明)

创建一个消息队列,接收并响应服务请求

在BB上创建一个entry

在BB上advertise进程所有的services

执行tpsrvinit函数,进行应用程序的初始化(如打开数据库)。

循环处理服务请求,直到进程关闭。在每次处理服务请求中,所做的工作: ?等待一个请求消息出现在进程的队列中

?将请求消息出队(dequeue)

?如果使用了-r参数,记录消息请求的时间

?更新Bulletin Board,标记SERVER is busy.

?调用用户函数来处理具体的消息请求

?如果使用了-r参数,记录消息请求处理完成时间

?更新Bulletin Board,标记SERVER is idle.

server 被shutdown时,调用tpsrvdone函数,完成应用的清除工作 remove 进程所创建的消息队列,并且删除在BB上的entry

2、用户函数处理

程序员写的用来处理客户端请求的函数

4.4.3S ervice程序的一般框架

SERVICE_NAME(TPSVCINFO * rqst)

{

取得输入数据 rqst->data

判断输入数据的合法性

构造SQL语句

开始交易

执行SQL语句,操纵数据库

交易结束

返回结果给client端/*tpreturn*/

}

4.4.4一个具体Service的例子

tpsvrinit(int argc, char *argv[])

{

userlog("Welcome to the simple server");

return(0);

}

void

TOUPPER(TPSVCINFO *rqst)

{

int i;

for(i = 0; i < rqst->len-1; i++)

rqst->data[i] = toupper(rqst->data[i]);

/* Return the transformed buffer to the requestor. */

tpreturn(TPSUCCESS, 0, rqst->data, 0L, 0);

}

4.5TPSVCINFO类型及TUXEDO常见函数的说明

4.5.1T PSVCINFO类型

TPSVCINFO 是TUXEDO 自带的$TUXDIR/include/atmi.h 中的自定义类型

/* interface to service routines */

struct tpsvcinfo

{

char name[32] /*service name invoked */

long flags; /* describes service attributes */

char *data; /* pointer to data */

long len; /* request data length */

int cd; /* reserved for future use */

long appkey; /* application authentication client key */

CLIENTID cltid; /* client identifier for originating client */ };

typedef struct tpsvcinfo TPSVCINFO;

一个service 进程首先要处理的就是分析消息请求的内容,因此所有的service 进程都有一个类型为 TPSVCINFO * 的参数

name service 名

flags tpacall中使用,用来表示具体的客户端

data 实际的消息请求buffer

len buffer长度,在CARRY buffer 类型中使用.。

cd 在converstaion交易中用来表示客户端与SERVER端的连接句柄

appkey 在需要安全校验的应用中,用来登记具体客户的key

cltid 存储客户端信息(4个long类型元素组成的结构)

4.5.2t pinit()

◆功能:使客户端join到后台应用的BB

◆语法: int tpinit (TPINIT *tpinfo)

TPINIT 是一个buffer类型,使用时需要用tpalloc()分配空间,在tpinit()后,要用tpfree()来释放分配的空间.如:

TPINIT * tpinfo;

char password[9];

/*prompt user for password*/

if ((tpinfo=(TPINIT *) tpalloc("TPINIT",NULL,TPINITNEED(0)))==NULL)

{

(void) userlog("unable to allocate TPINIT buffer");

exit(1);

}

if (tpinit(tpinfo)==-1)

{

(void)userlog("failed to join application");

tpfree ((char *) tpinfo);

exit(0);

}

如果没有安全级别的控制,可以直接赋NULL,tpinit((TPINIT *)NULL)

自定义类型TPINIT,参见atmi.h文件

4.5.3t pcall()

◆功能 :以同步方式发送一个消息请求到SERVER端。

相当与tpacall()和tpgetrply()两个函数的作用

◆语法:int tpcall(char * service, char * sbufp,long slength,char

**rbufpp,long * rlength,long flags)

service :需要调用的服务名

sbufp :request buffer

slength :request buffer 的长度

rbufpp :指向reply buffer 的指针

rlength :service返回的reply buffer 的长度

flags :标记,一般置为0

说明:将send buffer 和reply buffer 分开,是为了有的send buffer 指针,send buffer长度需要保存下来。当然send buffer 和reply buffer 可以为同一个buffer

4.5.4t pacall()

◆功能 :以异步方式发送一个消息请求到SERVER端。

◆语法:int tpacall(char * service, char * bufptr,long length,long flags)

service :需要调用的服务名

bufptr :request buffer

length :request buffer 的长度

flags :标记,一般置为0

4.5.5t pgetrply()

◆功能 :异步通讯方式下,检索交易返回结果

◆语法: int tpgetrply(int *handle,char **bufpp,long *length,long flags)

handle 调用tpacall所返回的客户端句柄指针

buffpp 用来接收返回数据的buffer指针

Tuxedo日常监控维护培训-v1-0

Tuxedo日常监控维护培训手册 (V1.0)

修订记录

目录 1.引言 (1) 1.1. 编写目的 (1) 1.2. 参考资料 (1) 2.tuxedo常用操作 (1) 2.1. tuxedo服务的正常启动和停止. (1) 2.2. 查看tuxedo的版本信息 (2) 2.3. tmadmin控制台进入和退出: (2) 2.4. 查看服务信息psr (3) 2.5. 查看交易信息psc (4) 2.6. 查看队列信息pq (5) 2.7. 查看客户端信息pclt (5) 2.8. 查看部分统计信息bbs (6) 2.9. 设置为观察某个节点的进程信息default (6) 2.10. 查看消息发送状态pnw (7) 2.11. dmadmin域控制台的进入和退出: (7) 2.12. 手动连接域 (8) 2.13. 查看域网关的连接情况 (8) 3.tuxedo日常维护 (8) 3.1. 对ubb文件只做语法检查(不真正的load成TUXCONFIG) (8) 3.2. 对dm文件只做语法检查(不真正的load成DMXCONFIG) (9) 3.3. 反编译tuxconfig 文件和dmxconfig文件 (9) 3.4. 如何清除IPC资源 (9) 3.5. sh命令直接执行tuxedo操作 (9) 3.6. 启动tlisten服务 (9) 3.7. 启动多机中备机的BBL (9) 4.tuxedo注意事项、常见问题及解决方法 (10) 4.1. WSL配置参数注意 (10) 4.2. UBB文件中MAX的配置注意 (10) 4.3. tuxedo WS 的配置注意 (10) 4.4. Can’t attach BBL (10) 4.5. 运行一段时间交易失败 (11) 4.6. 常见Tuxedo错误号 (11)

软件架构师培训大纲

软件架构师培训大纲1. 企业软件构架简介 ?Zachman架构框架 ?Meta Group/Open Group/Gartner企业架构 ?IBM企业架构/Microsoft架构框架 ?美国国防部架构框架(DODAF ) ?美国联邦政府架构框架(FEA) ?集成化结构框架(IAF) ?企业业务架构及描述语言(EBA-ML) ?企业架构与分区迭代 ?企业架构的不同视图 ?从企业架构到软件架构 2. 架构方法论 1)管理架构视图 ?软件架构规范的制订 o需求规范 o设计规范 o编码规范 o测试规范 ?软件架构文档管理与配置管理 o软件配置管理 o软件架构模版设计 o软件架构文档管理 o设置软件架构基线 ?软件架构风险管理 o软件架构风险管理模型 o如何识别和规避软件架构的风险 o软件架构风险管理与控制 ?如何描述和评估软件架构质量 o软件的质量建模 o软件架构设计的技术性评估 o软件架构设计的经济性评估 o评估软件架构质量的价值 o怎样改变软件架构的质量 o如何评价软件架构 2)业务架构视图 ?业务现状及评估

o业务战略定位 o业务现状调研及评估 o信息化现状调研及评估 ?领域(业务)分析,获得领域架构 o领域规范获取 o领域建模方法 o使用DSL定义领域语言 ?需求分析及需求建模,获得业务架构 o需求获取 o建立需求模型 o需求评审 o业务规则和业务流程描述 o使用OCL对业务定义业务规则 o利用26种业务模式进行业务建模 3)技术架构视图 ?构建信息化总体建设蓝图 o信息化总体架构设计(MTSS) o应用系统规划(REJ) o基础设施规划(MSA) o信息安全规划(MSA) o IT管控规划 ?软件架构的多维度 o面向对象(OOAD) ?面向对象本质论 ?面向对象的软件架构设计 ?设计模式精要 ?设计模式原则 ?GOF设计模式实现方法及其扩展 ?设计模式的整合与拆分 ?设计模式与软件架构 ?如何应用设计模式来实现好的结构 ?如何使测试改进架构 o面向方面(AOSD) ?同时使用用例和方面 ?使用用例捕获关注 ?保持关注点的分离 ?对用例片和方面建模 ?保持对等用例的分离 ?保持扩展用例的分离 ?保持基础结构能力的分离 ?保持平台具体细节的分离 o面向服务(SOA) ?服务的设计与原则

TUXEDO简介及命令介绍

Tuxedo是一个客户机/服务器的―中间件‖产品,它在客户机和服务器之间进行调节,以保证正确地处理事务。Tuxedo是一个事务处理(TP)监督器,它管理联机事务处理(OLTP)系统(参见―事务处理‖)操作的事务。客户通过结构化查询语言(SQL)调用,或其它类型的请求,产生对服务器的请求。这个事务处理监督器确信,正确地进行了修改,以保证数据的完整性。这在一个事务可以改变多个位置的数据库的分布式数据库环境是非常重要的。这个事务处理监督器使用双阶段提交,以保证所有的数据库都已经接收和认可了这些数据的正确性。否则,这个数据库返回它的事务前状态。 事务监督器从前都是与大的大型计算机系统联系在一起的,但是Tuxedo的设计是为了在不昂贵的基于UNIX的系统上运行。AT&T最初是作为它自己使用的联机事务处理开发Tuxedo的。虽然Tuxedo必须在U-NIX系统上运行,但是它可以与DOS、OS/2、Windows和UNIX客户一起工作。它还使用通用的通信协议,如传输控制协议/因特网协议(TCP/IP)和网络基本输入输出系统(NetBIOS),并且可以在这些环境提供分布式处理支持。例如,它可以根据请求的类型,服务请求从一个客户选择路由到一个特定的服务器。Tuxedo的基本特征是它的联机事务处理系统,但是,Tuxedo也工作于集成关系型的平面文件,以及层次数据库系统。 相关条目:Connectionless and Connection-Oriented Transactions无连接和面向连接事务;Transaction Processing 事务处理。 Tuxedo作为电子商务交易平台,它允许客户机和服务器参与一个涉及多个数据库协调更新的交易, 并能够确保数据的完整性。BEA Tuxedo一个特色功能是能够保证对电子商务应用系统的不间断访问。 它可以对系统组件进行持续的监视,查看是否有应用系统、交易、网络及硬件的故障。 一旦出现故障,BEA Tuxedo会从逻辑上把故障组件排除,然后进行必要的恢复性步骤。 BEA Tuxedo根据系统的负载指示,自动开启和关闭应用服务,可以均衡所有可用系统的负载, 以满足对应用系统的高强度使用需求。借助DDR(数据依赖路由), BEA Tuxedo可按照消息的上下文来选择消息路由。其交易队列功能, 可使分布式应用系统以异步―少连接‖方式协同工作。 BEA Tuxedo LLE安全机制可确保用户数据的保密性, 应用/交易管理接口(ATMI)为50多种硬件平台和操作系统提供了一致的应用编程接口。 BEA Tuxedo基于网络的图形界面管理可以简化对电子商务的管理, 为建立和部署电子商务应用系统提供了端到端的电子商务交易平台。

TUXEDO配置参数详解

TUXEDO配置参数详解 2007-07-10 09:39:47 大中小 TUXEDO应用系统的配置 3.1 TUXEDO应用系统的常见配置 配置文件UBBCONFIG介绍 一个TUXEDO应用系统的所有资源都在一个文本文件中进行定义,该文件称为UBBCONFIG,在配置完成后,UBBCONFIG被编译成一个二进制的文件TUXCONFIG.在TUXEDO系统启动时,从该文件中读取系统的配置信息。UBBCONFIG文件类似WINDOWS下的*.INI文件。它包括以下9大部分, 我们称之为节,RESOURCES,MACHIENS,GROUPS 这三个节必须的,其他的节是可选的。 RESOURCES(必需): 与整个系统有关的配置信息 MACHINES(必需): 一个TUXEDO应用系统可以跨越多台服务器,在该节中配置与每台服务 器有关的信息 GROUPS(必需): TUXEDO中的服务可被分为多个组,在该节中配置与组有关的信息SERVERS(可选): 与SERVER有关的信息在该节配置 SERVICES(可选): 与SERVICES有关的信息在该节配置 NETWORK(可选):与网络有关的信息在该节配置 ROUTING(可选) :路由规则在该节配置 NETGROUPS(可选):与网络分组有关的信息在该节配置 名称解释: TUXEDO应用系统 一个TUXEDO应用系统包括服务端,客户端,服务端安装在服务器上,客户端一般安装在PC 机上,从开发角度看,一个TUXEDO应用系统包括服务端程序,客户端程序,一个配置文件。此外,一个TUXEDO应用系统可以部署在一台服务器上,也可以部署在多台服务器上。SERVER: 服务端程序用C或COBAL编写,每一个程序文件编译成一个相应可执行文件,该可执行文件在运行时称为SERVER,它实际上就是一个进程。每个SERVER都有一个名字,也就是该进程的名字。为与TUXEDO应用系统的服务端区分,我们在本书中,我们用SERVER表示该进程,用服务端表示TUXEDO应用系统的服务端。 SERVICE: 在每个服务端程序中,主要是一个个的函数,在TUXEDO中称这些函数为SERVICE,一般 也称之为服务。在该SERVICE中实现业务逻辑,在客户端中调用这些SERVICE来实现各 种操作,如在前面的例子simpapp中,服务端程序为simpserv.c,它编译成可执行文件simperv, simpserv就是一个SERVER,该SERVER包括SERVICE:TOUPPER。 下面我们给出一个配置文件的例子: *RESOURCES IPCKEY 123456 MASTER simple UID 0 GID 0 PERM 0666

TUXEDO中间件介绍及应用

TUXEDO中间件介绍及应用 一、前言 首先介绍一下什么是中间件?中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。 中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。 世界著名的咨询机构Standish Group在一份研究报告中归纳了中间件的十大优越性: ●缩短应用的开发周期 ●节约应用的开发成本 ●减少系统初期的建设成本●降低应用开发的失败率●保护已有的投资●简化应用集成 ●减少维护费用 ●提高应用的开发质量●保证技术进步的连续性●增强应用的生命力 Tuxedo是第一个严格意义上的中间件产品。Tuxedo是1984年在当时属于A T&T的贝尔实验室开发完成的,但Tuxedo在很长一段时期里只是实验室产品。直到BEA公司1995年收购Tuxedo后,使Tuxedo现已经发展成为交易中间件领域事实上的标准。 TUXEDO是在企业、Internet 这样的分布式运算环境中,开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。 二、TUXEDO的组件软件模型 TUXEDO采用三层结构的组件软件模型。 图1 BEA TUXEDO 的组件软件模型概要

Tuxedo培训教材剖析

Tuxedo基础培训 1.概述 1.1 TUXEDO基本特性介绍 ● 中间件的基本概念 ● TUXEDO功能简介 1.2 使用TUXEDO进行应用的开发 ● 编写一个TUXEDO应用程序的基本步骤 ● 客户端程序的编写 ● 服务端程序的编写 ● TUXEDO常见ATMI函数说明 1.3 TUXEDO配置参数详解 ● TUXEDO配置文件的组成 ● 各组成部分的参数含义 1.4 TUXEDO管理工具的使用 ● 启动、关闭TUXEDO应用 ● 命令行管理工具的使用(tmadmin)

1.5 TUXEDO 应用系统设计要点 1.6 术语定义 ● BB:(Bulletin Board)TUXEDO应用启动时由BBL进程创建的共享内存块,包 含了TUXEDO用来进行管理所需要的全部信息 ● ATMI:(Application-to-Transaction Monitor Interface)面向事务的应用程 序编程接口 ● Server:是一个进程,守候一个消息队列 ● Service:是一个单一的函数。一个server可以包含多个services. ● DDR:(Data Dependant Routing)数据依赖路由 ● PRIO:(Priority)TUXEDO服务优先级机制 ● ACLs:(Access Control Lists)访问控制列表。TUXEDO的安全控制机制一种。 ● CLOPT:(Command Line Option)命令行参数。这是TUXEDO配置文件Server Section一个参数,在服务进程启动时,用来向服务进程传递参数。 ● MSSQ:(Multiple Server Single Queue)TUXEDO多服务单队列机制。多个server 共享一个消息队列。 2.中间件基本概念 2.1 商业计算模式的演变 (1)集中式到分布式 集中式模式下,所有的应用逻辑、数据资源都集中在一台服务器上。这个服务器一般是大型机。 分布式系统中,每个应用逻辑独立一条机器。数据资源单独一台机器 演变模式如下图: 应用逻辑1 应用逻辑2 数据资源1 数据资源2 大型机系统应用逻辑1 机器1 应用逻辑2 机器2 数据资源机器3 集中式分布式 (2)分布式系统的两层结构阶段

tuxedo配置管理

中国建设银行北京市分行TUXEDO中间件配置规范 V1.0 信息技术管理部系统网络科 2012年10月

文档信息 文档修订记录

目录 第1章前言 (3) 1.1编写目的 (3) 1.2文档说明 (3) 1.3参考文档 (3) 第2章建行TUXEDO技术指导 (4) 2.1T UXEDO应用设计原则 (4) 2.2信息系统非功能需求 (4) 第3章TUXEDO配置规范 (6) 3.1系统平台环境 (6) 3.2T UXEDO版本补丁 (6) 3.3T UXEDO资源规划 (6) 3.4UBBCONFIG配置项 (6) 3.5DMCONFIG配置项 (10) 第4章TUXEDO配置模板 (12) 4.1UBBCONFIG文件 (12) 4.2DMCONFIG文件 (14)

第1章前言 1.1编写目的 为规范tuxedo中间件配置工作,合理使用产品功能,保证中间件稳定、持续、安全地运行,特编写北京分行TUXEDO中间件配置规范。 本规范是以总行相关技术规范为指导,结合分行自身实际情况,参照日常运维技术经验,组织编写完成。 本规范适合读者为北京建行信息技术部相关技术人员。 1.2文档说明 文档约定 1、粗体表示注意事项、操作命令 2、斜体表示示例 3、{}中内容为必选参数 4、[]中内容为可选参数,多个可选参数间用“|”分隔 1.3参考文档

第2章建行TUXEDO技术指导 2.1Tuxedo应用设计原则 为规范和统一建行信息系统的研发、运维技术环境,进一步提升技术架构管控能力,总行信息技术部组织起草了《中国建设银行Tuxedo应用设计规范》(便函信息技术管理部〔2011〕927号),文中对tuxedo中间件的一些技术要点做个描述说明: (1)部署模式 说明TXUEDO部署方式分为单域和多域部署模式。在综合前置上收总行后,分行自建系统与综合前置需采用多域模式部署。 (2)性能效率 Tuxedo WORKSTATION 客户端与服务器的数据通信采用高效传递,为WSH设置最大、最小启动数量来控制最大WSC客户端的连接数。并且为保证高效率,客户端到服务器端需要采用长连接方式,涉及到数据库访问连接时使用连接池。 在多server实例中使用MSSQ机制。 (3)故障恢复 设置监听服务器进程、业务服务进程、域网管连接等组件的故障恢复机制,使其具有故障恢复能力,保证系统的高可用性。 (4)超时控制 合理配置客户端连接超时、服务超时、Domain间的连接超时,使其与应用的超时相适应,避免由于超时影响业务系统的正常使用。 2.2信息系统非功能需求 为规范信息系统开发,适应稳定、安全和高效运行的需要,建总行下发《信息系统非功能需求规范》(建总函〔2012〕172号),文中对TUXEDO中间件的部署及配置明确出8点要求,内容摘录如下: (1)设计tuxedo服务时,根据响应时间、调用频率、优先级等相关因素进行服务设计,避免不同特性的服务相互影响。 这是明确指出TUXEDO服务应按类别进行划分。

tuxedo安装手册

Tuxedo安装 我用的是radhat5.0 配置环境: 1,首先要创建一个用户(我这里是tuxedo,密码123) 2,防火墙什么的必须要关 配置:在根目录里面打setup 3,要改一个主机名 主机名改动配置文件:/etc/hosts 直接添加一个主机名(我这里是info) 命令:vim /etc/hosts /etc/sysconfig/network 把文件直接修改成info 命令:vim /etc/sysconfig/network 4,需要安装gcc环境这个可能有依赖包,但是耐心点一定能装完, 知道打rpm –ivh gcc*出现下面的界面就说明安装好了

5;把tuxedo111120_32_Linux_01_x86.bin 文件传到/home/tuxedo文件下 记得改一下权限chmod 777 tuxedo111120_32_Linux_01_x86.bin 传完之后reboot启动一下系统 Tuxedo安装 然后用tuxedo用户登录(这里必须用tuxedo用户安装这个文件) 执行:./ tuxedo111120_32_Linux_01_x86.bin –i console 第一项是选择语言:1 这个是按enter继续 按1选择完全安装, 按1选择创建一个oracle目录 下面是写路径/dev/tuxedo/tux -------------tux是我创建的这个文件夹名字

这个选择2,确定选择创建的文件路径 下面选择y,确认 然后就开始安装了 这个是为tuxedo创建密码我写的是tuxedo 这个地方是说你的服务器是否要安装SSL,我们就不安装了选择2(NO)就可以了,如果你需要SSL 支持你可以选择,这里我就省略了。。。。 这样tuxedo就算安装好了 环境变量配置 进入配置文件cd /home/tuxedo/tux/tuxedo11gR1 下面我们为tuxedo成功启动做一个服务 在/home/tuxedo/tux/tuxedo11gR1 目录下创建一个目录 Mkdir Myserver 将/home/tuxedo/tux/tuxedo11gR1/samples/atmi/simpapp中的所有文件拷贝到Myserver目录下cp samples/atmi/simpapp/* Myserver cp ./tux.env ./Myserver/ 进入Myserver文件夹 Cd Myserver 编译vim tux.env

Tuxedo安装与配置v1

湖南IP网认证计费系统 中间件安装与配置手册 1、Tuxedo安装 1.1、所需软件 ●Tuxedo 8.1或者以后的版本 Oracle Tuxedo 11gR1的软件包(tuxedo111120_64_aix_53_ppc.bin),下载地址: https://www.doczj.com/doc/b94997225.html,/otn/bea/tuxedo/11g/111120/tuxedo111120_64_aix_53_pp c.bin ●Oracle客户端 ●Altibase客户端 ●gcc编译器 ●License文件License文件 Tuxedo 10gR3之后不需要 1.2、软件安装 1.2.1、选择控制台安装(非图形方式) $ls tuxedo111120_64_aix_53_ppc.bin $ ./tuxedo111120_64_aix_53_ppc.bin -i console

1.2.2、选择安装语言 Preparing to install... Extracting 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... Preparing CONSOLE Mode Installation... ============================================================= Choose Locale... ---------------- ->1- English CHOOSE LOCALE BY NUMBER: 1(语言为英文) ============================================================= Tuxedo 11.1.1.2.0 (created with InstallAnywhere by Macrovision) 1.2.3、同意协议 ============================================================== Introduction ------------ InstallAnywhere will guide you through the Tuxedo 11.1.1.2.0 installation. It is strongly recommended that you quit all programs before continuing with this installation. Enter "next' to proceed to the next screen. Enter "back" to modify the previous screen. You may cancel this installation at any time by typing "quit". WARNING: "Quitting" creates an incomplete Tuxedo 11.1.1.2.0 installation.You must re-install Tuxedo 11.1.1.2.0. For more information, see "Preparing to

linux下 tuxedo 安装说明

Tuxedo 学习笔记 看了很多网站的linux 下的安装说明,但是照做,不一定就能成功 这次,亲自实践了一把 做个总结 1,有两个环节要注意,一个是. bash_profile ,这个文件隐藏在你的用户根目录下比如用户是tuxedo,它就在/home/tuxedo/ 下,ls .bash_profile 可以看到 Ls -all 也可以看到这个文件 用vi .bash_profile (注意前面有个小点哦) 里面是相关的环境配置 下面是.bash_profile 文件

下面简单一下安装过程 操作系统是在fedoro 8 上(Linux zc 2.4.22)的,声明一下,fedoro 10 上报错,(内核2.6 上的) 安装文件名:tuxedo81_linux.bin 命令:sh tuxedo81_linux.bin -i console 然后就是稍微等待几秒钟,叫你选择English ,选择1 继续 Enter 只到叫你输入tuxedo 的密码 然后输入KEY ,lic,txt 这个等安装好了,在搞吧,很简单 Cp ,lic,txt /tuxedo8.1/udataobj/ 拷到这个目录下面就OK了

到这,tuxedo 算是安装完了,下面是配置,说实话,配置比安装难啊 先看tmadmin 有没用,如果有用,说明你的key 安装正确了 下面就是配置ubbsimple 了 建议把atmi 下面的例子拷到tuxedo8.1下面来,这样在ubbsimple 里面就好配置了 看下ubbsimple 文件 带# 的先不管了 # (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 items with the appropriate values. *RESOURCES IPCKEY 123457 这个值是唯一的 取值在3万到26万之间,且必须是唯一的(32768-262143) DOMAINID simpapp 管理域的标识符,随便取,没实在意义 MASTER simple site1,site2 主节点,用于多机环境中,起作用,site2备用MAXACCESSERS 10 MAXSERVERS 5 MAXSERVICES 10 MODEL SHM # 单台主机,MP多台主机 LDBAL N BLOCKTIME 6 #客户端等待服务响应的最长时间6*10 60秒 *MACHINES DEFAULT: 这个强烈要求.bash_proflie 里面一定要一致 APPDIR="/home/tuxedo/tuxedo8.1/simpapp" 应用程序路径 TUXCONFIG="/home/tuxedo/tuxedo8.1/simpapp/tuxconfig" tuxconfig 路径 TUXDIR="/home/tuxedo/tuxedo8.1" tuxedo 安装的路径 zc是用户名 在命令下可以用hostname 可以看出来 zc LMID=simple

tuxedo培训教程

BEA TUXEDO 简易培训教程 编写、整理:文栈良 2003-1-21

第一章认识tuxedo 1.1 TUXEDO是什么? BEA TUXEDO是在企业、Internet 这样的分布式运算环境中开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。BEA TUXEDO是企业、Internet 分布式应用中的基础主干平台。它提供了一个开放的环境,支持各种各样的客户、数据库、网络、遗留系统和通讯方式。 BEA TUXEDO使分布式关键任务应用系统具有大型主机的性能,从而使这些应用系统能够应付数以千计的用户,大交易吞吐量,多并行数据库存取和大量数据,同时保持较短的反应时间,较高数据完整性和安全性,并且确保全年365天,每周7天,每天24小时的系统可用性。同时,BEA TUXEDO还能让开发人员和系统管理人员享用分布式运算环境提供的好处,如技术成本的低增长率,灵活性提高,快速应用开发和安装以及业务信息存取得以改善。

1.2 BEA TUXEDO的组件软件模型 关键业务应用通常是面向事务的,要求具有准确的数据完整性、较好的性能和管理需求。这些需求要求对应用的开发、调度和操作给出一个结构化的方案。由像BEATUXEDO这样的中间件支持的组件软件模型为分布式环境处理关键性业务应用提供了一个结构化的解决方案。BEA TUXEDO和基于组件的应用设计从异构的计算资源中创建了一个虚拟主机:在分布式应用系统级提供可管理的相互关联的资源。 许多组织在进行了一段时间的分布式应用工作后,现在已经认识到组件软件模型是他们的必然选择。分布式应用的直接动力是主机应用和集中式中规模的应用系统基础上又逐渐配备有大量的台式系统和服务器系统,这些分布式系统在标准网络传送协议的支持下,呈松散耦合的态势,事实上它们构成了网络计算资源的基础。在开始的时候,分布式系统主要服务于把集中式系统的前台应用迁移到网络环境----主要用台式处理器和文件服务器实现文档处理和电子邮件通讯应用系统。接着,两层的客户/服务器数据库应用在部门级被采用,这类应用把交互式文件共享进化到并发数据元素访问,在数据级支持更细粒度的管理。虽然这些客户/服务器应用具体化了真正分布式应用处理的概念,它们仍留有为某一目标定制的特性,规模和管理能力都有限。更重要的,这些应用只停留在较细粒度的数据访问上,使得整个应用系统宛如磐石,不能有效地利用网络资源。

tuxedo常用命令

1.日志检查清理。检查Tuxedo日志,用vi命令查看日志文件内容,检查有无Tuxedo系统出错记录;检查有无服务异常错误记录;检查有无服务被重起记录;对发现的异常记录进行分析;若无异常情况清除无用的历史日志。 2. 服务器运行情况。检查Tuxedo系统和应用的服务器的运行情况,用“ps -elf|grepserver名”查看进程相关信息,如运行时间、占用内存大小等;用tmadmin命令检查看服务器运行情况,执行psr监控服务器运行情况,查看处理的请求数目、忙闲程度。 3. service运行情况。检查service运行情况,用tmadmin命令中的psc命令查看Tuxedo各service的运行情况和处理的交易数。 4. 队列使用情况。检查Tuxedo队列的使用情况,用tmadmin命令中的pq命令查看Tuxedo各server队列的使用情况,主要查看交易高峰期队列中消息的增加情况,确定是否存在阻塞现象,是否需要对服务数进行调整。 5. 客户机连接情况。检查TuxedoClient的连接情况,用tmadmin命令中的pclt命令查看Tuxedo各客户机的连接情况,检查MAXCLIENT参数是否足够,Licence数是否满足并发要求。 6 .配置参数配置。检查Tuxedoubbconfig文件和dmconfig文件,根据以上各项检查结果,查看Tuxedo配置文件是否需要调整优化,以使中间件平台良好运行,保存配置文件并归档备案。 7. 系统核心参数配置。检查操作系统核心参数配置是否满足目前应用系统规模要求,是否需要调整,根据具体使用的操作系统提供的命令查看核心参数。 8. tmunloadcf 可以导出ubb 文件, tmloadcf 加载ubb 文件 9. tmboot 启动, tmshutdown 关闭, 当然还有很多参数比如-y -i -s 等

TUXEDO培训教材中19页word

TUXEDO培训教材(中) 1.1TUXEDO Buffer类型简介 1.1.1STRING STRING Buffer比较适用于变长的,行结构的数据处理。数据以来分割。 Buffer 长度指定为0 执行encode/decode 1.1.2CARRAY CARRAY Buffer 适用于处理平台无关性数据(independent machine data) 不执行encode/decode 指定Buffer长度,因此缓冲数据可能包括(跟STRING 类型不同) 1.1.3VIEW 1.1.4FML 1.2具体DEMO 1.2.1SHM模式应用 (1) 了解TUXEDO最基本的客户端ATMI函数,及客户端程序编写

(2) 了解TUXEDO最基本的服务端ATMI函数,及服务端程序编写 (3) 了解TUXEDO配置文件最基本的组成部分,及二进制配置文件的生成 (4) 具体例子:c:simpappshm 1.2.2MP模式应用 (1) 编程上与SHM模式一样。 (2) 配置上: RESOURCE Section 的MODEL要配置成 MP 在MACHINE Section 增加主机的配置 增加NETWORK Section NADDR=//IP:PORT 不同主机之间brige进程通讯的IP:PORT NLSADDR=//IP:PORT 本机tlisten进程使用的IP:PORT (3) tlisten 进程的启动 在应用启动之间,每台machine的tlisten进程必须先启动。 一般在机器启动时,就启动tlisten进程。 tlisten进程是TUXEDO自带的管理程序,在MP模式下,完成主机之间的初始化通讯,如非MASTER机从MASTER机中下载tuxconfig配置文件。

TUXEDO+JOLT配置与编程简介

JOLT的配置与编程简介 开发建立一个JOLT 客户端访问BEA Tuxedo 的应用服务的主要的步骤,可以描述以下的过程(参见下图) 1、确认已经安装BEA Jolt 系统 2、首先要建立或已经存在一个BEA Tuxedo 系统的一个应用服务 3、利用Bulk Loader(批量装载)工具装载 BEA Tuxedo 应用服务到 Jolt Repository Database 1)使用 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 File Bulk Loader File 是一个定义服务和关联参数文本文件,Bulk Loader装载定义在the Bulk Loader File(批量装载文件)中的服务到 jolt 接口服务库中(默认的包是:BULKPKG)。 2) Bulk Loader File 的语法 每一个服务定义是由服务属性和参数组成的:属性和参数都有一个要设置的数字,每一个属性描绘都通过一个关键字和一个值 关键字分为两层: ◎Service_level (服务层) ◎Parameter_level (参数层) * 关键字的指导方针 * jbld 程序读取服务定义文本文件,关键字的用法遵守下表的指导方针:

培训教材附录(13)--weblogic9.1安装与配置完全版

1Weblogic 1.1Weblogic安装方法 1.1.1安装前准备 一、安装包准备 [1]:Weblogic 版本:91 [2]:安装文件:server910_generic.jar [3]:本安装weblogic9服务器的IP是192.168.0.188 二、创建用户 [1]:groupadd weblogic [2]:useradd -d /home/weblogic -g weblogic weblogic passwd weblogic [3]:修改目录和文件的属主和权限: chown –R weblogic:weblogic /home/weblogic [4]:将安装文件上传到weblogic用户的目录 /home/weblogic 1.1.2Weblogic图形界面安装 [1]:使用创建的weblogic用户登录linux系统输入: java -jar server910_generic.jar [2]:进入图形安装界面:

点击Next,进入下一步: 点击Next,进入下一步:

点击Next,进入下一步: 点击Next,进入下一步:

点击Next,进入下一步,开始安装: 安装完成后,点击Next:

点击Done,完成安装。 至此,Weblogic安装成功。 1.2Weblogic域(domain) 1.2.1Weblogic域创建 使用创建的weblogic用户登录linux系统,启用安装向导,运行/home/weblogic/weblogic91/common/bin/config.sh ,出现如下开始安装界面:

TUXEDO维护

1、BOSS 中间件部署 133.96.63.11---16营业中间件。133.96.63.17、18为备用环境 Kmyy1:310邯郸、314承德 (kmyy7、kmyy8) Kmyy2:311石家庄、313张家口 (kmyy8、kmyy7) Kmyy3:312保定 (kmyy7、kmyy8) Kmyy4:315唐山、319邢台 (kmyy8、kmyy7) Kmyy5:316廊坊、318衡水 (kmyy7、kmyy8) TUXEDO 维护 2012年4月17日 16:13

Kmyy6:317沧州、335秦皇岛 (kmyy8、kmyy7) 133.96.63.19、20是短信的中间件。两台服务器互备 tuxint: 133.96.63.21、22是外部接口的中间件。两台服务器互备 tuxdp,tuxint 133.96.63.23、24是客服的中间件。两台服务器互备 Tuxkf,tuxkfdp 133.96.63.25、26是账务的中间件。两台服务器互备 2、备用关系: 备用关系: tuxyy(营业中间件):备用服务器为133.96.63.17和133.96.63.18. 其中133.96.63.17节点负责接管奇数地市的服务。133.96.63.18则接管偶数地市的服务。 短信和掌厅务器为133.96.63.19和133.96.63.20,两台设备互备 其中133.96.63.19节点负责接管奇数地市的服务。133.96.63.20则接管偶数地市的服务。 接口中间件:服务器为133.96.63.21和133.96.63.22,两台设备互备 其中133.96.63.19节点负责接管奇数地市的服务。133.96.63.20则接管偶数地市的服务。 客服中间件:服务器为133.96.63.23和133.96.63.24,两台设备互备 其中133.96.63.21节点负责接管奇数地市的服务。133.96.63.22则接管偶数地市的服务。 网厅中间件: 备用服务器为133.96.44.11和133.96.44.12 ,两台设备互备 其中133.96.44.23节点负责接管奇数地市的服务。133.96.44.24则接管偶数地市的服务。 3、监控方式 1、通过http://133.96.64.32/GM/jsp/login.gm页面,用web的方式进行监控。页面刷新频率为5分钟一次。 2、手机短信:重点关注kmyy系列主机的内存、CPU及积压的告警短信 3、直接登录主机,执行tmadmin -> pq命令,检查有无队列积压 4、常用脚本 1、位置:用户名/apps/downwsl.sh 用途:停止域连接 2、位置:用户名/apps/kill_ipsc.sh 用途:在执行tmshutdown后无法成功终止tuxedo进程的情况下,使用此命令清除tuxedo的信号 量,强制终止tuxedo。此命令需慎用 3 、位置:/tuxyy/beamon/BEAMON.sh用途:可以用来分析中间件在一段时间内完成的交易数。进而可以分析中间件的负载情况 4、 5、常见故障 1、内存使用过高 故障特征:主机内存使用率上升,一般达到98%-100%

12- Tuxedo Debug and Tracing

Tuxedo Debug and Tracing Nov 9, 2011 Name: Luna Lin

Tuxedo应用程序的调试和跟踪 ?客户机的调试 –UNIX下在CFLAGS中加-g选项,指示编译器加入符号和调试信息, WINDOWS下,可以使用RAD的调试功能 –调试时应注意超时的问题,尤其是面向事务的应用程序,建议把timeout设置成一个很大的值,或设置为永不超时 ?服务器的调试 –使用“tmboot –n –dl‖打印服务器命令行信息,以便手工启动,之前需要先启动BBL ?-n 只打印启动命令行信息,不真正启动 ?-dl 打印调试级别 –在UNIX下后台启动需要加上&后缀 ?Txrpt –在SRV的CLOPT中加入“-r‖选项,这样就会记录SVC的起止时间。缺省输出到stderr。如果ULOGDEBUG=y,则不记录到stderr。 –使用txrpt -nTOUPPER

使用tmtrace跟踪Tuxedo应用程序 ?tmtrace –运行时跟踪Tuxedo应用程序C和S的运行,跟踪数据写到ULOG文件中。?tmtrace的使用 –通过设置环境变量TMTRACE来完成,不必编程 ?TMTRACE=on ——跟踪C和S的所有ATMI调用 ?TMTRACE=―*:ulog:dye‖ ?TMTRACE=atmi:/tpcall/ulog:dye ?TMTRACE=atmi:/tpservice/ulog ?改变TRACE的spec –tmadmin ?changetrace [-g grpname] [-i srvid] newspec

tuxedo之domain应用入门

tuxedo之domain应用入门收藏 domain将tuxedo应用融合在一起,在解决多应用的分布系统时,是一个很好的选择. domain和WSL的区别 当client和tuxedo服务不在同一主机上的时候,在服务器端运行wsl使客户端能能够获取服务端的服务. 当两个tuxedo服务在不同的主机上,要相互调用时,使用domain,就是说两个主机上的server是对等的. 所以wsl是为了client->server,domain是为了server<->server. 下面举一个例子来说明domain的最基本的用法. 环境: A主机:linux,tuxedo8.1,ip=192.168.1.113 B主机:winxp,tuxedo8.1,ip=192.168.1.113 应用概述 在A主机上面有一个tuxedo服务DOMAIN_TEST,现在有一个客户端,只能访问B主机上面的tuxedo服务,客户端为了得到A主机上的DOMAIN_TEST服务. 有两种办法: 一)在B主机上面建到A主机的DOMAIN_TEST服务路由,可以通过访问B主机的DOMAIN_TEST服务来达到访问A主机的DOMAIN_TEST服务的目的,可以采用配置domain来解决. 二)在B主机上面提供一个通用的服务DOMAIN_TEST,根据客户端的请求参数,决定在A的DOMAIN_TEST 服务程序中采用tpcall来调用相应A主机上的tuxedo服务.也可以采用domain来解决. A主机配置 A主机的ubbconfig,内容如下: # (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 items with the appropriate values. *RESOURCES #Example: IPCKEY 123456 DOMAINID server_240 MASTER chenli MAXACCESSERS 1000 MAXSERVERS 1000 MAXSERVICES 2500 MAXGTT 5 MODEL SHM LDBAL N BLOCKTIME 10 *MACHINES DEFAULT: APPDIR="/home/dev/app/src/bin" TUXCONFIG="/home/dev/app/src/bin/tuxconfig" TUXDIR="/home/dev/app/tuxedo8.1" TLOGSIZE=500

相关主题
文本预览
相关文档 最新文档