`
flyingbug
  • 浏览: 130404 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【ESB专题】之三 - Message Construction及其相关模式

阅读更多

在前面的关键组件中我们提到了Messages。当两个应用想要交换数据,他们将数据包装在一个message中。但是一个Message Channel不能传输原始数据,它只能传输包含在一个message中的数据(即传输特定格式的数据)。

<!----><o:p> </o:p>

Message在消息系统中处于信息载体的位置,而在ESB中,还消息识别、序列以及生存周期等职责。

<o:p> </o:p>

Message的结构涉及以下几个模式:

l         Command Message      

l         Document Message      

l         Event Message

l         Request-Reply

l         Return Address

l         Correlation Identifier

l         Message Sequence

l         Message Expiration

l         Format Indicator

<o:p> </o:p>

创建和发送一个Message产生以下几个问题:

<o:p> </o:p>

消息意图 Message最终是为了运送一些数据,但是发送者可能有其他目的,比如它希望接受者使用消息做些事情。它可以发送一个Command Message,指定它希望调用的接受者上的函数或方法。发送者告诉接受者运行那些代码。发送者可以发送一个Document Message来传送它的数据结构到接受者。发送者发送数据到接受者,但是不指定接受者应该做什么。

或者它可以发送一个Event Message,通知接受者发送者那里有一个改变。发送者不应告诉接受者应该怎样适应这个改变,而只应提供通知。

<o:p> </o:p>

返回一个应答 当一个应用发送一个消息,它通常期望得到一个回应来确定消息被处理并提供一个结果。这是一个Request-Reply场景。Request通常是一个Command Message,而应答是一个包含返回值或异常的Document Message。请求者应该在请求中指定一个Return Address来告诉应答者使用哪个通道来传回应答。请求者可能在一个处理过程中发送多个请求,所以应答应该包含一个Correlation Identifier来指出这个应答对应哪个请求。

有两个Request-Reply场景需要注意;它们都包含了一个Command Message请求和一个对应的Document Message应答。在第一个场景中,Message RPC,请求不但要调用应答者的函数,而且期望一个返回值。这是RPC。另一个场景中,Message Query,请求者执行一个查询;应答者执行查询并在应答中返回结果。这是远程查询。

<o:p> </o:p>

大量的数据 有时应用想要传送大量的数据结构,放入一个单独的message里面不是很合适。在这种情况下,将他们分解成可管理的消息块并将他们作为Message Sequence发送。这些消息必须按顺序发送,以便接受者能够充足原始数据结构。

<o:p> </o:p>

慢速消息 消息系统的一个问题是发送者通常不知道接受者要多久才能接受到消息。然而,消息的内容可能是时间敏感的,所以如果消息在某一时间内没有被接受,它将被忽略并取消。在这种情况下,sender应该使用Message Expiration来指定一个到期时间。如果消息系统在规定时间内无法传输一个消息,应该将它取消并删除到Dead Letter Channel中。同样的一个receiver接受到一个超出该时间点的消息,也要取消该消息。

<o:p> </o:p>

总之,只选择使用消息是不够的。使一个消息工作的其他决定性因素来自于消息所要完成的任务。

<o:p> </o:p>

分享到:
评论

相关推荐

    普元ESB软件v6.2-产品白皮书.doc

    * 灵活性:Primeton ESB能够提供灵活的服务集成和处理能力,支持多种协议、数据格式和服务模式。 * 可扩展性:Primeton ESB能够提供可扩展的服务集成和处理能力,支持企业的业务增长和变化。 3. Primeton ESB的...

    wso2 esb binary installation file - part 4

    wso2 esb binary installation file - part 4

    有关ESB相关资料---mule---servicemix

    收集了一些esb的资料,包括mule,servicemix等开源esb的使用等。

    wso2esb-tooling-composite-p2-5.0.0.zip

    官网下载,Eclipse插件:WSO2 ESB tooling,适配WSO2 ESB 5.0.0。 仅 Eclipse Mars.2 Release (4.5.2) 版本可使用(我用的是Eclipse JEE Mare.2)。 如果需要Eclipse汉化,必须先安装 WSO2 ESB tooling,再安装...

    计算机-ESB案例解析---项目实施经验分享xx定稿.pdf

    《计算机-ESB案例解析---项目实施经验分享》 本文主要探讨了企业服务总线(Enterprise Service Bus,简称ESB)在不同行业中的应用和实施策略,特别是通过两个具体案例——交通运输行业和制造行业的ESB解决方案,...

    wso2 esb binary installation file - part 1

    wso2 esb binary installation file - part 1

    wso2 esb binary installation file - part 3

    wso2 esb binary installation file - part 3

    wso2 esb binary installation file - part 2

    wso2 esb binary installation file - part 2

    wso2esb-tooling-eclipse-jee-mars-linux-gtk-x86_64-5.0.0.zip

    【压缩包子文件的文件名称列表】中的“eclipse”通常指的是完整的Eclipse IDE安装文件或者是一个定制过的Eclipse IDE工作空间,包含了WSO2 ESB相关的插件和配置。 详细知识点如下: 1. **WSO2 ESB**:WSO2 ESB是一...

    WSO2 Enterprise Service Bus (ESB) Performance Testing - Round 3

    【标题】"WSO2企业服务总线(ESB)性能测试 - 第三轮" 【内容详解】 在IT行业中,企业服务总线(Enterprise Service Bus, ESB)是企业级集成的重要工具,它允许不同系统之间的通信和服务共享。WSO2 ESB是一个流行的...

    ESB三维模型库-普渡大学-3D模型库文件

    Jayanti S, Kalyanaraman Y, Iyer N, et al.Developing an engineering shape benchmark for CAD...美国普渡大学开发的三维模型库,作为三维模型检索的测试用例。每个模型包含.obj,.stl两种格式,包含对应的.jpg图像。

    JBoss ESB学习笔记1-搭建ESB开发环境.docx

    这将确保我们只安装与ESB相关的工具。 4. 按照提示完成安装过程,期间可能需要接受许可证协议,并等待插件下载和安装。安装完毕后,Eclipse会提示你重启以应用更改,按照提示操作。 安装完JBoss Tools后,我们需要...

    WSO2-ESB-Custom-Message-Builder

    本文将深入探讨与"WSO2-ESB-Custom-Message-Builder"相关的知识点。 **1. WSO2 ESB的角色** WSO2 ESB作为一个服务总线,主要职责包括路由、转换、协议适配、安全管理以及性能优化。它提供了一个灵活的平台,可以...

    JBoss ESB 学习笔记

    ### JBoss ESB 学习笔记知识点概览 #### 一、搭建ESB开发环境 - **工具准备**: - Eclipse-JEE 3.5:集成开发环境,支持Java EE标准,适合企业级应用程序开发。 - jbossesb-server-4.7:JBoss ESB的具体版本,为...

    ESB-SOA-ACS.pptx

    在本文中,我们将对ESB、SOA和ACS三个概念进行详细的介绍,并对其在实际应用中的优缺点进行分析。 ESB ESB是一种架构模式,旨在实现企业内部不同系统之间的集成和通信。它提供了一个中间层,负责将不同的系统集成...

    ESB--NServiceBus

    ESB(Enterprise Service Bus,企业服务总线)是一种架构模式,用于构建松耦合、模块化的分布式系统。它充当应用程序之间的中间件,提供服务发现、消息路由、转换和协议桥接等功能。在.NET环境中,NServiceBus是一个...

    Mule ESB手册-中文版

    根据提供的文件内容,以下是关于Mule ESB手册-中文版的知识点: 1. Mule ESB简介 Mule ESB(Enterprise Service Bus)是MuleSoft公司开发的一款企业服务总线产品,它允许企业内部和不同企业之间的服务进行集成,...

    ESB比较 adfasdfasf

    根据提供的文件信息,我们可以提取并总结出关于企业服务总线(Enterprise Service Bus, ESB)的相关知识点。以下是对这些信息的详细解读: ### ESB概述 企业服务总线(ESB)是一种软件架构模型,用于支持和服务于...

    ESB企业服务总线

    ESB企业服务总线简介,一种在松散耦合的服务和应用之间标准的集成方式

    spring-boot-ui-esb-basics:spring-boot-ui-esb-basics

    基本JAVA-JAKARTA-EE TECH'S。 基本教程ule子红5 Spring启动基础皮草STSTest SampleDROOLS spring-boot-oauth2-master Spring启动休息大师spring-boot-reference.pdf spring-data-jpa-reference.pdf spring-security...

Global site tag (gtag.js) - Google Analytics