`
jdlsfl
  • 浏览: 159832 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

消息代理中间件的作用

消息代理(Message Broker)是一种在数据源与目的地之间移动数据使<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>处理流畅的软件技术,数据源与目的地包括已有的应用、文件、数据库、对象(如CORBA、COM)、硬拷贝输出及Web客户端等。

消息代理<nobr oncontextmenu="return false;" id="key5" onmousemove="kwM(5);" onmouseover="kwE(event,5, 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>实现之后的产品形式就是一种中间件。

作为面向消息的中间件(MOM)的一部分,消息代理中间件在企业应用集成(Enterprise Application Integration ,EAI)中的作用日趋明显。分布式环境下,业务单位四处散布,包罗万象的应用运行在不同的软、硬件平台上,消息<nobr oncontextmenu="return false;" id="key7" onmousemove="kwM(7);" onmouseover="kwE(event,7, 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>;

  • 多个数据源以及/或异构的数据库;

  • 应用的生命周期期望在3年以上

  • 处理的高吞吐量,复杂的系统设计
  • 在客户/服务器天地中存在"老的"或者已有的应用

  • 行将进行系统的增强、增加和修改

  • 复杂的应用间的通信既有企业内部的通信,又有企业间的通信

     

    Gartner Group根据调查统计,企业在<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>应用的过程中,30%-40%的费用都浪费在开发和维护与企业业务逻辑无关的各种接口上。随着企业或企业间应用数量上的增加,应用间的通信接口日益增多,不同的平台、不同的语言与技术所带来的难度成倍的增长。1996年,Gartner Group就预测:消息代理中间件由于降低了企业/<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: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline">机构</nobr>内部应用的复杂交互,将变得和数据库管理系统、数据仓库一样重要。

    归纳起来,基于消息代理中间件实现应用集成的主要理由有以下几个方面:

     

  • 通过点对点的应用接口完成应用的集成复杂度高,花费大,严重地限制企业的灵活性。消息代理中间件如同一个软件的HUB,连接需要交互的各个应用系统,减少了应用系统接口的数量、相互的技术依赖性。

  • 应用与应用间传递的数据需要转换,传递需要按照优先级、实时地或批处理的方式进行。消息代理中间件提供与各种资源的接口、数据转换能力和消息处理能力,高效地实现应用之间的消息传递。

  • 复杂的业务处理逻辑带来应用间、应用与人之间交互的复杂性,要求提供一种支持流<nobr oncontextmenu="return false;" id="key6" onmousemove="kwM(6);" onmouseover="kwE(event,6, 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>、处理智能化开发的简便性。新一代的消息代理中间件以"商件(businessware)"形式,提供商务逻辑层开发能力。

  • 集成应用的体系结构必须能适应业务逻辑、组织机构的变化,最大程度地减少对已有应用的修改。消息代理中间件构造了一个基于消息的代理骨干,其基于API的适配器以及包装程序完全适应这一要求。<ccid_nobr></ccid_nobr> 消息代理中间件的基本特征

    构件化的结构

    一个典型的消息代理中间件的基本结构见下图:

    消息代理中间件技术介绍

    消息代理中间件一般不是单一引擎,通常由一组构件组成,基于构件的结构是消息代理中间件的关键特征。构件化的结构能充分利用SMP和MPP技术,以增加吞吐量,同时也使环境是可伸缩的,可以根据需要配置不同构件。多个消息代理引擎分布在多处但可以通过一点统一管理。

    可恢复性、易于管理、灵活性等对关键软件结构的要求同样适合于消息代理中间件。



    具有数据转换设施

    消息代理中间件的核心是一个消息的路由程序,它接收和分发消息并基于预先定义好的消息处理流确保转发给正确的应用。消息的路由程序通常能执行多段的路由("基于HUB的路由"),对于一个单个的消息,可以根据消息的源、目的地、类型等定义许多个处理段或对象。对象可以包括消息的转换、数据的格式转换、查询数据库、记录日志和定时传送等。应用间的互通可以是一对一、一对多或多向的。

    消息代理中间件的核心还包括一个单独的通信与消息传递协议层,实现组织内部或组织间的实际的网络通信,有一个专门的消息格式库保存所有的消息定义,并提供建造和维护组织内部和组织间消息类型的工具。路由程序最终通过这一层实现消息的接收与分发。

    消息代理中间件的数据转换设施负责在应用之间对传输的数据进行转换,提供数据转换需要的API。数据的规范化(normalization)或称数据的标准化,是使数据在交换过程中转换成标准状态的技术。消息代理中间件有内置的数据规范化工具,替换一个应用时,不会影响到与其它数据交换伙伴的应用接口。

    消息代理中间件的数据转换可以是实时的、接近实时的或批处理的。批处理方式基于文件到文件的数据转换方式。消息代理中间件有一个实时的请求/应答设施来执行同步的关键任务消息的处理,通过一个消息队列机制提供接近实时的数据转换。消息代理中间件管理传递各个服务应用的并发路径,即使在企业需求最大时也能提供最佳的性能。

    可靠高效的通信

    消息代理中间件支持数据报和可靠传输("确保传输")通信方式。可靠传输通信是基于消息队列机制的,发送和接收消息分别通过不同的消息队列。对应用来讲,可靠传输确保"一次并且只有一次"的递送。消息的传递可以选择压缩或/和加密传输方式。

    消息代理中间件有消息优先级支持,高优先级的消息不必在队列中等待,可以优先得到处理。

    消息代理中间件支持基于内容的消息路由,消息产生后按类型归类时,路经就确定了,消息代理能够根据消息的内容把消息路由到不同的目的点。

    消息代理中间件能管理复杂的处理流,可以协调需要一系列复杂处理过程的交易处理,通过可配置的计时器和告警器处理异常的情况。消息代理中间件内部的规则机制与可配置的计时器和报警器一起,确保交易处理的时效性,交易跟踪程序存储和显示检测单个交易的状态。

    多样的管理能力

    消息代理中间件的管理是分层次的,分别对应操作员和管理员。运行界面提供了一个对消息代理运行的高层次的视角,保证消息代理的正常运作。操作员可能不知道消息代理中间件运作的细节,管理员则可以控制消息代理中间件的每个方面,管理界面是给管理员支持操作员用的。

    多个消息代理分布在多处但可以通过一点获得消息代理引擎的企业级的单一的视点,进行统一的管理,可以基于SNMP进行处理监控,可以使用浏览器运行管理系统

    丰富的应用开发环境

    消息代理中间件的开发环境主要涉及数据转换和与资源的接口的构造。消息代理中间件提供灵活、高效的结构化的消息处理脚本语言(4GL)和其它面向对象的设计工具,支持基于对象的、3GL或是脚本语言来进行数据的转换。

    消息处理脚本语言包含流控制、例外处理、数据抽取(基于SQL等)机制,能够灵活地构造高效的数据转换、校验、翻译和条件逻辑。消息代理中间件提供便利的数据库访问接口,直接访问流行的关系型数据库和3GL接口

    消息代理中间件的对象控制系统,提供企业级的开发与部署,允许大量的开发人员通过共享数据库并发地工作,从而最大限度地实现可重用性。基于对象的开发结果,通常是消息代理中间件所支持的脚本开发语言。脚本语言编译后生成的伪码可以在任意一个脚本语言环境(开发工具)中运行,保证了开发结果的可迁移性

    应用测试可以离线进行,不必挂接到消息代理中间件上,引入新的应用接口或/和转换规则,也不需要停下消息代理中间件的运行。

    消息代理中间件的另一个主要功能是与各种形式的信息资源接口,如果一个消息代理中间件只提供接口,但不提供建造这些接口的工具是完全不适用的。消息代理中间件的开发环境是基于对象的,能够不用构造程序逻辑就建立与各种资源的接口。

    消息代理中间件通常包括一些标准的接口,如SAP ALE、HL7、FTP、Lotus Notes等,如压缩包装的接口,构造接口的工具应支持TCP/IP socket接口/SNA CPIC接口/TTY接口/SQL接口/基于会话的接口/基于文件的接口/HTML接口等等。

    完备的安全机制

    消息代理中间件的<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>控制,能识别冒名顶替者的消息。消息代理中间件引擎,对来自接口、进行数据转换过程中的消息执行身份验证、授权和防抵赖处理。

    消息代理中间件具有内置的数字签名功能,一组利用非对称秘钥或/和对称秘钥算法的安全功能的集合,可以在应用开发中调用这些功能。数字签名基于非对称秘钥体系结构(PKI),可以有效地保证消息的完整性、发送方、接收方身份可鉴别以及不可抵赖性。

    对称与非对称加/解密体制的结合,可以方便地实现消息在传输中的保密性。

    未来走向

    消息代理中间件作为企业应用集成的有效工具,发展极为迅速。消息代理中间件一种新的趋势是,增加协同处理、处理自动化等"商件"(Businessware)模快,比较直观地支持在商务逻辑层上的应用集成与开发。与商件的结合,是消息代理产品的一个重要的技术走向。

     
  • 分享到:
    评论

    相关推荐

      RabbitMQ消息中间件技术精讲

      **RabbitMQ消息中间件技术精讲** 在IT行业中,消息中间件扮演着至关重要的角色,它连接着各个系统和应用程序,实现异步通信、解耦以及数据传输。RabbitMQ作为一款开源的消息代理和队列服务器,因其稳定性和丰富的...

      中间件技术的详细讲解

      "中间件技术-简史及分布式计算环境.ppt"则详细介绍了中间件的发展历程和在分布式计算环境中的具体应用,帮助读者理解中间件技术的历史背景及其重要性。 通过深入理解和熟练掌握中间件技术,开发者可以构建更高效、...

      中间件技术——无线移动中间件

      无线移动中间件是中间件技术的一个重要分支,它主要应用于无线通信和移动计算环境中,起到连接手机操作系统与企业业务系统之间的桥梁作用。中间件技术的核心目标在于实现不同软件组件之间的通信和协同工作,而无线...

      第01章:中间件技术介绍.pdf

      ### 中间件技术介绍 #### 一、中间件概述 中间件是一种位于操作系统和应用程序之间的软件层,旨在解决异构环境下不同系统之间的通信问题。它为应用开发提供了统一的接口和标准化的服务,使得应用程序能够在不同的...

      中间件技术与原理

      中间件技术是现代软件开发中的重要组成部分,它在分布式系统、企业级应用和服务化架构中起着桥梁和粘合剂的作用。"中间件技术与原理"这个主题涵盖了许多关键概念和技术,包括CORBA、EJB、J2EE以及分布式软件的开发。...

      解析中间件技术的研究

      5. **对象请求代理中间件(ORB)**:遵循CORBA标准,实现对象之间的透明通信和交互。 6. **交易中间件(TM)**:提供分布式事务处理能力,确保事务的原子性、一致性、隔离性和持久性。 #### 四、中间件的优势 ...

      《软件构件与中间件技术》电子教案

      ### 软件构件与中间件技术核心知识点...通过以上介绍,我们可以看出软件构件与中间件技术对于现代软件开发的重要性。这些技术不仅提高了开发效率,还增强了系统的可靠性和灵活性,是构建高质量软件不可或缺的一部分。

      物联网中间件技术ppt课件.ppt

      对象请求代理中间件则促进了异构分布式环境中的对象请求消息传递,使得角色转换灵活。事务处理监控中间件在关键事务处理中起到管理和协调作用,保证了高负载下的系统性能。 物联网中间件的发展经历了应用程序中间件...

      消息中间件和JMS消息服务.rar

      为了充分利用消息中间件和JMS,开发者需要理解如何配置和管理消息代理,创建生产者和消费者,以及处理消息的生命周期。此外,理解消息的事务管理和一致性策略也是至关重要的,因为这直接影响到系统的可靠性和性能。 ...

      中间件技术原理与应用ppt

      中间件技术原理与应用ppt转pdf  中间件技术由于自身的互操作性、强大的服务功能、快速的开发能力等特性,目前已经成为诸如金融、电信等大型核心业务系统的支撑平台。围绕中间件的各种相关技术近几年来也成为研究...

      Mycat数据库中间件技术总结

      Mycat数据库中间件技术总结 Mycat是一种流行的数据库中间件技术,支持分库分表,主要用于解决数据库水平拆分的问题。下面是对Mycat数据库中间件技术的总结: 数据库切分理论 数据库切分是指将大型数据库分成多个...

      中间件技术原理与应用

      中间件技术原理与应用 中间件,作为计算机系统中的一个重要组成部分,它在分布式应用程序之间起到了桥梁的作用,使得不同系统、不同平台之间的数据交换和协同工作成为可能。中间件的种类繁多,包括COM(Component ...

      Java消息中间件

      总结,Java消息中间件,尤其是ActiveMQ,是构建高可用、可扩展系统的关键技术。理解其核心概念,熟练掌握使用方法,将有助于提升系统的稳定性和效率。在实践中,我们需要根据具体业务需求选择合适的消息中间件,并...

      胡晓军中间件技术j2ee ppt

      胡晓军教授的“中间件技术j2ee ppt”课程主要涵盖了中间件技术的基本概念、J2EE架构及其在企业级应用中的重要性。中间件技术是连接操作系统、网络协议与分布式应用的关键,它屏蔽了底层系统的复杂性,使得不同系统...

      基于JMS的消息中间件的实现-论文.zip

      例如,管理员可以使用JMX工具查看消息队列的状态,调整中间件的配置,甚至在运行时动态添加或移除消息代理。 实现上,JMS消息中间件通常包含以下组件: 1. **消息生产者**:负责创建和发送消息到消息服务器。 2. *...

      企业消息中间件技术规范.docx

      《企业消息中间件技术规范》 消息中间件在IT行业中扮演着至关重要的角色,尤其在医疗领域的应用,为省级人口健康信息平台、区域医疗数据中心和医院信息平台提供了稳定的基础支持。这种中间件的主要目标是确保应用...

      中间件技术原理

      中间件技术原理是计算机科学中的一个重要领域,它涉及在分布式计算环境中不同软件系统之间的交互和协同工作。中间件充当了操作系统和应用程序之间的桥梁,提供了一种标准的方式,使得不同的应用可以跨越网络进行通信...

      ICE中间件技术详细教程_ICE_中间件_

      总之,"ICE中间件技术详细教程"将引导你逐步掌握这一强大的分布式计算框架,无论你是新手还是有经验的开发者,都能从中受益匪浅。通过阅读这个PDF教程,你将能够构建出高效、可靠的分布式系统。

      基于PS消息中间件的数据交换平台的构建

      该文首先介绍了基于P/S消息中间件的数据交换平台的构建背景,随后详细阐述了Infor Broker——一种基于P/S消息中间件的代表产品,以及其在构建数据交换平台和信息集成方面的特点与优势。 #### P/S消息中间件的基本...

    Global site tag (gtag.js) - Google Analytics