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可能具有最简洁的配置,这是一个教程。