消息中间件

消息中间件

目录导航

名片信息

消息中间件消息中间件中间件(middleware)是基础软件的一大类,属于可复用的软件范畴。中间件在操作系统软件,网络和数据库之上,应用软件之下,总的作用是为处于自己上层的应用软件提供运行于开发的环境,帮助用户灵活、高效的开发和成复杂的应用软件。

IDC对中间件的定义为:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件定位于客户机服务器的操作系统之上,管理计算机资源和网络通信。

因而中间件是指一类软件,是基于分布式处理的软件,最突出的特点是其网络通信功能。也可认为中间件是位于平台和应用之间的通用服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,可以有符合接口和协议的多种实现。

按照IDC的分类方法,中间件可分为六类:

1)        终端仿真/屏幕转换

2)        数据访问中间件(UDA)

3)        远程过程调用中间件(RPC)

4)        消息中间件(MOM)

5)        交易中间件(TPM)

6)        对象中间件

消息中间件:

此类中间件是指利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。

消息中间件可以即支持同步方式,又支持异步方式。异步中间件比同步中间件具有更强的容错性,在系统故障时可以保证消息的正常传输。异步中间件技术又分为两类:广播方式和发布/订阅方式。由于发布/订阅方式可以指定哪种类型的用户可以接受哪种类型的消息,更加有针对性,事实上已成为异步中间件的非正式标准。目前主流的消息中间件产品有IBM的MQSeries,BEA的MessageQ和Sun的JMS等。

内容简介

基于消息中间件的数据通信基于消息中间件的数据通信消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被用程序读走。通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。在分布式计算环境中,为了集成分布式应用,开发者需要对异构网络环境下的分布式应用提供有效的通信手段。为了管理需要共享的信息,对应用提供公共的信息交换机制是重要的。设计分布式应用的方法主要有:远程过程调用(PRC)--分布式计算环境(DCE)的基础标准成分之一;对象事务监控(OTM)--基于CORBA的面向对象工业标准与事务处理(TP)监控技术的组合;消息队列(MessageQueue)--构造分布式应用的松耦合方法。[1]

MOM将消息路由给应用程B,这样消息就可以存在于完全不同的计算机上,MOM 负责处理网络通信。如果网络连接不可用,MOM会存储消息,直到连接变得可用时,再将消息转发给应用程序B。 

 灵活性的另一方面体现在,当应用程序A发送其消息时,应用程序B甚至可以不处于执行状态。MOM将保留这个消息,直到应用程序B开始执行并试着检索消息为止。这还防止了应用程序A因为等待应用程序B检索消息而出现阻塞。 这种异步通信要求应用程序的设计与现在大多数应用程序不同,不过,对于时间无关或并行处理,它可能是一个极其有用的方法。

举例说明

      有这样一个需求, sap有一组hr的相关信息,比如姓名,工号等等要求显示到一个portal上面,供 user使用查看消息。

数据怎么从sap到portal呢,可能的一种情况是,使用一个中间件,通过rfc或者idoc把相关信息从sap取出来,整合以后在通过jdbc插入到 portal的后台db里去。

这就是一个中间件参与数据整合、协同的简单过程。这样一个过程是由中间件完成的。所以简单的说,中间件就是在异构系统间起数据传输,整合作用的一个软件。.

还是以刚才的例子为例,看看什么是消息中间件

如果是消息中间件,就要把刚才例子中的hr数据看成一个消息,具体的数据结构可以根据需要和开发平台自己来定义。

把从rfc出来的数据,先形成一个消息,然后发布到一个消息队列里面,然后再通过一定规则去取这个消息解析再使用jdbc插入数据库

这个过程可以是一对一,以可以是多对多。

也许上面这个简单的例子并不能体现消息中间件的优点,但是在复杂的网络环境下,例如多个通讯方式,多个业务系统之间进行消息交互,他的优点是显而易见的。

使用环境

消息中间件消息中间件消息中间件适用于需要可靠的数据传送的分布式环境。采用消息中间件机制的系统中,不同的对象之间通过传消息来激活对方的事件,完成相应的操作。发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在合适的时候再将消息转发给接收者。消息中间件能在不同平台之间通信,它常被用来屏蔽掉各种平台及协议之间的特性,实现应用程序之间的协同,其优点在于能够在客户和服务器之间提供同步和异步的连接,并且在任何时刻都可以将消息进行传送或者存储转发,这也是它比远程过程调用更进一步的原因。

前景

随着国内信息化建设的日益深入,越来越多的企业开始进入深度应用的阶段,而中间件也迎来了千树万树梨花开的阶段。在2007年,经过两年多时间的酝酿和催化,SOA终于守的云开见月明,成为中间件乃至整个软件行业的热点。  

消息中间件产品消息中间件产品毋庸置疑,从技术层面上来看,SOA是大势所趋,从业务层面上来看,虽然以IBM、东方通为首的中间件厂商已经拥有一些成功的SOA应用案例,但大多厂商和专家一致认为,SOA从概念到落地尚有一段很长的路要走,至少还需要3-5年的时间,甚至有些专家悲观地认为,SOA是厂商剃头挑子一头热,在热炒之后将在明后年迅速冷却。  和厂商一样,一些权威机构对SOA的未来充满了信心,他们号脉SOA,认为SOA对于整合企业用户的信息系统、提业务的敏捷度,进而提升效率将起到巨大的作用,并通过采访一些企业用户,分析得出SOA的时代并不遥远,而造成SOA尚难落地的主要原因在于用户对SOA存在普遍认知不够的事实。  

