《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 多层分布式体系技术在电信触摸屏多媒体查询系统中的应用
多层分布式体系技术在电信触摸屏多媒体查询系统中的应用
罗会兰 谢小兵
摘要: 一种利用中间件Tuxedo实现电信触摸屏多媒体查询系统的体系结构及其相关组件的实现。
Abstract:
Key words :

  摘  要: 一种利用中间件Tuxedo实现电信触摸屏多媒体查询系统的体系结构及其相关组件的实现。

  关键词: 多层分布式体系技术  中间件  Tuxedo系统

   传统的应用系统模式是主机/终端或客户机/服务器模式。客户机/服务器系统(Client/Server System)的结构是指把一个大型的计算机应用系统划分为多个能互为独立的子系统,而服务器便是整个应用系统资源的存储与管理中心,多台客户机则各自处理相应的功能,共同实现完整的应用。随着Internet的发展壮大,这些传统模式已经不能适应新的环境,于是就产生了新的分布式应用系统,即浏览器/服务器结构、瘦客户机模式。

  在Client/Server结构模式中,客户端直接连接到数据库服务器,由二者分担业务处理,这样的体系存在以下缺点:

  (1)Client与Server直接连接,安全性低。非法用户容易通过Client直接闯入中心数据库,造成数据损失。

  (2)Client程序庞大,并且随着业务规则的变化需要随时更新。这使得维护量大大增加,造成维护工作困难。

  (3)每个Client都要直接连到数据库服务器,使服务器为此消耗大量本就紧张的服务器资源。

  (4)大量的数据直接在Client/Server端传送,在业务高峰期容易造成网络流量暴增,网络阻塞。

  随着业务量的增加,Client/Server模式的这些先天不足导致越来越多的问题。因此有必要对这种二层体系进行改革,将业务处理与客户交互分开,实现瘦客户/业务服务/数据服务的多层分布式应用体系结构。

1  多层分布式应用体系

  随着中间件与Web技术的发展,三层或多层分布式应用体系应用越来越广泛。在这种体系结构中,客户机只存放表示层软件,应用逻辑包括事务处理、监控、信息排队、Web服务等采用专门的中间件服务器,后台是数据库。在多层分布式体系中,系统资源被统一管理和使用,用户可以通过网格门户(portal)透明地使用所有网络资源。

  在多层体系中,各层次按照以下方式实现明确分工:瘦客户提供简洁的人机交互界面,完成数据的输入/输出;业务服务完成业务逻辑,实现客户与数据库对话的桥梁。同时,在这一层中,还应实现分布式管理、负载均衡、Fail/Recover、安全隔离等;数据服务提供数据的存储服务。

  多层分布式体系具有以下主要特点:

  (1)安全性:中间层隔离了客户直接对数据服务器的访问,保护了数据库的安全。

  (2)稳定性:中间层缓冲Client与数据库的实际连接,使数据库的实际连接数量远小于Client应用数量。当然,连接数越少,数据库系统就越稳定。Fail/Recover机制能够在1台服务器当机的情况下,透明地把客户端工作转移到其他具有同样业务功能的服务上。

  (3)易维护:由于业务逻辑在中间服务器,当业务规则变化后,客户端程序基本不做改动。

  (4)快速响应:通过负载均衡以及中间层缓存数据能力,可以提高对客户端的响应速度。

  (5)系统扩展灵活:基于多层分布体系,当业务增大时,可以在中间层部署更多的应用服务器,提高对客户端的响应,而所有变化对客户端透明。

  目前,多层分布应用开发中有二种比较重要的规范,即COM+和CORBA。其中COM+主要用于Windows平台,CORBA则提供跨平台的能力。同时,随着分布式应用的发展,旧的硬件/软件平台的不断更新,跨硬件平台、网络环境、操作系统以及跨不同数据库的应用系统不断出现,使传统的开发工具越来越不能适应,因此中间件应运而生。

