从系统集成的角度来看,将 ESB(企业服务总线)中间件技术而不是 EJB 用于大中型应用程序是常见的做法,还是主要为 BPM(业务流程管理)应用程序保留使用 ESB 中间件?
2 回答
ESB 主要用作集成层,以实现系统的集成,使用不同的消息格式,用于代理、路由、消息转换、负载平衡、使用不同的协议等。上述部分或全部或更多。esb 可能是一个成熟的商业/开源系统,或者只是一个代理或路由器应用程序,如果需要,可以使用 ejb 来实现。要评论 ESB 和 EJB,它们是不相关的,它们服务于不同的目的。
BPM 通常涉及消息编排、不同服务、消息格式和系统之间的交互,因此 esb 往往会出于集成的目的而出现。为了评论您的观点,ESB 既不是 BPM 保留的,也不是强制性的。
在我看来,ESB 不仅仅适用于 BPM。
使用 ESB 可以创建分布式架构。
分布式架构的好处是众所周知的(例如 - 可扩展性)。
当然,ESB 并不是实现这一目标的唯一解决方案,而是可用的解决方案之一。
请注意,如果您需要一个分布式架构,它没有很多服务 + 协议的差异化(即 - 使用 HTTP、JMS 等......),您应该考虑另一种解决方案。
当您有许多使用不同协议的服务时,ESB 可以为您提供帮助(例如,想象一个组件接受,而另一个组件在 JMS 队列上侦听 - 您可能需要发送“逻辑上”相同的消息,但应该是曾经说过给第一个服务,稍后应该发送给第二个服务 -
ESB 将帮助您执行此任务)。我建议您在此博客
上阅读有关此主题的更多信息。