与SOA在概念上风生水起不同的是,鉴于SOA与中间件之间鱼和水的关系,采用中间件产品可以很好的构建SOA的应用,采用中间件产品开发出来的应用,也将很容易被整合进SOA架构。在SOA时代还未到来的今天,虽然传统中间件不是舆论焦点,却是应用的主流,这其中以消息中间件的应用尤为突出。  

目前,消息中间件依然在国内许多行业的关键应用中扮演着至关重要的角色,如在政务行业省、市、县多级数据传递交换汇总,金融行业,中国人民银行的全国票交影像交换系统和小额支付系统,在交通行业,海事局的船舶与船员管理系统,在能源行业,国家电网公司信息化“SG186”工程一体化企业级信息集成平台项目。   

 消息中间件虽然SOA是2007年的热点,但用户还是更加关注基础中间件和集成中间件的应用,特别是作为整合阶段的初步应用模式的数据整合阶段,多数的应用需求表现在多个数据源的数据传递汇总方面,低投资、见效快、后续系统容易扩展的消息中间件解决方案无疑是最佳的选择,从市场的总体需求来看,消息中间件是“2007年的应用主流”。  

在我国,虽然经过二十多年的信息化建设,我国各行各业信息化系统的建设日益完善,但较之发达国家,我国信息化建设水平还有很大的提升空间,而且行业之间、用户之间的水平也存在很大的差异。尽管SOA作为一种集成企业应用的方法论,具备灵活性、标准性、重用性强和成本低等优点。厂商也一再强调,通过SOA,用户可以将所有组件服务简单组合在一起,这些服务可以被共享、重用和连接,从而实现更高效的企业业务集成应用。SOA的作用可以简单地理解为应用的整合,而要实现这样的作用,之前企业的系统建设还需要经历数据整合和流程整合的阶段。正是因为我国大多数用户的应用还主要集中在数据整合和流程整合阶段,尽管厂商和各方专家纷纷看好SOA的前景,却仍言道SOA时代是明天的事情。  

无论是在应用服务器没有出现的早期,还是中间件技术逐渐的层次化,出现不同层次、不同类型的中间件产品以满足不同层次的应用需求,再到SOA的大红大紫的时代,消息中间件一直是用户的应用重点,在目前国内各行各业所建的各类系统中,随处可见消息中间件的影子。究其根源:只要有网络,就会有数据(数据包,文件)传递,这就会牵扯到数据传输的安全可靠性,网络越是发达对这类要求就越高,消息中间件就会长久生存发展。  

为了解决信息孤岛的问题,同时以便更加灵活的对各种不断变化的需求给予快速的响应,目前,用户信息化系统的“结构化和模块化”要求越来越明显,将原有的系统或者新建系统向模块化靠拢,为了降低成本和系统建设周期,系统必然需要一类软件将这些“模块”有机而又低藕合的串接起来。这是我国信息化建设的重要需求所在,是用户今天急于解决的问题,而消息中间件可以成为不同模块之间数据传输的桥梁,使用户信息系统的结构化和模块化成为可能,也为用户在明后天顺利走向SOA时代打下良好的IT基础。 交换平台传输网络 交换平台传输网络  

消息中间件最突出的特点就是提供数据传输的可靠性和高效性,主要解决分布式的系统数据传输需求。以用户数据整合应用阶段而言,最重要的一点就是将数据从一点传输到另一点。现在市场上已有相应的数据整合工具,这些数据整合工具中通常多包含这几部分模块:数据抽取模块、数据加工模块、数据传输模块、数据加载模块,而其中数据传输模块多由消息中间件担当,并在数据整合过程中发挥着不可替代的作用。随着SOA应用时代的临近,针对越来越多的应用系统趋向于准备采用SOA技术,消息中间件产品也向此技术路线靠拢,以满足越来越多的复杂业务集成过程中的数据整合需求,为SOA技术的真正应用做好底层数据交换的铺垫。  

即使在未来SOA成为整个中间件产业的应用主流,消息中间件等底层中间件仍将继续发挥其价值,因为对于采用SOA架构的系统,他需要将各独立功能模块或应用系统进行Web服务封装,以便被其他系统所访问。那末这些封装出的大量Web服务之间如何进行通讯,完全可以借助于消息中间件,利用消息中间件产品的可靠传输功能来保证不同服务之间的有效沟通。  

SOA架构成为下一代Web服务的基础架构势不可挡,用户的认知并不是阻碍SOA得以广泛应用的关键因素,就目前而言,SOA的实践还缺乏一个良好的应用基础。虽然互联网的规模和应用趋向成熟,但打造一个成熟的IT基础,以拥有规范化可拆分、编排的定型的业务基础尚有一段时日,“一夜之间SOA化”基础条件并不成熟,因此,使用多层次的中间件产品构建业务系统将是“最终实现SOA”架构的软着陆的最佳途径,消息中间件等系列底层中间件大有可为。

相关百科
返回顶部
产品求购 求购