ESB和BPM在功能上有些重叠,那么如何区分呢。
以下内容是从IBM网站上摘录的,很精辟的分析了ESB和BPM的区别和特点
ESB 的主要优点之一就是处理消息。消息的传入和传出也许会用到协议或格式中介。当这些需求明显需要处理消息时,使用 ESB 可以提供许多优势,其中包括在转换中处理较复杂事务的能力。当这些需求需要使用 ESB 基本功能(如消息路由、转换或协议中介)之一时,则 ESB 是最佳选择。
ESB 的另一个优点是性能。ESB 在计划上能够处理大量的消息。例如,如果需求是每天处理 200,000 条消息,则 ESB 显然是较好的选择。
如果需求是以数据为中心的,则显然要选择 ESB。
BPEL 引擎的主要优点是能够编排业务流程。如果需求是处理具有复杂逻辑的流程,则 BPEL 是较好的选择。WS-BPEL 包含容器活动,如 ESB 不支持的 while 循环和范围。ESB 中的逻辑通常非常简单,而 WS-BPEL 可以处理更复杂的情形。
WS-BPEL 引擎(如 WebSphere Process Server)的另一个优点是能够让业务流程长时间运行并维持其状态。当需要状态时,不应使用 ESB,因为维护状态会占用许多自定义代码。如果需求是进行有状态的处理,则在选择时可以排除 ESB。
如果需求是以流程为中心的,则显然要选择 WS-BPEL。