中间件技术,软件系统即插即用

中间件技术,软件系统即插即用

李超昆明医学院海源学院 网络信息中心

 

1、中间件概述

       分布式计算技术迅速发展。从硬件技术看,CPU速度越来越高,处理能力越来越强;从软件技术看,应用程序的规模不断扩大,特别是Internet及WWW的出现,使计算机的应用范围更为广阔,许多应用程序需在网络环境的异构平台上运行。这一切都对新一代的软件开发提出了新的需求。在这种分布异构环境中,通常存在多种硬件系统平台(如PC,工作站,小型机等),在这些硬件平台上又存在各种各样的系统软件(如不同的操作系统、数据库、语言编译器等),以及多种风格各异的用户界面,这些硬件系统平台还可能采用不同的网络协议和网络体系结构连接。网络管理人员如何把这些系统集成起来并开发新的应用是一个非常现实而困难的问题。

2、中间件的定义

        为解决分布异构问题,一些专家提出了中间件(middleware)的概念。中间件是位于平台(硬件和操作系统) 和应用之间的通用服务,如下图1所示,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。

 

 

图1 中间件层次结构图

         到目前为止,业界也许很难给中间件一个严格的定义,笔者认为只要具备有如下特点的都可以把它的功能定义为中间件系统:满足大量应用的需要;运行于多种硬件和OS平台;支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互;支持标准的协议;支持标准的接口。

       由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了IT用户在应用软件开发和维护中的重大投资,特别对于像高等院校这样IT预算相对不充足的用户在日常工作中有重大实际意义。

3、中间件的分类

       中间件所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色的中间件产品。但因为至今中间件还没有一个比较精确的定义,因此,在不同的角度或不同的层次上,对中间件的分类也会有所不同。由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下的通讯服务,我们将这种通讯服务称之为平台。基于目的和实现机制的不同,按照IDC的分类方法,中间件可分为以下几类,下面,笔者针对几类主要的中间件分别加以简要的介绍。

3.1、终端仿真/屏幕转换

         用以实现客户机图形用户接口与已有的字符接口方式的服务器应用程序之间的互操作;

3.2、数据访问中间件 (Data Access Middleware)

        是为了建立数据应用资源互操作的模式,对异构环境下的数据库实现联接或文件系统实现联接的中间件;在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型的、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,这类中间件将为在网络上虚拟缓冲存取、格式转换、解压等带来方便。

3.3、远程过程调用中间件(Remote Procedure Call Middleware)
         通过这种远程过程调用机制,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过程;

3.4、.消息中间件Message-Oriented Middleware)
         用来屏蔽掉各种平台及协议之间的特性,实现在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输,实现应用程序之间的协同。这是中间件中唯一不可缺少的,是销售额最大的中间件产品,主要产品有国内东方通科技公司的Tong link、BEA公司的 Elink 、IBM公司的Mqseries等,目前在微软操作系统中已包含了其部分功能。

3.5、交易中间件 (Transaction Middleware)

        是面向交易事务处理的中间件,它负责正确传递交易,对交易完整性进行管理,调度应用程序的运行,保证整个系统运行的高效性。根据X/Open DTP模型,本地交易的管理由数据库系统来完成,交易中间件主要完成分布式计算环境下交易的监控和管理。数据库虽然在本地交易管理的功能己经很强大,但透过一个广域网进行分布式交易管理并不是数据库的强项,特别是一笔交易涉及到异构数据库时更是如此。BEA公司的Tuxedo便是最著名的一个交易中间件产品,东方通科技公司的Tong easy实现了DTP参考模型规定,另外还有IBM公司的Txseriers是应用广泛的一个交易中间件产品。

 3.6、对象中间件(Object Request Brokers)
         在分布、异构的网络计算环境中,可以将各种分布对象有机地结合在一起,完成系统的快速集成,实现对象重用,在这个方面遵循的标准是CORBA。对象中间件将是未来的主流,目前产品如东方通的Tong Broker,Inprice公司的Borland application server。

 3.7、Web中间件即应用服务器(Application Server)

         是实现基于浏览器(或Web)应用的中间层平台,不仅是商业逻辑组件的容器,还提供了内容管理、负载均衡、容错、连接池等功能。因为浏览器图形用户界面已成为公认规范,然而它的会话能力差、不能作数据写入、受http协议的限制等,就必需进行修改与扩充,形成了 web服务器中间件,如 IBM公司的Webshpere产品,Bea公司的Weblogic,东方通公司的Tong web。

        以上几种是出现比较早,已经发展成型的中间件产品,进入21世纪以来,随着社会化分工越来越明确,针对行业应用的中间件产品的受到业界的广泛关注,目前发展情况而言,主要有以下几种行业中间件的发展方兴未艾:

