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编程思想详解 #### 6.1 BPEL的基本思想 ##### 6.1.1 用Java实例模拟BPEL的创建过程 为了更好地理解和掌握BPEL编程的基本思想及其核心本质,本节将通过一个具体的示例进行讲解,并尝试使用Java代码来模拟...
### BPEL的一个运行实例 #### 1. 前言 ##### 1.1. 前提条件 本文档假设读者已经具备基本的Java编程基础、了解Web服务的基本概念以及熟悉Eclipse IDE的使用。 ##### 1.2. 目标 本教程旨在通过一个具体的例子来介绍...
### BPEL 2.0规范详解 #### 一、概述 《BPEL 2.0规范(中文版)》定义了一种基于Web服务的业务流程语言——Web服务业务流程执行语言(WS-BPEL),该语言允许设计者描述业务流程,并通过专门的Web服务接口实现流程的...
### BPEL简要概括(关于BPEL) **BPEL**,全称为Business Process Execution Language for Web Services,是一种标准化的编程语言,专门用于整合Web服务,旨在定义新的Web服务,通过组合现有的多个服务。这门语言的...
**BPel 完整实例(WebService + BPEL)** **一、BPel简介** Business Process Execution Language(BPEL)是一种用于编排Web服务的业务流程执行语言,它是基于XML的,专为实现企业服务总线(ESB)上的复杂业务流程...
Eclipse BPEL 使用详解 Eclipse BPEL 是一种基于 Eclipse 的业务流程执行语言(BPEL),它提供了一个基于标准的业务流程管理解决方案。下面是 Eclipse BPEL 的使用详解。 一、 环境配置 Eclipse BPEL 需要在 ...
### BPEL中文教程知识点详解 #### 一、BPEL概述 **BPEL**(Business Process Execution Language),即业务流程执行语言,是一种基于Web服务的技术,用于定义和执行复杂的业务流程。它允许用户通过组合现有的Web服务...
Eclipse BPEL是基于Eclipse IDE的业务流程执行语言(Business Process Execution Language)开发工具。这个压缩包“eclipse_BPEL_1”显然包含了安装好BPEL插件的Eclipse集成开发环境,方便那些无法在线安装BPEL插件...
### BPEL Primer (BPEL 2.0 Primer_权威) #### 一、BPEL简介 **Business Process Execution Language (BPEL)**是一种用于形式化描述业务流程和业务交互协议的语言。它旨在扩展Web服务交互模型以支持业务交易。BPEL...
**BPEL(Business Process Execution Language)** 是一种用于描述业务流程和服务编排的语言,它在Web服务领域中扮演着重要角色。BPEL的主要目标是为了解决企业级服务之间的交互问题,允许开发者将多个Web服务组合成...
BPEL,全称Business Process Execution Language,是一种用于编排Web服务的标准语言,它使得开发者可以构建复杂的业务流程。在BPEL中,活动(Activity)是构成流程的基本单元,代表了流程中的一个操作或步骤。 BPEL...
**BPEL流程例子程序详解** BPEL(Business Process Execution Language)是一种基于XML的编程语言,用于描述和执行业务流程。在这个例子程序中,我们使用了Eclipse BPEL2.0插件来开发一个特定的流程,该流程实现了...
Oracle BPEL(Business Process Execution Language)流程开发指导是一份专为开发者准备的详细文档,主要涵盖Oracle 10g (10.1.3.1.0)版本的BPEL Process Manager的使用和开发。BPEL是一种用于描述企业服务业务流程...
**BPEL2.0(Business Process Execution Language 2.0)**是Web服务业务流程执行语言的第二版,它是一种用于编排Web服务的XML格式的语言,主要用于定义和执行复杂的业务流程。BPEL2.0是SOA(Service-Oriented ...
**标题:“eclipse_BPEL_6”** **描述:“安装好BPEL插件的eclipse,适合没有网在线安装插件的同学”** 本文将详细介绍如何在Eclipse集成开发环境中安装并使用BPEL(Business Process Execution Language)插件,...
### ORACLE BPEL开发手册知识点解析 #### 一、ORACLE BPEL Process Manager简介 **ORACLE BPEL Process Manager**(简称BPEL PM)是ORACLE公司为支持业务流程执行语言(Business Process Execution Language,简称...
ODE(Orchestrations for the DEployment Environment)是Apache提供的一款开源BPEL引擎,它实现了BPEL规范,提供了部署和执行BPEL流程的环境。在ODE中,相关集合的管理和使用是其核心功能之一,它为开发者提供了...
**BPEL(Business Process Execution Language)** BPEL,即业务流程执行语言,是用于构建服务导向架构(SOA)中的业务流程的规范。它是一种基于XML的语言,允许开发者描述两个或多个Web服务如何协同工作来完成一个...
《深入解析BPEL2.0标准规范:企业级流程自动化的新篇章》 一、引言 在现代企业的数字化转型中,业务流程自动化扮演着至关重要的角色,它不仅能够提高运营效率,还能确保业务规则的一致性和准确性。在这个背景下,...
### BPEL基础教程知识点详解 #### 一、BPEL概述 BPEL(Business Process Execution Language),即业务流程执行语言,是一种基于XML的标准语言,用于自动化业务流程的描述和执行。它允许以标准化的方式在Web服务...