企业服务总线术语

10

有谁能够以初中级的水平解释下在企业服务总线(enterprise service bus)中,“bus”、“transport”和“endpoint”这些术语的含义吗?我是一名有几年经验的C#开发人员,但现在才开始使用ESB。

看起来,“bus”实际上就是一个队列,您可以向其中发送和接收消息。我理解这一点。然而,我正在处理一些使用NServiceBus编写的现有代码,并且如果我理解了“endpoint”和“transport”这两个术语,我会对此有更深入地认识。

2个回答

9
让我为您澄清这些术语:
在ESB架构中,总线不应被视为简单的消息调度队列。为了允许不同服务的集成,ESB提供了更多功能。ESB的重要附加功能包括:
  • 路由。可以根据消息内容或端点规范将消息路由到不同的服务。
  • 消息转换/调解不同格式之间的差异
  • 传输协议转换。ESB应能够无缝地集成使用不同传输协议(JMS、HTTP/S、纯TCP等)的应用程序。
  • 消息增强。在进一步处理之前,可以用缺失的数据丰富消息。
  • 安全性
  • 管理和监控
这些功能是由在ESB内运行的服务提供的。服务通过端点连接到彼此 - 统一、唯一的“地址”。在端点之间分派的消息使用统一的传输(封装消息有效载荷的方法/协议)。本地使用不同传输的应用程序需要通过适当的适配器连接到ESB - 这种服务将提供必要的传输转换。这样,使用ESB的应用程序之间就解耦了,无需自行提供转换。
当然,这些只是术语的非常简短的描述。请记住,企业服务总线只是特定类型架构(或概念)的通用术语,但它在任何方面都没有标准化。因此,具体实现可能会非常不同。
如果您有兴趣了解标准化的ESB,可以查看JBI(Java业务集成)。有几个开源的JBI实现可用,其中包括Apache ServiceMixMuleOpenESB。关于ESB技术的非常好的介绍可以在Manning出版的《Open Source ESBs in Action》一书中找到。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接