中间件技术介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中间件技术介绍
中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
在众多关于中间件的定义中,比较普遍被接受的是IDC 表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。
中科院软件所研究员仲萃豪形象地把中间件定义为:平台+通信。这个定义限定了只有用于分布式系统中的此类软件才能被称为中间件,同时此定义还可以把中间件与支撑软件和实用软件区分开来。
目前,中间件发展很快,已经与操作系统、数据库并列为三大基础软件。中间件主要分为以下几类:
1.通信处理(消息)中间件
此类中间件能在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输(如Tong LINK、BEAe Link、IBM的MQ Series等)。这是中间件中唯一不可缺少的,是销售额最大的中间件产品。
2.交易中间件
在分布式事务处理系统中要处理大量事务,常常在系统中要同时做上万笔事务。例如在北京市就要设置各种运载汽车,完成日常的运载,同时要随时监视汽车运行,出现故障时,要有排除措施,发生堵塞时要进行调度。在联机事务处理系统(OLTP)中,每笔事务常常要多台服务器上的程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服务器能实时并发运行,并进行负载平衡地调度,实现昂贵的可靠性机和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整个系统的功能。BEA的Tuxedo由此而著名,它成为增长率最高的厂商。一个事务处理平台,根据X/OPEN的参数模型规定,应由事务处理中间件、通信处理中间件以及数据存取管理中间件三部分组成。东方通科技公司的Tong LINK和TongEASY实现了这个参考模型规定。
3.数据存取管理中间件
在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型的、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,该中间件将为在网络上虚拟缓冲存取、格式转换、解压等带来方便。
4.ESB(企业服务总线)
ESB(企业服务总线)为分散服务提供了交互、组合和治理的基础架构。在电信领域:ESB能够在全方位支持电信行业OSS(运营支撑系统)的应用整合概念,是理想的电信级应用软件承载平台。
ESB(企业服务总线)为分散服务提供了交互、组合和治理的基础架构。有了它,才能释放SOA的最大价值。因此,ESB成为厂商在SOA(面向服务的架构)竞争中的焦点。
作为近两年软件领域最热门的词汇之一,SOA(Service Oriented Architecture,面向服务的架构)的概念以及SOA带来的好处,正在被用户逐步接受。Gartner的数据表明,到2007年,全球将有70%以上的大企业会将他们的应用转到SOA。但是目前CIO们最关心的是,如何才能真正实现基于SOA的应用?
在近一段时期,多家软件厂商如IBM、Sun、BEA、Oracle 等都加大了对ESB(Enterprise Service Bus,企业服务总线)产品的投入力度,并声称自己的SOA解决方案因此而更加
完善,ESB成为厂商在SOA竞争中的焦点。
ESB成为一种新的诱惑
ESB是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。
业内对ESB的定义是:它是由中间件技术实现并支持SOA的一组基础架构,支持异构环境中的服务、消息以及基于事件的交互,并且具有适当的服务级别和可管理性。
这样的定义稍显抽象,简单地说,ESB就是试图将应用服务器上的多种逻辑层面迁移到总线以及连接点上,从而降低企业内部信息共享的成本。IBM WebSphere软件全球副总裁Sandy Carter女士介绍说,“企业服务总线是SOA中的消息框架—即消息相互交换和通信的方式,是业界标准与客户消息框架的整合。”
ESB产品的共有特性包括:连接异构的MOM(Microsoft Operations Manager)、利用Web服务描述语言接口封装MOM协议,以及在MOM传输层上传送简单对象应用协议(SOAP)传输流的能力。大多数ESB产品支持在分布式应用之间通过中间层如集成代理实现直接对等沟通。
ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同
应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。
从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。
在电信领域:ESB能够在全方位支持电信行业OSS(运营支撑系统)的应用整合概念,是理想的电信级应用软件承载平台。
在电力领域:ESB能够全方位支持电力行业EMS 的数据整合概念,是理想的系统数据交换平台。
在金融领域:ESB能够在全方位支持银企间业务处理平台的流程整合概念,是理想的B2B交易支撑平台。为SOA挑起大旗
对于SOA的概念,不同的软件提供商有不同的定义方式。很多用户也都是从不同的视角来理解SOA,从程序员的角度,SOA是一种全新的开发技术,新的组件模型,比如说Web Service;从架构设计师的角度,SOA就是一种新的设计模式,方法学;从业务分析人员的角度,SOA就是基于标准的业务应用服务。
SOA不仅是Web服务,如何让业务服务最大限度地复用才是SOA的核心价值。ESB为分散服务提供了交互、