2 中间件与Tuxedo

  中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机与服务器的操作系统之上管理计算机资源和网络通信。可以这样理解:中间件也是一类软件,它的首要任务是实现应用与平台无关的互操作,其次能够合理地管理网络通信资源。按照IDC的分类方法,中间件可分为6类,第1类是终端仿真/屏幕转换中间件;第2类是数据库访问中间件;第3类是远程过程调用中间件;第4类是消息中间件;第5类是交易中间件;第6类是对象中间件。

  Tuxedo是BEA公司的交易中间件产品,经过十多年的不断更新和完善,Tuxedo已经发展成为交易中间件领域事实上的标准。Tuxedo可以有效地整合企业异构C/S系统,实现大规模的关键业务处理和分布式事务管理,从而为企业提供一个可靠的、高性能的、易维护的三层分布式计算机环境。图1展示了一个基本Tuxedo系统的组成和工作原理。

 

  图1中,①表示Client向System/T发出查询请求,以找到Server消息队列的地址;②表示Client根据找到的入口地址将请求发送到Server的消息队列中;③表示Server处理请求,并将结果返回给Client的消息队列。System/T是Tuxedo系统的核心,它实现了Tuxedo的所有功能和特征,如C/S数据流管理、服务请求的负载均衡、全局事务管理以保证交易的完整性、同步/异步服务请求、二阶段提交以确保消息的发送等。BEA Tuxedo提供多种API接口,可供用户灵活选用并进行灵活的组合,同时也提供各种推荐的组合模式,由用户直接使用。

3 中间件Tuxedo在电信触摸屏多媒体查询系统中的应用

  近年来,电信市场竞争日趋激烈。在各个业务领域内已初步形成多元化的竞争局面。同时,随着中国加入WTO,国外的电信公司也会进入中国市场。在这样的形势下,如何提高服务质量是企业生存与发展最重要的环节,这就是近年来触摸屏多媒体查询系统在电信行业纷纷出现的主要原因。

  针对此类系统用户多、维护量大及需要不断扩展等特点,系统采用四层体系结构,如图2所示。

 

  客户端采用基于Web的瘦客户机结构,用户通过浏览器可以查询所需的信息。当用户需要进行数据交换时,不允许直接访问数据库服务器的,而是要通过Web服务器上的一个组件来访问中间件提供的接口。这样保证了后台数据的安全性,同时实现了真正意义上的瘦客户。

  Web服务器层采用IIS,利用ASP技术,通过一个组件将信息的展示与实际的业务逻辑隔离开,使得网页制作人员不必了解复杂的业务逻辑与中间件知识,而且非常便于维护。在此服务器安装了Tuxedo客户端。

  中间件层采用了BEA Tuxedo,负责对输入/输出的数据按照业务逻辑进行加工处理,并实现对数据库服务器的访问。该层对它的上级和下级分别提供了Servive Interface和DBAgent。

  采用以上技术就解决了客户/服务器模式中面临的最严峻问题即:由于客户机增多,导致数据库连接增多,使得服务器不断扩容,造成服务器当机。在多层体系中,由于客户机不是直接访问数据库,而是通过业务逻辑服务层,因此可通过业务层有效地实现各连接共用数据库连接。如果说,100个客户端同时在线,可能只有10个实际连接到数据库。

4 用户话费信息查询组件的实现

  由于采用的是Web方式,所以与中间件的通信通过1个组件完成。在ASP中不直接与中间件发生联系,而是调用此组件来实现信息的查询。

  三层体系中客户端与服务端的通信由Tuxedo的API函数实现,客户端由函数Tpinit与服务器建立连接,由函数Tpcall申请Service服务,再由相关的Tuxedo函数对数据解包。数据传输采用Tuxedo提供的非常灵活的FML方式实现客户端与服务端的数据交换。

  该组件接收1个一维数组作为入参。根据入参确定要调用的服务,把所得结果以数组形式返回。

本系统主要用到Tuxedo的话费查询服务中的7种API函数,该组件的设计思想如图3所示。

 

  在ASP页面中组件的使用方法如下所示:

  ……

  Set newObj=Server.createobject(″GetDataSrv.GetData″)

    retArrayStr=newobj.Req(″3;8276658;123456;0;0″)

    if retArrayStr[0]=′0′then showMessage(′执行成功′)

  else

        showMessage(′用户不存在′)

  end if

    ……

5  结束语

  随着基于Web的瘦客户机结构的发展,基于多层分布体系的应用将会越来越广泛。而中间件作为分布体系应用的关键技术,以其独特的优势为各种分布式应用的开发注入了强大动力,极大地推动了应用系统集成的发展。

此内容为AET网站原创,未经授权禁止转载。