2008年5月6日星期二

SOA_006:何时使用ESB,何时使用BPEL?(摘录+整理)


不可否认,BPELESB 之间存在着一些功能重叠:
1. 二者都可以与适配器一起工作。
2. 二者都可以转换数据。
3. 二者都支持组合服务模式。
我们该如何来选择:BPEL or ESB。让我们首先看一看BPELESB各自的优缺点。
BPEL的优点
1. 能够编排复杂的业务流程。
2. 能够长时间运行业务流程并维持其状态。
小结:BPEL的主要作用是服务编排,需要使用专有的IDE(如 Oracle JDeveloper)进行开发。
ESB的优点
1. 能够快速处理(路由、转换、协议中介)无状态的消息。
2. 能够在转换中处理复杂事务。
小结:ESB相当于一个数据中介(mediate),目的是保证服务的位置透明性以及技术实现无关性。ESB通过配置即可管理服务,如Oracle Service Bus Web Console虽然ESB也可以做一些轻量级的服务编排,但这不是它的强项。

结论:如果需求是以流程为中心的,选择BPEL。如果需求是以数据为中心的,选择ESB

参考文献
1. 《BPEL 或 ESB:应该使用哪一个?》 作者:http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0803_fasbinder2/0803_fasbinder2.html

没有评论: