一、ESB 概述
ESB 是一种体系结构模式,而不是软件产品。不同的软件产品可以构成 ESB。
ESB,目的是为了建立一个平台,可以集成很多异构系统的应用和数据。
可以理解为一个负责协调各个服务的总线, 一条大马路,周围都是小门脸。每个门脸都提供服务。
用ESB除了上面好处之外还有就是服务编排和协议的转换。
假设你是一个小货郎,你需要向不同的厂家去进货:
1、这些厂家的老板来之于全国各地,说的都是方言,你根本就听不懂(协议不一致),ESB可以给你做一下翻译(协议转换)
,换成实际的应用就是你用jmx,我用soap,他用XXX,ESB可以给你屏蔽这种协议上的差异。
2、还有就是并不是你想去进货的厂家就一定有货,有的你可能需要去等待或者进货的顺序可能有一定的先后关系,需要做编排,这个你也可以交给ESB来处理。
在实际应用中,你只面对ESB,你只要告诉ESB,我要进货,ESB就去给你处理进货的流程(假设编排了进货服务),你就不用去管什么方言、进货顺序的问题了。
ESB 的优点
ESB 的主要优点之一就是处理消息。消息的传入和传出也许会用到协议或格式中介。当这些需求明显需要处理消息时,使用 ESB 可以提供许多优势,其中包括在转换中处理较复杂事务的能力。当这些需求需要使用 ESB 基本功能(如消息路由、转换或协议中介)之一时,则 ESB 是最佳选择。
ESB 的另一个优点是性能。ESB 在计划上能够处理大量的消息。例如,如果需求是每天处理 200,000 条消息,则 ESB 显然是较好的选择。
如果需求是以数据为中心的,则显然要选择 ESB。
二、BPEL
OASIS 标准组织已将 Business Process Execution Language (BPEL) 定义为基于标准的方法,使用该方法可以编排由服务构成的业务流程。
Web services WSDL文件组成了任何BPEL过程的主体。WSDL定义了一个Web service的方法、消息和特征。而一个BPEL过程则通过它的引擎使得丰富的使用信息被包含在这些标准Web services文件中,以此来编排需要的业务过程。
BPEL 的优点
BPEL 引擎的主要优点是能够编排业务流程。如果需求是处理具有复杂逻辑的流程,则 BPEL 是较好的选择。WS-BPEL 包含容器活动,如 ESB 不支持的 while 循环和范围。ESB 中的逻辑通常非常简单,而 WS-BPEL 可以处理更复杂的情形。
阅读(1358) | 评论(0) | 转发(0) |