中间件技术的发展与应用

来源 :中国信息导报 | 被引量 : 0次 | 上传用户:quguangming
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,以达到资源共享、功能共享的目的。目前,对于它并没有很严格的定义,但IDC的定义已为人们所普遍接受,即中间件是一种独立的系统软件、服务程序或分布式应用软件,借助这种软件可在不同的技术之间共享资源。中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。从这个意义上讲,可以用一个等式来表示中间件:中间件=平台+通信,这也就限定了其只有用于分布式系统中才能叫中间件,同时也把它与支撑软件和实用软件区分开来。一般认为,中间件必须具有以下特点:(1)标准的协议和接口;(2)分布计算,提供网络、硬件、操作系统透明性;(3)满足大量应用的需要;(4)能运行于多种硬件和操作系统平台。其中具有标准的接口和协议非常重要,因为它可以实现不同硬件和操作系统平台上的数据共享和应用互操作。
  从理论上讲,中间件的工作机制是:在客户端上的应用程序需要从网络中的某个地方获取一定的数据或服务,这些数据或服务可能处于一个运行着不同操作系统和特定查询语言数据库的服务器中。客户/服务器应用程序中负责寻找数据的部分只需访问一个中间件系统,由中间件完成到网络中查找数据源或服务,进而传输客户请求、重组答复信息,最后将结果送回应用程序的任务。在具体实现上,中间件是一个用APl定义的软件层,具有强大的通信能力和良好的可扩展性的分布式软件管理框架。中间件作为新层次的基础软件,其重要作用是将不同时期在不同操作系统上开发的应用软件集成起来,彼此像一个整体一样协调工作,这是操作系统和数据库管理系统本身做不了的。勿庸置疑,中间件技术将在未来的软件技术发展中占据重要位置。
  
  2.中间件分类
  
  中间件的产品种类很多,根据其所起的作用和采用的技术不同,大致分为以下5种:
  
  (1)数据库中间件(DM)
  数据库中间件在所有的中间件中是应用最广泛、技术最成熟的一种。一个最典型的例子就是ODBC。它是一种基于数据库的中间件标准,允许应用程序和本地或者异地的数据库进行通信,并提供了一系列的应用程序接口APl。当然,在多数情况下这些APl都是隐藏在开发工具中,不被程序员直接使用。从数据库实际编程经验得知,只要在ODBC中添加一个数据源后,就可以直接在自己的应用程序中使用这个数据源,而不用顾及目标数据库的实现原理、实现机制,甚至不必了解ODBC向应用程序提供了哪些应用程序接口APl。
  不过,在数据库中间件处理模型中,数据库是信息存贮的核心单元,中间件完成通信的功能,这种方式虽然是灵活的,但是并不适合于一些高性能处理的要求,因为它需要大量的数据通信,而且当网络发生故障时,系统将不能正常工作。系统灵活性的提高是以处理性能的降低为代价的。
  
  (2)远程过程调用中间件(RPC)
  远程过程调用是另外一种形式的中间件,它在客户/服务器计算方面,比数据库中间件又迈进了一步。它已经存在’了相当长的时间,而且沿用了大多数程序员都非常熟悉的编程模式,程序员在程序中调用远程过程就像调用本地过程一样。远程过程调用还可以将程序的控制传递到远端的服务器。
  远程过程调用的灵活性使它有着比数据库中间件更广泛的应用。它可以应用在更复杂的客户/服务器计算环境中。远程过程调用的灵活性还体现在它的跨平台,性上。它不仅可以调用远端的子程序,而且这种调用是可以跨越不同操作系统平台的。
  远程过程调用也有一些缺点。其一般用于应用程序之间的通信,而且采用的是同步通信方式,因此比较适合小型的简单应用,这些应用通常不要求异步通信方式。但是对于一些大型的应用,这种方式就不是很适合了,因为此时程序员需要考虑网络或者系统故障,处理并发操作、缓冲、流量控制以及进程同步等一系列复杂问题。
  
  (3)面向消息中间件(MOM)
  和远程过程调用相比,消息中间件不支持程序控制的传递。其优点在于能够在客户和服务器之间提供同步和异步的连接,并且在任何时刻都可以将消息进行传送或者存储转发,这也是它比远程过程调用更进一步的原因。另外,消息中间件不会占用大量的网络带宽,可以跟踪事务,并且通过将事务存储到磁盘上实现网络故障时系统的恢复。
  消息中间件适用于需要在多个进程之间进行可靠的数据传送的分布式环境。
  
  (4)基于对象请求代理的中间件(ORB)
  对象请求代理是近年来才发展起来的一项新技术,它可以看作和编程语言无关的面向对象的RPC应用,被视为从面向对象过渡到分布式计算的强大推动力量。从管理和封装的模式上看,对象请求代理和远程过程调用有些类似,不过对象请求代理可以包含比远程过程调用和消息中间件更复杂的信息,并且适用于非结构化或非关系型的数据。
  目前,有两种对象请求代理的标准,分别是CORBA和DCOM,这两种标准是相互竞争的,而且两者之间有很大的区别,这在一定程度上阻碍了对象请求代理中间件的标准化进程。
  
  (5)事务处理中间件(TPM)
  事务处理中间件是一种复杂的中间件产品,是针对复杂环境下分布式应用的速度和可靠性要求而实现的。它给程序员提供了一个事务处理的APl,程序员可以使用这个程序接口编写高速而且可靠的分布式应用程序——基于事务处理的应用程序。
  事务处理中间件向用户提供一系列的服务,如应用管理,管理控制,已经应用程序间的消息传递等。常见的功能包括全局事务协调、事务的分布式两段提交、资源管理器支持、故障恢复、高可靠性、网络负载平衡等。
  
  3.中间件技术的应用
  
  中间件技术现已成为构建分布式应用系统的重要支撑技术。它能够解决网络分布计算环境中多种异构数据资源的互联共享问题,实现多种应用软件的协同工作,是网络分布式应用软件的网络“操作系统”。利用中间件可大幅提高应用软件系统的开发效率,增强系统稳定性,使系统便于维护管理,同时具有良好的伸缩性与可扩展性,充分保护用户投资、降低系统投资风险。因此,中间件已成为分布式应用的关键性基础设施,可广泛适用于政府部门、银行、证券、保险、电力、电信、交通与军事等关键性的网络分布应用。
  中间件是处于平台与应用之间具有标准的协议与接口的通用服务子集,应用该技术软件开发人员无须对不同的设备和系统平台设计不同的代码,只要采用标准化 的中间件作为基础构件,就可迅速地开发出具有良好的可扩展性、高可用性和可移植性的企业管理软件,是建立大型软件系统和集成电子商务计算环境的最佳途径之一。中间件技术的应用使ERP产品的更新速度大大加快,同时也降低了产品的开发成本。
  Standish小组分析了100个关键应用系统中的业务逻辑程序、应用逻辑程序及基础程序所占的比例,发现业务逻辑程序、应用逻辑程序仅占总程序量的30%,而基础程序却占了70%。而中间件是一种以自己的复杂换取企业应用简单化的可复用的基础软件,可以代替基础程序,大大节省了应用开发费用。基础程序的开发是一件极耗时的工作,若使用标准商业中间件则可缩短开发周期50%—75%。标准的中间件在接口方面都是清晰和规范的,可以有效地保证应用系统质量及减少新旧系统维护开支。
  对于应用开发者而言,中间件封装了事务处理的许多技术细节,因而能大大减少应用开发的难度。中间件通常也封装了许多通用的事务处理过程,因而使应用开发商避免重复开发,而专注于应用层的开发。对于应用系统的用户而言,中间件的应用能为减少应用系统的开发成本和维护成本建立起良好的机制。
  目前,电子商务的发展,对网络系统的可靠性和安全性提出了越来越高的要求,中间件对于提高这些性能具有重要作用,业内人士认为,未来基于Internet的电子商务业务将有79%建立在中间件的基础之上。另外,在三层软件结构中,其中间层通常都可以用中间件来实现。
  
  4.中间件主要产品介绍
  
  中间件是软件技术发展的一种潮流,被誉为发展最快的软件品种,目前国内外有不少厂商都是中间件技术的开发商和产品提供商。全球最大的独立中间件厂商BEA公司已开发出许多中间件产品,如面向消息中间件BEA eLink,事务处理中间件BEA Tuxedo等。除了BEA之外,像IBM、Oracle和Microsoft及Sun等大厂商也十分注重中间件的开发。IBM在上世纪90年代及时调整了其产品策略,将中间件产品作为今后开发的重中之重,并推出了面向消息的中间件产品MQ series。此外,IBM正在改进其Websphere网站开发工具,以期将之改造成一个完整的电子商务平台。Oracle公司也正式发布了O—racle 9i应用服务器无线版,这是一个专门针对通信公司、消费类门户、应用服务提供商及相关公司开发和部署无线Internet内容及应用服务的全套中间件。而微软也在酝酿着消息中间件的无线版本。
  在国内,也有大量的中间件产品间世,东方通科技有限公司率先推出国内第一个企业级的网络商务中间件平台Tongweb,而后又推出了消息中间件TongLINK/Q、交易中间件TongEASY等产品。2000年7月底,金蝶公司又宣布投入巨资成立以中间件产品研发及销售为主营业务的Apusic软件公司,进军中间件市场。目前,其首推产品是基于J2EE技术的Web—Enabled应用服务器,实现了EJB、HTTP、SERVLET、SSL加密及XML解析器等J2EE核心技术,是第一个具有自主知识产权、完全用Java开发的J2EE中间件产品,适用于独立软件开发商;系统集成商和电子商务公司。此外;国防科技大学和中科院软件所也在做中间件的研发工作。
  
  参考文献
  1张岩,周可记.中间件技术应用与研究.计算机与通讯,2001(1)
  2吴克忠.以中间件带动我国基础软件的发展.中国计算机报,2001
  (作者单位:山东经济学院山东济南 250014)
