企业服务总线的优势

2022-09-01 10:26:41

在哪里可以找到有关企业服务总线 (ESB) 的用途和优势的一些信息?

我正在寻找有关以下内容的信息:

  1. 各种问题和 ESB 有助于解决
  2. ESB 的替代方案 - 以及它们之间选择的权衡
  3. 作为开发人员,您需要做些什么来构建与 ESB 兼容的系统

我正在寻找更精细的细节,而不仅仅是维基百科或供应商的在线营销手册。理想情况下,一些示例代码将有助于阐明利用 ESB 所涉及的内容。从.NET或Java的角度来看的信息将是最有用的。

谢谢。


答案 1

我建议从ESB开始还是不到ESB开始,由Mule的创建者编写。


答案 2

ESB 是实现企业集成模式的好方法。

ESB 帮助解决的各种问题

  • 您有许多协议希望规范化为单个协议(例如FTP,电子邮件,SOAP,XMPP等消息传递系统),例如ActiveMQ。这使您可以将服务的实现与协议分离。
  • 您希望以一种一致的方式将服务挂接到此体系结构中,以便它们可以侦听消息、处理消息和生成消息(消息终结点、通道适配器等)。
  • 您可能希望托管容器将这些不同的组件部署到其中(例如ServiceMix,Mule)
  • 您可能希望将许多预构建的组件和适配器放入各种协议中(例如,ServiceMix,Mule和Camel有很多预构建的组件)。
  • 您可能需要长时间运行的工作流。业务流程管理通常与ESB一起提供(Apache ODE插入到许多开源ESB中)。

ESB 的替代方法

替代方案实际上取决于您尝试解决的问题。

  • 为了提供分布式服务,人们经常使用应用程序服务器通过某个点对点RPC协议(如RMI上的EJB或HTTP上的Web服务)来公开服务。因此,客户端不是将消息放在“总线”上,而是直接调用服务器。
  • 要响应特定的协议,您可以构建一个响应该协议的客户端,例如编写一个使用JavaMail侦听电子邮件的应用程序或使用Smack侦听XMPP的应用程序。如果您的问题仅限于一个或两个协议,则可能不值得引入完整的ESB。

作为开发人员,您需要做些什么来构建与 ESB 兼容的系统

这将取决于您选择的 ESB,尽管考虑到大多数好的 ESB 都设计为调用各种协议以及主机 POJO,因此构建 ESB 兼容系统并不需要执行太多操作。值得尝试使代码异步。

例如,Apache Camel可能具有最简洁的配置,这是一个教程


推荐