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