从Tuxedo、<nobr oncontextmenu="return false;" id="key3" onmousemove="kwM(3);" onmouseover="kwE(event,3, this);" onclick="return kwC();" target="_blank" onmouseout="kwL(event, this);" style="COLOR: #6600ff; BORDER-BOTTOM: 0px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline">应用</nobr>服务器,到EAI、构件、SOA,究竟什么才是中间件?
什么是中间件?在一个具体的应用项目之中,到底能不能够不用中间件?这也是中间件厂商经常被问到问题之一。之所以有此一问,说明了用户只是知道了中间件,听说其很重要,但并真正不知道什么是中间件?
我们最早知道的中间件是一个称为Tuxedo的东西,实质上它是一个交易中间件。1998年IDC公司对于中间件有一个定义,并根据用途将其划分为6个类别。如今所保留下来的只有消息中间件和交易中间件,其他的已经被逐步融合到其他产品中了,被包裹进去了,在市场上已经没有单独的产品形态出现了。例如,当时有一个叫屏幕数据转换的中间件,其主要是针对IBM大机终端而设计产品,用于将IBM大机终端的字符界面转化为用户所喜欢的图形界面,类似的东西当时都称为中间件。但随着IBM大机环境越来越少,但是盛行一时的此类中间件如今已经很少再被单独提及。
2000年前后,互联网盛行起来,随之产生了一个新的东西,就是应用<nobr oncontextmenu="return false;" id="key4" onmousemove="kwM(4);" onmouseover="kwE(event,4, this);" onclick="return kwC();" target="_blank" onmouseout="kwL(event, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline">服务</nobr>器。实际上,交易中间件也属于是应用服务器,为了区分,人们传统的交易中间件称为分布交易中间件,因它主要应用在分布式环境下,而将新的应用服务器,称为J2EE中间件,到目前为止,这都是市场上非常热门的产品。
EAI概念出来之后,市场上又推出了一些新的软件产品,,例如工作流、Portal等,但从分类上不知道怎么归类,向上不能够划归应用,往下又不能归入操作系统,于是就把它归入了中间件,如此中间件的概念更加扩大了。目前,市场上对于中间件,各家的说法不一,客观上也导致了理解上的复杂性。
如今,市场上又推出了很多新的概念,例如三层结构、构件、Web服务,其中风头最劲的当属SOA(面向服务的架构)。实际上,他们都不是一个产品,而是一种技术的实现方法,是开发一个软件的一种方法论。我们知道,最早<nobr oncontextmenu="return false;" id="key0" onmousemove="kwM(0);" onmouseover="kwE(event,0, this);" onclick="return kwC();" target="_blank" onmouseout="kwL(event, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline">软件开发</nobr>方法就是编程、写代码的,其缺点在于无法复用,为此提出了构件化的软件<nobr oncontextmenu="return false;" id="key1" onmousemove="kwM(1);" onmouseover="kwE(event,1, this);" onclick="return kwC();" target="_blank" onmouseout="kwL(event, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline">开发</nobr>方法,通过把编程中一些常用功能进行封装,并规范统一接口,供其它程序调用,例如我们开发一个新软件,可能要用到构件1、构件2、构件3,那么,我们只要对其进行本地组装,就可以得到我们想要的应用软件。在互联网得到普及重视之后,软件开发方法在构件化基础上又有新发展,核心思想是软件并不需要囊括构件,所需要的仅仅是构件的运行结果,例如编写一个通信传输软件,就可以到网上寻找构件,并提出服务请求,得到结果后返回,而不需要下载构件并打包,这就是现在所说的SOA。想要现实SOA,就要规范构件接口,同时还要规范构件所提交的服务结果,如此,新的软件开发的思想才能够行的通。但SOA并不是一个产品,而是一种思想方法,而实现这种方法的基础,如今看来只有中间件。
那么,到底什么才是中间件,什么不是中间件?中间件应该具备两个关键特征:首先要为上层的应用层服务,这是一个基本条件;此外,又必须连接到操作<nobr oncontextmenu="return false;" id="key2" onmousemove="kwM(2);" onmouseover="kwE(event,2, this);" onclick="return kwC();" target="_blank" onmouseout="kwL(event, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline">系统</nobr>的层面,并却保持运行工作状态,具备了这样两个特征才能称为中间件。现在很多人把开发工具也称为中间件是不合适的,因为开发工具开发出来的软件,并不依赖开发工具与底层操作系统连接。
分享到:
相关推荐
详细讲解框架、组件、中间件、插件、类库等概念及其区别,以及本人五年来的学习及工作经验小结。由于本人的能力有限,很多东西都是不全的,讲的也不是很好。分数虽然高一些,但是是个人的总结,主要是给自己留着参考...
现今,越来越多的企业面临着各种各样的数据集成和系统整合,CORBA、DCOM、RMI等RPC中间件技术也应运而生,但由于采用RPC同步处理技术,在性能、健壮性、可扩展性上都存在着诸多缺点。而基于消息的异步处理模型采用非...
物联网中间件基本概念.pptx
PPT文件,基于JAVA,关于 xml,servlet,jsp,beans,rim
Tuxedo中间件开发与配置,里面包括十二章,详细描述了TUXEDO 中间件的开发与配置。
关于阿里巴巴的产品,淘宝消息中间件技术演变过程与发展,文档以pdf形式流出内部,与君共勉
消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。
介绍中间件的一本很好的入门级书籍,介绍了中间件的概念,主流的中间件开发技术。
Tuxedo中间件开发与配置.rarTuxedo中间件开发与配置.rarTuxedo中间件开发与配置.rar
二、第l章中间件产生背景及分布式计算环境 第2章面向对象中间件oDP 第3章com相关技术 第4章J2EE技术 第5章CORBA初步 第6章CORBA服务 第7章中间件中的事务处理 第8章coRBA高级技术 第9彦无线、移动中间件 第10章反射...
阿里中间件思维导图
概述:中间件与软件构件的动因与基本概念。 CORBA中间件:CORBA的基本原理、CORBA应用的基本开发过程(CORBA构 件的开发与使用) 、CORBA中构件接口的编写、CORBA服务端程序的编写。 Java 企业版中间件:J2EE ...
数据库中间件设计与实现
Tuxedo中间件开发与配置高级与Tuxedo操作维护手册
tuxedo中间件开发与配置,没有代码只有pdf
本资源是对中间件的一个概述。包括 一、发展历史 二、中间件的概念 三、中间件的工作机制 四、中间件的功能及作用 五、中间件的特点 六、中间件的分类 七、中间件面临的问题 八、中间件的发展趋势
Tuxedo 中间件开发与配置
中间件课件中间件课件中间件课件中间件课件中间件课件
交易中间件是一种复杂的中间件产品,是针对复杂环境下分布式应用的速度和可靠性要求而实现的。它给程序员提供了一个事务处理的,程序员可以使用这个程序接口编写高速而且可靠的分布式应用程序———基于事务处理的...