有人可以用非buzzspeak向我解释企业服务总线吗?

时间:2010-06-16 17:31:58

标签: integration soa messaging esb

我们的一些合作伙伴告诉我们,我们的软件需要与企业服务总线进行交互。在对此进行了一些研究后,我的直觉就是说这只是嗡嗡声说我们需要一种以平台为依据的方式来回传递消息。我只是想了解我们的合作伙伴告诉我们的事情。我是否正确地驳斥了我们合作伙伴的要求,只是试图让我们的软件更符合流行语,或者他们是否告诉我们应该听取的内容(即使用buzzspeak编码)?

6 个答案:

答案 0 :(得分:38)

尽管ESB基于消息传递,但它不仅仅是“消息”,而不仅仅是一个流行语。

因此,如果您从普通的旧异步消息开始,早期网络往往是非常点对点的。你必须连接(即通过一些管理界面配置)每个连接和每对目的地,如果你敢于移动任何东西,总是有些东西坏了。由于连接点是手动连接的,因此这些网络从未实现高连接密度。增量成本太高而且没有扩展。拓扑中还嵌入了大量访问控制和策略。缺乏连接密度实际上有利于这种安全方法,即使它会抑制灵活性。

ESB试图用......解决这些问题。

  • 目的地/服务/资源的运行时解析
  • 位置透明度
  • 任意连接和最大连接密度
  • 架构为冗余,水平可扩展性,故障转移
  • 策略,访问控制,拓扑外化的规则
  • 在物理消息网络层上实现的逻辑消息传递网络层
  • Common namespace

因此,当您的客户要求ESB兼容性时,他们需要上述内容。从应用的角度来看,这也意味着......

  • 避免消息关联,例如严格按顺序处理要求或仅向特定节点而不是通用网络目的地处理请求
  • 能够在运行时动态解析目标(即添加队列的另一个实例,它会自动开始获取流量,删除一个并将流量路由到其余节点)
  • 请求者和提供者应用程序脱离了解彼此“生活”的位置。请求者建立一个连接,无论可能需要多少服务来调用
  • 按政策而非拓扑授权
  • 能够识别和处理欺骗的服务提供商应用程序(根据JMS规范,由于会话处理,请参阅“功能重复”)
  • 能够运行服务提供者应用程序的多个活动实例
  • 检测服务提供商应用程序,以便您可以查询网络状态或执行测试而无需发送实际交易

另一方面,如果您的客户无法清楚地表达这些内容,那么他​​们可能只是希望能够选中一个“与ESB一起使用”的方框。

答案 1 :(得分:25)

我会尝试&保持它的流行语免费(但一个嗡嗡声的缩写可能会蔓延)。

当服务/应用程序/大型机/等...想要集成(因此相互发送消息)时,最终可能会变得非常混乱。 ESB隐藏了自身(或其自身)内部的混乱,以便组织可以假装没有混乱,并且它具有可管理的东西。然后它围绕着这一点包含了大量功能,使得这个盒子对于那些决定购买如此昂贵的产品的组织中的高级人员更具吸引力。这些人通常会想要引入一项大型计划,这项计划花费了大量资金来证明他们“做某事”并且知道如何花费大量资金。如果这是一项SOA计划,那么各种供应商都会告诉他们,ESB需要让供应商了解SOA的工作原理(通常一旦他们想要的服务数量通过一个微不足道的数字)。

所以ESB是:

  1. 供应商赚很多钱的工具;
  2. 顾问赚很多钱的工具;
  3. 高级管理人员(IT总监等)表明他们可以花很多钱;
  4. 一个隐藏乱七八糟的盒子;
  5. 与技术团队合作的完整PITA。

答案 2 :(得分:9)

  

经过研究一下,我的   本能就是说这只是   嗡嗡声说我们需要   有平台依赖的方式通过   消息来回

你是对的,部分是因为术语ESB总是很好用,非常适合另一个流行词,合法与否 - 这是治理(即帮助你管理谁正在访问你的终端并报告指标 - 指标btw是所有西装都喜欢看到的,因此可能是贡献者)

他们可能需要平台中立设备的另一个原因是,他们使用的任何服务始终作为端点从中心位置公开,而不是特定的机器资源。 ESB使您的服务的实际物理端点与它们无关,无论如何它们都不应该太在意,但是启用您可以移动服务,但它们只会使用ESB端点。

除了发现的集中存储库之外,ESB还可以更轻松地并排版本化服务。如果我有选择并且公司有预算,我们就会购买IBM的x150设备:(

第三,如果我记得的话,许多更先进的总线,如SoftwareAG的产品,本身能够公开遗留数据,例如作为服务的主框架上的数据,而不需要通过适配器进行编码

我不知道他们的意图是利用ESB提供的所有好处,还是正如您所说,使其符合流行语。

答案 3 :(得分:7)

  

在研究了一下之后,我的直觉就是说这只是嗡嗡声说我们需要一种平台依赖的方式来回传递消息

那是对的。有时,ESB会更进一步,并包含其他功能,如邮件传递保证,确认/确认消息等。 ESB的存在通常也明确地或隐含地创建一个以前都不存在的新协议,这是另一个重要的考虑因素。 (也就是说,必须根据消息的格式设置某种标准或接口。)

  

我是否正确地驳斥了我们合作伙伴的要求,只是为了让我们的软件更符合流行语,或者他们是否告诉我们应该听的内容(即使是用buzzspeak编码)?

你应该经常听你的顾客,即使它最初听起来很傻。通常值得至少花费精力来决定发生了什么。阅读这些内容,您的合作伙伴可能意味着他们希望您的服务方式能够更轻松地与他们自己的服务和产品集成。

答案 4 :(得分:6)

企业服务总线以标准方式处理系统之间的消息传递。这允许您以相同的方式在所有平台上与总线通信,并且总线处理实际转换为特定端点所需的单独通信机制。这意味着您使用通用消息传递方案编写所有代码以与总线通信,并且总线处理采用您的通用方案并进行转换,以便端点理解它。

答案 5 :(得分:0)

最简单的解释是解释它提供的内容:

多年来,公司购买了不同的平台和技术,以实现从财务到人力资源业务的特定功能。这些系统需要相互通信以共享数据,因此中间件成为允许它们连接的粘合剂。在业务知道之前,他们正在为这些系统和中间件中的每一个支付费用。随着业务需求的变化,各部门决定创建自己的定制解决方案来满足特殊需求,而不是试图使老化的解决方案足够灵活,以满足他们的需求。在他们知道之前,他们付钱来支持和维护遗留系统,中间件和自定义解决方案。随着Sarbanes Oxley等新法律的出台,公司需要提供更好的信息用于报告目的。单个视图要求它们从所有系统捕获数据。此外,CIO现在受到压力,要求降低成本并增加客户服务。一个显而易见的解决方案是消除还原剂系统,昂贵的支持和维护合同,以及需要专家支持的高成本遗留解决方案。迁移到新平台允许这样做,但需要进行转换。没有可以复制业务的交钥匙解决方案。为了满足移动信息的需求,他们使用SOA,因为它允许通过通用实体访问信息。如果我从服务总线请求AllEmployees,它会得到它们是来自15个HR系统还是1.当15个HR系统变成1个系统时,呼叫和结果不会改变,只是在幕后如何完成。 Service Bus概念标准化了信息流,允许IT经理在总线后进行转换,对上游用户没有长期影响。