一、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的开发。