技术开发 频道

浅谈多层分布式体系技术与应用

    2.2.2目前市场上主要中间件的比较

    在此,我们比较五种中间件产品:BEA的Tuxedo,奥能的Goddess,东方通的T-Link/T-Easy,SilverStream,Sybase的Jaguar CTS。我们将他们分为三类:

    (1)成熟的中间件产品,包括Tuxedo、Goddess 和T-Link/T-Easy。

    Tuxedo、Goddess 和T-Link/T-Easy在消息中间件的基础上提出交易中间件的概念。交易中间件的作用是满足现代业务应用系统12条基本原则:完整性、安全性、可伸缩性、可用性、可管理性、互操作性、适应性、易开发性、经济性、快速的响应时间、数据的可分布性、易使用性。采用商业交易中间件带来以下好处:缩短产品投放市场所需时间、节省应用开发费用、减少系统运行开销、降低失败率、提高投资效率、简化应用集成、降低软件维护费用、高质量、保证技术革新。好的交易中间件具备成熟、方向、性能、功能、开放、简单六要素。T-Link/T-Eay、Tuxedo、Goddess都具备了以上功能;Goddess 在底层技术上和Tuxedo相似,但提供了比其它产品丰富的多的应用级支持,配置非常简单,并且是唯一提供C++接口方式的中间件产品,使得应用开发时间大大缩短。相比Tuxedo、Tuxedo,T-Link/T-Eay在功能、速度方面均存在较大差距,并且配置比较复杂。

    (2)面向Web应用服务器的中间件SilverStream。

    从整体概念上来看,它们以Java为基础,它们不止提供中间消息传递、事务管理,还在上层构建了一个应用服务器,同时还提供了开发平台。它主要用于雇员/供应商(客户)/群体的Web开放式应用系统,对于移动目前的综合业务系统来说,与完全基于Web的应用还有很大的差别。

    (3)支撑数据库应用开发的中间件Juguar CTS。

    Juguar CTS是由数据库厂商Sybase提供。由于Sybase有开发大型数据库Sybase以及开发工具PowerBuilder的经验,所以CTS对数据库尤其是Sybase自己的数据库有强大的支撑能力,同时,考虑过去PowerBuilder开发的Client/Server应用,当升级到 PowerBuilder 7.0 企业版以后,很容易的就能把他们转移到多层分布式平台上。总的来说,Juguar CTS(包括其开发套件)是一个提供快速多层应用的开发平台,特别是对PowerBuilder的程序员,在系统开放性方面有一定的局限性。

    三、多层分布体系在移动公司综合业务平台中的应用

    由于多层分布体系具有Client与数据库隔离,保证系统的安全可靠;扩容容易,有效的减少投资;完全的OOP设计,应用有很好的可维护性;负载均衡、Fial/Recover,完全解决客户/服务器系统因用户量增大造成数据库当机的现象,目前这一体系在移动公司综合业务平台中正得到广泛应用。针对各移动公司业务的多样性以及需求的不同,可构造一个跨服务器平台、跨中间件的综合业务应用系统。这一系统主要包括以下三个方面的模型:

    3.1面向业务模型


    该模型与基于客户/服务器的机制不同,将业务的表现与实现逻辑分开,这样更与现实世界的业务处理相同。因为前台的操作人员不需要对业务逻辑进行控制,而业务逻辑是由管理人员确定的,操作人员仅面向人机交互。其中包括三个层次:

    ①表示层。

    该层为用户提供人机交互界面,所有的数据录入/显示操作都在此完成。当用户需要进行数据交换时,是不允许直接访问数据库服务器,而是通过业务逻辑层提供的Service Interface接口进行访问,这样保证了后台数据的安全性。同时实现了真正意义上的瘦客户。

    ②业务逻辑层。

    该层负责对输入/输出的数据按照业务逻辑进行加工处理,并实现对数据库服务器的访问。从上图我们可以看到,该层对它的上级和下级分别提供了Servive Interface和DBAgent。

    Service Interface接口用于向客户程序提供业务服务。当表示层录入数据后,通过该接口传递到本层。本层根据预先定义好的业务规则对数据进行分析处理,通过DBAgent访问数据库取得显示数据再根据业务规则进行加工,从Service Interface接口返回到表示层进行显示。

    DBAgent(数据访问代理)接口用以实现对后台数据库的无关访问。在DBAgent内部,我们为不同的数据库提供了相同的接口引擎,屏蔽了与数据库相关的细节,也就是说,当后台数据库发生了变化,由于实现通过DBAgent进行数据库访问,因而我们的应用程序不需要做任何变动。例如,我们现在的综合业务平台系统使用的是Oracal大型数据库,以后随着业务的扩展需求,我们可能把话单单列出来,放到其他的数据库服务器中,以降低中心数据库服务器的负载。这时,从成本角度考虑,我们可能选用其他数据库,但我们不需要再投资购买应用软件的相应数据库版本。

    ③数据存储层。

    即实际意义上的RDBMS。

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

0
相关文章