在设计SOA解决方案时,该使用BPEL,还是应使用ESB? 要解决这个问题,我们需要弄清楚BPEL和ESB的主要功能和优缺点。
结论:如果需求是以数据为中心的,则显然要选择 ESB, 如果需求是以流程为中心的,则显然要选择BPEL。
ESB的主要功能:
- 消息转换:将传入消息从一种格式转换为另一种格式。例如,可以将逗号分隔的消息转换为 SOAP,这样可以将数据传递到 Web 服务。
- 消息路由:将传入消息发送到目的地,该目的地通过硬编码方式连接的逻辑确定或基于内容的动态方式确定。路由是启用服务虚拟化的关键功能。在调用方和服务之间建立中间层可以在调用方不知道更改的情况下移动服务的位置。
- 协议中介:传入消息使用不同的协议从发出位置发送。例如,传入消息可以使用 HTTP,而传出消息可以使用 WebSphere MQ。
- 事件处理:事件的传入消息一般通过发布和订阅模型分发给许多端点。
BPEL的主要功能:
- 业务流程:流程可以是有状态和长时间运行的,或者是事务型微流。长时间运行的流程无法像微流那样回滚,不过,它们可以使用补偿处理程序撤消先前执行的活动。流程可用于实现组合服务。
- 人工任务:业务流程的一个关键部分是能够将人员引入该流程。人工任务管理器启用一些步骤,通过这些步骤可以将人员作为一种服务来调用。工作流模式是使用 BPEL 扩展通过外部(参与)任务或内联任务进行支持的。
ESB 的优点:
ESB 的主要优点之一就是处理消息。消息的传入和传出也许会用到协议或格式中介。当这些需求明显需要处理消息时,使用 ESB 可以提供许多优势,其中包括在转换中处理较复杂事务的能力。当这些需求需要使用 ESB 基本功能(如消息路由、转换或协议中介)之一时,则 ESB 是最佳选择。
ESB 的另一个优点是性能。ESB 在计划上能够处理大量的消息。例如,如果需求是每天处理 200000 条消息,则 ESB 显然是较好的选择。
BPEL 的优点:
BPEL 引擎的主要优点是能够编排业务流程。如果需求是处理具有复杂逻辑的流程,则BPEL是较好的选择。BPEL 支持选择分支循环等。ESB 中的逻辑通常非常简单,而 WS-BPEL 可以处理更复杂的情形。
BPEL 引擎的另一个优点是能够让业务流程长时间运行并维持其状态。当需要状态时,不应使用 ESB,因为维护状态会占用许多自定义代码。如果需求是进行有状态的处理,则在选择时可以排除ESB。
分享到:
相关推荐
火龙果软件工程技术中心 本文内容包括:概述ESB概述BPEL概述决定使用哪一个运行时总结参考资料在设计SOA解决方案时,并不总是清楚应该使用Web服务BPEL流程,还是应使用ESB中介流。本文将介绍帮助您决定使用哪一个的...
WS-BPEL,ESB开发协议
BPEL介绍BPEL介绍BPEL介绍BPEL介绍BPEL介绍BPEL介绍
• Composite Applications • BPEL • Services • JBI • Java EE Service Engine • Open ESB • Open ESB runtime, tools, and sample apps • Demo
bpel完整实例(webservice+bpel) openesb bpel
BPEL中文教程,帮你快速学习BPEL BPEL学习很好的教程
"Cannot complete the install because one or more required items could not be found. Software being installed: BPEL Visual Designer 0.4.0 (org.eclipse.bpel.feature.feature.group 0.4.0) Missing ...
BPEL 相关集合的例子 部署环境 ODE
10.1. WS-BPEL 53 11. 第九章 服务日程安排 54 11.1. 介绍 54 11.2. 简单日程表 54 11.3. Cron日程表 54 11.4. 日程监听器 55 11.5. 配置举例 55 11.6. Quartz日程调度器的属性配置 56 12. 第十章 配置 57 12.1. ...
6 ESB Integration Examples 6 ESB集成的例子 This chapter contains the following examples:本章包含以下例子: * Configuring an ESB Outbound Process 配置ESB的外向处理 * Configuring an ESB Inbound ...
BPEL实例教程代码
其中BPEL4WS就是属于用特定的服务组合定义语言模式,目前已经成为WEB服务组合的主流方法(注意:OWL-S是基于AI规划的WEB服务组合方法) BPEL4WS是专门为整合Web服务而制定的一项规范标准。BPEL4WS 的作用是将一组...
这是对BPEL做了一个简单的介绍,关于BPEL的一些常识
本文档定义了基于Web 服务的指定的业务流程语言。称作Web 服务的业务流程执行语 言(此后在文档中简称WS-BPEL)。WS-BPEL 中的流程通过专门的Web 服务接口实 现功能性的输出和输入。
安装好BPEL插件的eclipse,适合没有在线安装BPEL插件的同学使用
《bpel primer》是个非常经典的Bpel介绍资料,很值得参考,推荐给大家!!!
bpelBPEL活动浅析 BPEL活动(Activity)是指BPEL流程中一条语句或者一个步骤的执行。
bpel 最新 SOA
BPEL编程思想详解