3.8、邮件防病毒中间件(Email Anti Virus Middleware)

        随着计算机网络的发展,邮件病毒越来越多,而且越来越狡猾,它们会通过多种方式来伪装自己,伪造正常的发信人,采用随机的字符串来命名邮件标题,采用有诱惑性的邮件正文等,这些新的手段,使得传统依靠简单邮件过滤来防范病毒的做法越来越不适用,由于以上过滤是采用先收取后过滤的方法,因此,在邮件病毒快速传播的过程中,很可能会消耗大量的资源,从而使邮件服务器宕机。

    邮件防病毒中间件是利用嵌入式技术,以病毒查杀引擎作为产品内核,对外提供统一的接口供外部程序调用,为所有操作系统平台下的邮件系统提供一种通用防病毒功能。邮件防病毒中间件工作在系统底层,因此同系统结合得更紧密,从而更加稳定,由于本身是一种中间件的形式,具有标准程序接口和协议,能够屏蔽操作系统和网络协议的差异,实现不同硬件和操作系统平台上的数据共享和应用互操作,从而确保IT设备投资有效性,并保证其它应用软件的相对稳定和功能扩展。

 

图2:邮件防病毒中间件工作原理图

         有自主知识产权的软件开发厂商和系统集成商可以根据自己的需要,只要经过简单的二次开发,便可在自己的邮件系统中内嵌入邮件防病毒中间件来实现邮件病毒的检测和清除。在病毒防护方面,邮件防病毒中间件的应用使系统中成千上万的真实请求模拟成单个虚拟请求,工作原理如上图2所示这样病毒查杀与域、用户数无关,单一用户授权的杀毒引擎就可以实现全系统的杀毒,不但成本大幅降低,而且杀毒模块可以被部署在集群或双机结构的每一个节点上,由此导致系统运行效率大大提升,在同样的硬件平台上,系统杀毒速度为其它产品的1.5-5倍。

3.9、电信平台中间件(Telecomm Platform Middleware)

基于互联网平台的各种新技术的兴起与电信运营商不断变化的需求密切相关。现代电信竞争存在着越来越大的风险,运营商必须时刻把握正确的发展方向。在这样的形势下,如果按照以往电信系统的设计思路,每一个电信系统都可能是独立的“信息孤岛”,各个系统间的运作缺乏统一和协调。这样的状况不仅会导致运营商在系统建设方面不断重复建设所造成的投资浪费,而且由于各个系统间缺乏关联性,因此无法对消费用户进行准确的分析,并制定相应的销售策略。

        所有这些困难迫使电信运营商不得不将系统架构随着市场状态的变化而随之改变,趋向于大型化、架构可扩展、以业务为导向的市场需求促成了电信系统逐渐向集中建设、集中管理、分散使用这个方向发展的态势;打破各个电信系统之间旧有的阻隔,使各个系统最终能够在一个统一、协同的平台上完美运转已经是他们时刻为之努力的方向。

        中间件技术能够很好地解决以往电信运营商针对各个单一业务应用所建设的各自独立系统间存在的缺乏关联性的问题。以目前运营商的两大主营业务—— 语音和互联网及数据服务为例,在中间件平台下,运营商只需对该用户资料修改一次即可完成所有改变,这不仅减轻了维护成本,而且使运营商能够对自己的用户有更加直观清晰的了解。与此同时,随着SOA技术(面向服务的架构)的日渐完善,中间件的涉及领域正在蔓延到电信系统更基础、底层的领域,有效地解决了电信系统之间的资源无法共享、信息割裂的问题。可以想见,随着中间件技术的日益成熟,曾经横在运营商面前的诸多“信息孤岛”所引发的难题将迎刃而解。

        中间件的发展通过EAI平台建设的大规模兴起不断加速,EAI建设几乎是每一个电信运营商在系统整合过程中都无法逾越的过程,而中间件恰恰是构筑这些EAI应用的基础元素。笔者认为,随着电信系统的复杂化,如何将这些新旧IT系统进行有效整合,以实现数据的共享和集中对于运营商而言格外重要,而目前绝大多数运营商的思路都是试图在BSS、OSS和MSS等各个系统之间建立一个标准的接口,在统一规划、统一框架、统一标准等原则下,通过EAI平台对这些功能进行连接,从而达到数据共享的需求。

4、小结

        中间件能够屏蔽操作系统和网络协议的差异,为应用程序提供多种通讯机制;并提供相应的平台以满足不同领域的需要。因此,中间件为应用程序了一个相对稳定的高层应用环境。然而,中间件服务也并非“万能药”。中间件所应遵循的一些原则离实际还有很大距离。多数流行的中间件服务使用专有的API和专有的协议,使得应用建立于单一厂家的产品,来自不同厂家的实现很难互操作。有些中间件服务只提供一些平台的实现,从而限制了应用在异构系统之间的移植。网络管理员在这些中间件服务之上建立自己的应用还要承担相当大的风险,随着技术的发展它们往往还需重写它们的系统。尽管中间件服务提高了分布计算的抽象化程度,但网络管理员还需面临许多艰难的设计选择,总之面临不同的问题,都需要网络管理人员保持冷静的头脑,作出合理的判断,使我们的网络系统更加稳定,充分发挥其功效,加快信息化建设的速度

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值