BPEL(發音為'bipple'或'bee-pell')是Business Process Execution Language的縮寫,意为业务过程执行语言,是一种基于XML的,用来描写业务过程的编程语言,被描写的业务过程的每个单一步骤则由Web服务来实现。
2002年IBM、BEA和微软一起开发和引入了BPEL作为描写协调Web服务的语言。这个描写的本身也由Web服务提供,并可以当作Web服务来使用。
通过BPEL可以描写一个参加一个Web服务过程的Web服务的接口,比如信息需要按照怎样的顺序被输入,但是BPEL无法用来描写一个业务过程的调谐。
[编辑] 综述
WS-BPEL原名BPEL4WS,是基于WSDL建立的,除WSDL外它还使用XML模式定义、XPath和WS-Addressing等标准。
BPEL将微软的Xlang与IBM的WSFL连接到一起。
BPEL的目的在于大规模编程,值得注意的是BPEL不直接支持人机对话,BPEL所描写的过程仅与Web服务通信,而这些Web服务却可以提供与用户的信息交换,但它们不是用户本身。
BPEL本身提供一个基础,在这个基础上可以发展支撑新的应用的“支柱”。比如在BPEL本身的设置中就已经包括了“抽象业务过程”和“可执行业务过程”。其它的支柱包括BPELJ([1])和BPEL4People([2])。
BPELJ的目标在于将Java语言结合到BPEL中来加速其操作过程,缺点是它与Java息息相关,不能没有Java运行。IBM和SAP公司一起发表了一份名为BPEL4people的白皮书,其目的是将BPEL扩展为能够直接与人交换信息。
BPEL使用块状结构,在定义局部环境时可以定义适用于这个环境范围内的变数(變數)。此外故障处理、补偿处理和事故处理也可以与局部环境相连。
BPEL本身没有定义描写过程模型的图像表达,但是BPMN标准可以用来描写BPEL的模型。
[编辑] 抽象的和可执行的过程
可执行的过程是一个可以在一个计算机上执行的过程。抽象过程是用来描述一个过程的反应的。它被用在一个可执行过程的表面来将这个过程的内部行为掩饰起来不让业务对象看到。
[编辑] 下级过程
BPEL本身没有对下级过程的定义,因此假如一个主过程结束了的话,要结束其下级过程不总是可行。通过专门使用一个起这个作用的Web服务可以达到这个目的,但这个解决方法在BPEL的标准中并没有提到。
IBM和SAP公司发表了一个名为《WS-BPEL 2.0,下级过程延展》的白皮书([3])来讨论将BPEL延展为可以控制下级过程的问题。
[编辑] 发展状况
目前的版本是2.0,这个版本是OASIS于2007年4月11日推出的。
[编辑] 语言组成部分
基本活动,这些是最基础的,也就是说不基于其它活动的活动:
-
assign——赋值
-
invoke——同步或非同步地呼叫一个Web服务
-
receive/reply——提供一个同步或者非同步呼叫一个Web服务的接口
-
throw——提示一个错误,一个故障处理可以处理这样的错误。假如一个错误不被处理的话它最终到达最高层后导致过程的终止
-
wait——等候一个时机或者一段时间
-
empty——无所事事,比如在一个错误发生后可以不做反应来消除这个错误
结构性活动,这些活动包括其它活动,可以以此建立复杂的过程:
-
sequence——按照一个序列处理一系列活动
-
while——在一个条件满足的情况下处理一个活动
-
switch——按照不同条件处理不同活动
-
flow——平行或者按照随意顺序处理活动
-
pick——按照外部事件从过程的角度不定值地选择
scopes——使用这个结构可以将一组活动组织在一起作为一个处理单位。通过这个组织方法多个活动可以使用同一个故障处理、事故处理和补偿处理。通过补偿处理BPEL可以处理长时间的处理。
[编辑] BPEL引擎
使用BPEL引擎可以执行BPEL程序。
<!--
NewPP limit report
Preprocessor node count: 861/1000000
Post-expand include size: 2017/2048000 bytes
Template argument size: 266/2048000 bytes
Expensive parser function count: 0/500
--><!-- Saved in parser cache with key zhwiki:pcache:idhash:285999-0!1!0!!zh!2!zh and timestamp 20091205102023 -->
分享到:
相关推荐
BPEL介绍BPEL介绍BPEL介绍BPEL介绍BPEL介绍BPEL介绍
2.1. BPEL背景知识..........................................................................................- 4- 2.2. 编制与编排............................................................................
Eclipse3.5,升级Eclipse-bpel时需要的两个包 在添加BPEL Designer插件时,输入http://download.eclipse.org/technology/bpel/update-site/ 后,显示: "Cannot complete the install because one or more required...
bpel完整实例(webservice+bpel) openesb bpel
其中BPEL4WS就是属于用特定的服务组合定义语言模式,目前已经成为WEB服务组合的主流方法(注意:OWL-S是基于AI规划的WEB服务组合方法) BPEL4WS是专门为整合Web服务而制定的一项规范标准。BPEL4WS 的作用是将一组...
本文档定义了基于Web 服务的指定的业务流程语言。称作Web 服务的业务流程执行语 言(此后在文档中简称WS-BPEL)。WS-BPEL 中的流程通过专门的Web 服务接口实 现功能性的输出和输入。
面向 Web 服务的业务流程执行语言BPEL本身缺乏健壮的语义,构建Web组合服务又是一种易于出错的任务。基于有色赋时Petri网,提出了从BPEL描述的Web组合服务流程中Flow活动到有色Petri网模型的转换方法。在转换过程中...
BPEL中文教程,帮你快速学习BPEL BPEL学习很好的教程
手动部署bpel服务。此文档一开始是在网上下载的,但是我发现无论怎么按照里面的步骤来做都无法成功部署bpel,很多人也都遇到类似的问题。经过我的不断分析,发现原来是bpel的插件(模拟的服务器)有问题,根本是做不...
bpel相关 提供一个加法的一个减法的webservice 然后利用bpel整合,实现加减法 平台:eclipse3.5 tomcat5.5以上-bpel a related addition of a subtraction of the webservice and then use bpel integration and ...
Eclipse_BPEL_使用详解[整理].pdf
这是对BPEL做了一个简单的介绍,关于BPEL的一些常识
安装好BPEL插件的eclipse,适合没有在线安装BPEL插件的同学使用
业务流程是各种不同功能的活动相连的一组由相关的任务,并且按照一定的业务逻辑执行,Web服务采用BPEL标准描述业务交互中参与者的实际行为,并将一组现有的服务组合起来,从而定义一个新的Web服务。Web服务业务流程...
bpelBPEL活动浅析 BPEL活动(Activity)是指BPEL流程中一条语句或者一个步骤的执行。
BPEL编程思想详解
BPEL实例教程代码
BPEL 背景知识 首先,介绍一些背景知识。BPEL 基于 XML 和 Web 服务构建;它使用一种基于 Web 的语言,该语言支持 web 服务技术系列,包括 SOAP、WSDL、UDDI、Web 服务可靠性消息、Web 服务寻址、Web 服务协调以及 ...
《bpel primer》是个非常经典的Bpel介绍资料,很值得参考,推荐给大家!!!
............\bpel.xml ............\build.xml ............\gd_BizAccept.bpel ............\gd_BizAccept.jpr ............\gd_BizAccept.wsdl ............\gd_BizAccept_APWorkflow.wsdl ............\...