BPEL实例教程

BPEL实例教程

ID:37239356

大小:170.00 KB

页数:20页

时间:2019-05-20

BPEL实例教程_第1页
BPEL实例教程_第2页
BPEL实例教程_第3页
BPEL实例教程_第4页
BPEL实例教程_第5页
资源描述:

《BPEL实例教程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、BPEL实例教程面向Web服务的业务流程执行语言(BPEL或BPEL4WS)是一种使用Web服务定义和执行业务流程的语言。BPEL使您可以通过组合、编排和协调Web服务自上而下地实现面向服务的体系结构(SOA)。BPEL提供了一种相对简单易懂的方法,可将多个Web服务组合到一个新的复合服务(称作业务流程)中。  本文将介绍如何创建一个将一系列虚拟的、与旅行相关的web服务结合起来的示例业务流程,然后将其部署到OracleBPELProcessManager运行时环境。  BPEL背景知识  首先,介绍一些背景知识。BPEL基于XML和Web服务构建;它使用一种基于Web的语言,该语言支持we

2、b服务技术系列,包括SOAP、WSDL、UDDI、Web服务可靠性消息、Web服务寻址、Web服务协调以及Web服务事务。  BPEL代表了两种早期工作流语言-Web服务流语言(WSFL)和XLANG的交汇。WSFL由IBM基于有向图概念设计。XLANG是一种由Microsoft设计的块结构化语言。BPEL组合了这两种方法,并提供了丰富的词汇来描述业务流程。  BPEL的第一个版本诞生于2002年8月。此后,随着许多主要供应商(包括Oracle)的纷纷加入了,催生了多项修改和改进,并于2003年3月推出了1.1版。2003年4月,BPEL提交结构化信息标准促进组织(OASIS)以实现标准化,

3、并组建了Web服务业务流程执行语言技术委员会(WSBPELTC)。该努力使BPEL在业界获得更广范围的认可。  在企业内部,BPEL用于标准化企业应用程序集成以及将此集成扩展到先前孤立的系统。在企业之间,BPEL使与业务合作伙伴的集成变得更容易、更高效。BPEL激发企业进一步定义它们的业务流程,从而导致业务流程的优化、重新设计以及选择最合适的流程,进而实现了组织的进一步优化。BPEL中描述的业务流程定义并不影响现有系统,因此对升级产生了促进作用。在已经或将要通过Web服务公开功能的环境中,BPEL是一项重要的技术。随着Web服务的不断普及,BPEL的重要性也随之提高。  编制与编排  Web

4、服务通常公开某些应用程序或信息系统的操作。因此,组合多个Web服务实际上涉及基础应用程序及其功能的集成。  可以用两种方式组合Web服务:·  编制·  编排  在编制(通常用于专用业务流程)中,一个中央流程(可以是另一个Web服务)控制相关的Web服务并协调对操作所涉及Web服务的不同操作的执行。相关的Web服务并不“知道”(也无需知道)它们参与了组合流程并在参与更高级别的业务流程。只有编制的中央协调员知道此目标,因此编制主要集中于操作的显式定义以及Web服务的调用顺序。(见图1。)    图1:通过编制组合Web服务  而编排并不依赖某个中央协调员。相反,编排所涉及的每个Web服务完全知

5、道执行其操作的时间以及交互对象。编排是一种强调在公共业务流程中交换消息的协作方式。编排的所有参与者都需要知道业务流程、要执行的操作、要交换的消息以及消息交换的时间。(见图2。)    图2:通过编排组合Web服务从组合Web服务以执行业务流程的角度而言,编制是一个更灵活的范例,它相对于编排而言具有以下优点:·  元件流程的协调由某个已知的协调员集中管理·  可以组合Web服务而不必使它们知道它们正在参与更大的业务流程·  可以准备其他方案以防发生故障。  BPEL支持两种不同的业务流程描述方法(支持编制和编排):·  可执行流程允许指定业务流程的准确细节。它们遵循编制范例,并可由编制引擎执行

6、。·  抽象业务协议允许只指定双方之间的公共消息交换。它们不包含流程的内部细节并且无法执行。它们遵循编排范例。  现在,我们来逐步演示如何创建可执行的BPEL业务流程;可以下载它的代码并将其部署到OracleBPELProcessManager。我们将假设已经按照安装指导成功安装了OracleBPELProcessManager,并假设它使用缺省端口9700。如果在安装过程中选择了其他端口,则必须相应地修改示例。  构建业务流程  BPEL流程指定参与的Web服务的确切调用顺序-顺序地或并行地。使用BPEL,您可以表述条件行为。例如,某个Web服务的调用可以取决于上次调用的值。还可以构造循环

7、、声明变量、复制和赋予值、定义故障处理程序等。通过组合所有这些构造,您可以以算法的形式定义复杂业务流程。实际上,由于业务流程本质上属于活动图,因此使用统一建模语言(UML)活动图表示它们可能很有用。  通常情况下,BPEL业务流程接收请求。为了满足请求,该流程调用相关的Web服务,然后响应原始调用方。由于BPEL流程与其他Web服务通信,因此它在很大程度上依赖于复合型Web服务调用的Web服务的WSDL描述。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。