一、Tuxedo Middleware 整体情况
现在流行称为 Application Server (应用服务器),它是C语言技术打造的一个应用服务器。是一个质量
比较好的软件。
Tuxedo被广泛应用于企业的核心系统领域,包括电信,金融,制造业等等领域。
Tuxedo 是C/S结构,界面是专门开发的,相对比较固定。与B/S相比,它有何多致命的弱点,比如页面
比较固定,很难改动,一个版本出来到下一个版本出来,周期比较长等,跟不上企业发展的需求。目前统计,
有20%左右的软件是用C/S架构的,但这并不是说C/S架构被淘汰掉了,它在固守着B/S架构目前还不能实现
领域。比如企业的核心业务系统,它是一个相对比较封闭的系统,它不需要外人来访问它。另一方面,C/S结
够输入快,系统反应快,适合企业快速反应的要求,这是 B/S结构所比拟不了的。
Tuxedo技术比较简单,精炼,相对于B/S来说。对学习者来说,能够帮助学习者深入认识底层的知识。
对理解Linux/Unix,网络技术,数据库技术,包括企业核心业务的架构来说,都是很好的应用。
二、Tuxedo Introduction (概述)
1、Tuxedo 的各个方面的功能特征(the main features of tuxedo)
上个世纪90年代初,企业将自己的核心业务系统从专有的大机纷纷转向Linux/Unix 这种开放系统平
台下。这种平台为了支持大型用户群,提高系统的容量,提高用户数。就将原来的client-server这种两层结
构转变成了现在的三层结构或多层结构(n-Tier Client Server)。多层结构实际上也是三层结构。
三层结构:
request service execute DBMS logic
Presentation --------------> Application --------------------> DBMS
(展示层) <-------------- (业务逻辑层) <------------------- (数据层)
response DBMS status/data
Presentation Business DBMS
Services Logic
展示层做为客户端主要做展示和发送请求用的。
业务逻辑:承载业务逻辑的程序,不仅仅具有对数据增删改查的SQL语句,还有复杂的业务逻辑。而
这个业务逻辑就存储在application server 以 tuxedo 为代表,或者基于J2EE服务器weblogic等系统里。
数据库:用于存储数据,对外提供对数据进行增删改查功能
整个流程是:客户端向应用服务器 application server 发请求 request services ,应用服务器就
执行业务逻辑程序 Business Logic , 当业务逻辑执行到需要和数据库打交道的时候,它会发出SQL语句,执
行DBMS逻辑,然后数据库将执行后的数据返回到应用服务器,应用服务器再运行业务逻辑程序对返回的数据
进行加工,加工完以后,返回到客户端。客户端再用合适的界面将结果展示出来。
这种架构每个部分的职责非常分明,是目前很多企业核心系统架构。这种架构能支持的用户数更多,容
量更大。
这种架构的好处是:Flexibility (灵活性强,容易修改增加功能方便等)
Growth (容易扩充,如将来用户增多了可先对应用服务器进行扩充,扩充不够了,再扩BMS)
Performance (是三层架构最主要的好处,体现在他能够支撑的用户数增加了)
tuxedo的定位就定位在Application Server 这个层面上
2、Tuxedo 中C/S 通讯的体系架构及机制 (the client-server communication mechanisms)
中间件或者应用服务器最大的好处就是充当一个放大器的作用,我们可以假设一下,如果有1000或者
10000甚至更多的客户端直接和数据库打交道,数据库很明显是受不了的。那么,中间如果插了一个应用服务
器,应用服务器有消息队列排队机制,有多个进程线程的并发处理机制,它使得应用服务器维系着客户端的成
千上万个网络连接,处理他们的应用请求,同时保证着中间件这个应用服务器和数据库之间相对来说进行着比
较少的数据交流。中间件相当于放大了后台系统的处理能力,使得这种三层架构的系统的能够为更多的用户服
务。
3、Tuxedo 整体的体系架构(the tuxedo architecture)
tuxedo的实现现形式实际上就是一堆进程(tuxedo servers),这些进程中有一部分进程和
tuxedo客户端连接,一部分进程利用消息队列机制,从消息对列里取出来自客户端的请求,来执行相应的业
务逻辑,必要时发送一些SQL语句到后台的数据库。数据库将数据返回给tuxedo server ,然后tuxedo
server将相应的结果发送到tuxedo客户端。
tuxedo service (线程)是tuxedo server(进程)的一个函数,service要到server中注册,这
样server才知道它包含有多少个函数(service(name,客户端发送请求的时候只用调用这个函数的名字即
可))
Tuxedo是三层架构的典型应用,它具体有以下特点:
(1)tuxedo server 为tuxedo clients 注册和提供(named)services ,这些servers支持访
问DBMS,或者其他集中的资源
(2)tuxedo client如果要调用某个服务,直接指定该服务(service)的名字就行了。客户端的服务请求(client service requests)被路由(rout)和被分发(distributed)到一个已经配置过的一群进程(server)里(a configured number of servers),这些进程提供这些service在tuxedo这一层。
(3)tuxedo servers 可以被分配到多个应用服务器上,它是被集中式配置和管理的。
4、Tuxedo 的扩充功能 (the extended tuxedo features)
tuxedo是当今最好的执行C、C++、COBOL事务程序应用的监控器。它不支持后台 Java 的开发。
客户端支持Java的开发。
tuxedo是:
* middleware (between client & servers)
* Transaction Processing (TP) Monitor (事务处理监听器)
* Infrastructure for distributed applications -multi-tier,client-server environment
that is centrally manageed(分布式应用的集中管理的多层C/S架构的基本组成部分)
* The name Tuxedo comes from it's origins : Transactions for Unix (TUX)
+distributed client -server communications (Extended for Distributed Operation)
本文来自CSDN博客,转载请标明出处: http://blog.csdn.net/IT_newbalance/archive/2009/05/13/4179601.aspx