10

任何人都可以在初级到中级级别解释企业服务总线上下文中的“总线”、“传输”和“端点”的术语吗?我现在是一名拥有几年经验的 C# 开发人员,但才刚刚开始使用 ESB。

看起来“总线”实际上是一个可以发送和接收消息的队列。我很好。但是,我正在使用NServiceBus处理一些现有代码,我认为如果我理解“端点”和“传输”术语,我的理解就会有很大的飞跃。

4

2 回答 2

9

让我试着向你澄清这些术语:

ESB 架构上下文中的总线不应被视为用于消息调度的简单队列。为了允许集成不同的服务,ESB 提供了更多功能。ESB 的重要附加功能:

  • 路由。根据消息内容或端点规范,消息可以路由到不同的服务。
  • 不同格式之间的消息转换/中介
  • 传输协议转换。ESB 应该能够无缝集成使用不同传输协议(JMS、HTTP/S、纯 TCP 等)的应用程序
  • 消息增强。在进一步处理之前,可以使用缺失的数据来丰富消息。
  • 安全
  • 管理和监控

这些功能由在 ESB 中运行的服务提供。服务通过端点相互连接——统一的、唯一的“地址”。在端点之间分派的消息使用统一传输(封装消息有效负载的方法/协议)。本机使用不同传输的应用程序需要通过合适的适配器连接到 ESB - 将提供必要的传输转换的服务。通过这种方式,使用 ESB 的应用程序彼此分离,并且不需要自己提供转换。

当然,这些只是对术语的非常简短的描述。请记住,企业服务总线只是特定类型的架构(或概念)的流行语,但它没有以任何方式标准化。因此,具体的实现可能彼此非常不同。如果您对标准化 ESB 感兴趣,可以看看 JBI(Java 业务集成)。JBI avalable 有几个开源实现,其中包括Apache ServiceMixMuleOpenESB。Manning 出版的“ Open Source ESBs in Action ”一书中很好地介绍了 ESB 技术。

于 2009-04-20T19:32:12.053 回答
1

我建议查看与企业应用程序集成 (EAI) 相关的资源,它围绕 ESB 以及用于集成解决方案的各种模型和模式。认为它是 ESB 架构的 GoF:

http://www.enterpriseintegrationpatterns.com/

http://www.enterpriseintegrationpatterns.com/toc.html

所有这些模式都会让您了解人们使用 ESB 来实现什么,并且这些模式对于提供自己动手的 ESB 集成的常见缺陷很有用。通过那本书和从中获取资料的人,我学到了很多东西。

于 2009-05-13T01:36:19.633 回答