其他文献
利用脉冲激光沉积(PLD)技术,在MgO衬底上外延生长YBa2Cu3O7-δ/Ba0.05Sr0.95TiO3薄膜.使用光刻和离子束刻蚀技术,将顶电极制作成插指状,构成BST平面插指电容,研究Ba0.05Sr0.9
时间:1986年2月;地点:沈阳市和平区法院;律师代理人:王英俊;代理事由:讨要3个月房租款,每月260元。欠债还钱,天经地义。作为年轻律师的王英俊认为这官司必赢无疑,所以他有理
3.蓄电池组蓄电池组作用是储存太阳能电池方阵受光照时所发出的电能并可随时向负载供电。太阳能光伏发电系统对所用蓄电池组的基本要求如下:(1)自放电率低;(2)使用寿命长;(3)
大连石化分公司针对前一段国际和国内丙烯及液化气等产品价格较高的情况,及时调整产品结构。今年初公司制定了“催化装置增产丙烯”等方案,使丙烯产量比去年同期增长30%左右,
一、学习目标1.知道平面镜成像的特点,知道平面镜成的像是虚像;2.经历探究平面镜成像特点的过程,体会替代法在实验中的作用;3.了解平面镜在生活和生产中的用途;4.知道什么是
刘贯文 ,研究员 ,生于 1 92 4年。历任中共山西省委办公室副主任 ,山西省委宣传部副部长 ,山西省社会科学院党组书记、院长 ,山西省社科联主席 ,中国谱谍学研究会理事长 ,三
为了改善开发效果,在胜利石油管理局胜坨油田胜二区沙二~3进行了整体封堵大孔道开发先导试验。经研究设计安装试制成功了一套立式电泵配注堵剂设备。1992年在6口注水井配注
本文针对A204GrA 钢氢腐蚀事例的增多, 试验研究了不锈钢堆焊层对A204GrA 钢抗高温氢腐蚀的作用, 研究结果表明: 不锈钢堆焊层使Nelson 曲线中的A204GrA 曲线升高, 相当于提高了A204GrA 钢的高温抗氢蚀能力。利用以
作文之难,难在不知写什么,不知怎么写,究其根本,是难在思维。像陷入孤岛的人,不会找船,也不会架桥,就很难走出困境。写作也是这样,思维缺乏,就耳目失聪;思绪不开,选材就单薄
改革开放的深化和社会主义市场经济体制的建立为我国重返关贸总协定创造了积极的条件。恢复关贸总协定缔约国的地位对于拥有上百个特大型和大型企业,每年进出口大量原油、石