企业服务总线术语

Nei*_*ell 10 esb servicebus

任何人都可以在初级中级层面解释企业服务总线环境中"总线","传输"和"端点"的术语吗?我是一名C#开发人员,现在有几年经验,但只是刚开始使用ESB.

似乎"总线"实际上是一个可以发送和接收消息的队列.我很好.然而,我正在使用NServiceBus处理一些现有的代码,我想如果我理解了"端点"和"传输"术语,我会在我的理解中实现大幅度的飞跃.

小智 9

让我试着向你澄清这些条款:

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

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

这些功能是由在ESB内运行的服务提供的.服务通过端点相互连接- 统一,唯一的"地址".在端点之间分派的消息使用统一传输(封装消息的有效负载的方法/协议).本机使用不同传输的应用程序需要通过适当的适配器连接到ESB - 将提供必要的传输转换的服务.这样,使用ESB的应用程序就会相互分离,而不需要自己提供转换.

当然,这些只是对术语的非常简短的描述.请记住,企业服务总线只是特定类型的体系结构(或概念)的术语,但它没有以任何方式标准化.因此,具体实现可以彼此非常不同.如果您对标准化ESB感兴趣,可以查看JBI(Java Bussiness Integration).有几个JBI的开源实现可用,其中包括Apache ServiceMix,Mule,OpenESB.Manning出版的" 开源ESBs行动 "一书中介绍了ESB技术的非常好的介绍.