中间件
出自 MBA智库百科(https://wiki.mbalib.com/)
中间件(Middleware)
目录 |
中间件是指提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,在现代信息技术应用框架如Web服务、面向服务的体系结构等中应用比较广泛。
最早具有中间件技术思想及功能的软件是IBM的CICS,但由于CICS不是分布式环境的产物,因此人们一般把Tuxedo作为第一个严格意义上的中间件
产品。Tuxedo是1984年在当时属于AT&T的贝尔实验室开发完成的,但由于分布式处理当时并没有在商业应用上获得像今天一样的成功,Tuxedo在很长一段时期里只是实验室产品,后来被Novell收购,在经过Novell并不成功的商业推广之后,1995年被现在的BEA公司收购。
尽管中间件的概念很早就已经产生,但中间件技术的广泛运用却是在最近10年之中。BEA公司1995年成立后收购Tuxedo才成为一个真正的中间件厂商,IBM的中间件MQSeries也是20世纪90年代的产品,其他许多中间件产品也都是最近几年才成熟起来。
国内在中间件领域的起步阶段正是在整个世界范围内中间件的初创时期。我国著名的中间件专业厂商—东方通科技早在1992年,就已经开始进行中间件的研究与开发,并于1993年推出第一个产品TongLINK/Q。
中间件的分类[1]
中间件的分类方式很多,有些软件在中间件的概念产生以前可能就已经存在了,有些软件虽然不是作为中间件开发出来的,但符合中间件的定义,我们当然可以把它归人中间件的范畴。另外,有些软件尽管具有中间件的特征,但我们却并不把它叫做中间件(如HTTP)。
按照IDC的分类方法,中间件可分为六类:
(1)终端仿真/屏幕转换中间件
这一类中间件是用以实现客户机端的图形用户接口与现有的服务器端字符接口方式的应用程序之间的互操作。
(2)数据访问中间件
这类中间件适用于应用程序与数据源之间的互操作,客户端使用面向数据库的应用程序接口,以便直接访问和更新基于服务器的数据源,数据源可以是关系型、非关系型和对象型。这类中间件大都基于SQL语句,采用同步通讯方式。使用此类中间件,可以使应用系统的开发变得简单。
(3)远程过程调用中间件
RPC机制是早期开发分布式应用系统时经常采用的一种同步方式的请求与应答协议。通过这种协议,程序员编写客户端的应用,可以调用位于远端服务器上的过程。RPC扩展了过程语言中的“功能调用/结果返回”机制,使得它可以适应于一个远程环境。RPC机制可用以构造客户机/服务器方式的应用,但由于它是同步方式的应用,因而在工作的时候,要求客户端和服务器端均处于正常工作状态下才能很好地运行,若有一方不能正常工作将导致RPC失败。
(4)消息中间件
现在越来越多的分布式应用系统采用消息中间件方式来构建,人们通过使用消息中间件把应用扩展到不同的操作系统和不同的网络环境。基于消息的机制更适用于由事件驱动的应用,当一个事件发生时,消息中间件通知服务方应该进行如何操作。
(5)交易中间件
交易中间件是一种专门针对联机交易处理系统而设计的软件。联机交易处理系统需要处理大量并发进程,而处理并发进程势必涉及到操作系统、文件系统、编译语言、数据通讯、数据库系统等各类基础软件和应用软件,这是一个相当复杂的任务,但是这类高难度的工作可以通过采用一个交易中间件来使之简化。交易中间件就是这样一组程序模块,使用它可以大大地减少开发一个联机交易处理系统所需的编程工作量。
(6)对象中间件
面向对象的技术一直是软件界努力追求的目标,传统的对象技术通过封装、继承及多态性,提供了良好的代码重用功能。
中间件的应用[1]
目前中间件得到了广泛的应用,在各个企业或企业部门的应用中起到了承上启下的关键作用。中间件产品有很多种,其中比较著名的产品有BEA公司的Tuxedo, Weblogic, OMG组织的CORBA, IBM公司的WebSphere以及Micmsoft公司的MOM等。根据调查表明,在许多家使用中间件技术的公司中,有17%使用远程过程调用(RPCs)中间件;有14%使用面向消息的中间件(MOM) ;17%使用交易处理监视(TP monitors)中间件;19%使用对象请求代理(ORBS)中间件;13%联合使用ORB/TP monitor;剩下的21%不清楚。在这些公司或团体所使用的中间件产品中,使用Internet协议占据了大多数,占40%。仅次于它的是OMG组织的COR-BA和微软公司的COM/DNA,占到了22 % o Sun公司的RMI( Remote Method Invocation ) RPC/ORB仅占据了8%的份额。就消息中间件(MOM)来说,IBM的MQSeries和Microsoft的MOM统治着他们各自的市场。而就TPmonitor来说,从被调查者反馈回来的信息中可以得知,BEA公司的Tuxedo占据了优势,紧随其后的是MicrosoftsTransaction Server(MTS)和IBM公司的CICS,而ORB和TPmonitor联合使用的结果反映了当前市场的复杂性。在被调查者当中,36%使用M'IS/COM, 32%使用BEA公司的OTM/Weblogic,18%使用Inoa公司的Orbix一OTM,还有7%使用其他的产品。