当前位置:文档之家› 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配置文件ServerSection一个参数,在服务进程启动时,用来向服务进程传递参数。

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

多个server共享一个消息队列。

2.中间件基本概念2.1 商业计算模式的演变(1)集中式到分布式集中式模式下,所有的应用逻辑、数据资源都集中在一台服务器上。

这个服务器一般是大型机。

分布式系统中,每个应用逻辑独立一条机器。

数据资源单独一台机器演变模式如下图:应用逻辑1 应用逻辑2 数据资源1 数据资源2 大型机系统应用逻辑1 机器1 应用逻辑2 机器2 数据资源机器3 集中式分布式(2)分布式系统的两层结构阶段客户端应用:● 用户界面处理● 业务逻辑处理服务端应用:● 数据库服务器(3)二层结构在关键业务采用的限制● 前后台均是专用系统绑定● 客户机端的扩展性差● 不够模块化● 业务逻辑在客户机端● 对安全性/业务变化的管理能力差● 关系数据库系统间的互联性差● 关系数据库间没有交易处理● 适用于部门级解决方案:小于200个用户(4)如何对两层的结构进行扩展:采用多路集中方式,客户端不直接与服务库服务器相连,而是先与一个sesstion connector 相连,再由sesstion connector 与数据库服务器。

(5)分布式系统的三层结构阶段:对二层系统的扩展,就演变成了分布式系统的三层结构:将业务逻辑从客户端应用中分离出来,组成业务逻辑服务器。

客户端与业务逻辑服务器相联,业务逻辑服务器与数据库相连。

这样就演变成“客户端、业务逻辑服务器、数据库服务器”的三层结构。

2.2 中间件是三层结构的手段(1)中间件是将应用映射到相关的资源上的软件技术,它是由一系列的API 和通讯协议所组成的。

中间件使得三层的客户服务器架构得以实现。

(2)使用中间件的应用的优点:● 灵活地在客户与服务器之间划分数据与逻辑.● 便于按照业务需求修改客户端或服务器端的逻辑.● 分隔系统的开发与系统的部署.● 提供分布交易的全程保护3.BEA TUXEDO 简介3.1 TUXEDO消息处理机制3.1.1client/server架构的两种模式➢ 在一个client/server结构的应用中,client(需要服务的实体)和server(提供服务的实体)是互相独立的两个逻辑对象,两者通过通讯来共同完成一个任务。

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

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

➢ 一个客户端应用(client application)的功能:组织服务请求数据,并接收请求处理结果。

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

➢ 有两种类型的client/server架构模式✓ 数据请求模式(适合client/server之间传输大批量数据)✓ 服务请求模式(适合快速的、级小数据传输的服务请求)3.1.2TUXEDO如何处理client/server架构模式TUXEDO使用conversation(会话)方式来处理“数据请求模式”TUXEDO使用 request/reponse 方式来所处理“服务请求模式”使用TUXEDO的client/server应用的特点:➢ 快速的,无连接的通讯:在应用TUXEDO的系统中,客户端与TUXEDO bulletin board 建立连接(而不是与具体的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.5TUXEDO 会话(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 Notification3.2 BEA TUXEDO 3层Client/Server架构sss采用BEA TUXEDO 开发分布式应用,开发人员只要处理⏹ 用户界面⏹ 业务逻辑⏹ 数据库访问其他底层处理,全部由TUXEDO 来处理:⏹ 网络通讯⏹ 负载均衡⏹ 容错处理⏹ 数据一致性⏹ 可扩展性⏹ 跨平台性⏹ 安全控制⏹ 系统管理因此要开发大型部门关键事务处理的分布式系统,TUXEDO完全可以胜任4.BEA TUXEDO 功能详解4.1 高速的数据甬道1、在没有使用中级件的传统的二层模式中,每个客户机或客户应用程序均和服务器或服务程序建立“硬连接”。

客户端 N 个,服务端 M个,则网络连接数=N × M 个2、如果使用了中间件,则客户端与中间件相联,中间件与后台服务相联。

客户端 N 个,服务端 M个,则网络连接数=N + M 个4.2 TUXEDO具有丰富的通讯机制:➢ 同步调用➢ 异步调用➢ 会话➢ 广播➢ 管道➢ 发布&订阅4.3 负载均衡➢ 服务器间的负载均衡➢ 应用进程间的负载均衡多服务单队列机制(MSSQ),自动增减应用进程。

➢ 数据依赖路由(DDR)4.4 数据依赖路由(DDR)客户端对同一个service的调用,TUXEDO可以根据客户端的具体数据,分发到不同服务进程,TUXEDO BB包含一个路由分配表。

路由分配表中定义具体的哪个service所服务的请求范围。

通过数据路由功能,可以将对同一个service 请求的数据扩展到多台服务器。

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

我们将通过具体的例子来说明DDR机制4.5 TUXEDO service优先级机制(PRIO)优先级只是针对service而言。

优先级高的service优先得到调用。

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

例子:A、B、C为三个优先级不同的services则service调用顺序是CBA。

为了保证优先级低的service有机会得到调用,TUXEDO 以10次为1个循环。

第10次不论优先级,而是执行请求队列中多靠前的服务(FIF0)。

4.6 TUXEDO的交易完整性(分布式事务处理)TUXEDO应用中,通过使用TUXEDO提供的事务处理函数来创建一个事务。

在事务中的业务处理被看做一个整体,要么一起提交,要么一起回滚。

TUXEDO提供一组API函数来begin,commit,rollback 事务。

相关主题