BPEL:全称为Business Process Execution Language,即业务流程执行语言,是一种使用XML编写的编程语言。用于自动化业务流程,也曾经被称作WSBPEL和 BPEL4WS。广泛使用于Web服务相关的项目开发中,优点为具有可移植性和有效保护了投资。
BPEL是一门用于自动化业务流程的形式规约语言。 用XML文档写入BPEL中的流程能在Web 服务之间以标准化的交互方式得到精心组织。这些流程能够在任何一个符合BPEL规范的平台或产品上执行。 所以,通过允许顾客们在各种各样的创作工具和执行平台之间移动这些流程,BPEL使得他们保护了他们在流程自动化上的投资。尽管以前想使业务流程定义标准 化,但BPEL已经引起了史无前例的兴趣,而且它最早在软件供应商中获得大量认可。
BPEL、WSBPEL和 BPEL4WS之间除了历史参考文献不同外,没有什么其他的不同。这些名字都涉及到相同的未决标准。“BPEL4WS”是起初规范的名字,它由BEA、 IBM和Microsoft编写和公布的。“WSBPEL”目前是规范和未决标准的名称。当这个规范提交到OASIS时,出于Web服务相关标准的努力, 按照OASIS命名方案更换了这个名字。尽管如此,大部分团体仍然简单地称这个标准为“BPEL”。
商业流程执行语言BPEL4WS(Business Process Execution Language For Web Services)是专为整合Web Services而制定的一项规范标准。
描述商业活动的抽象高级语言
IBM的WSFL—支持图形化的流程
Microsoft的XLANG—结构化构造方法
BPEL描述流程
可执行工作流—描述业务交互中参与者的实际行为;
抽象流程—描述各方参与者对外可见的消息交换。
BPEL的作用是将一组现有的服务组合起来,从而定义一个新的Web服务。因此,BPEL基本上是一种实现此种组合的语言。组合服务的接口也被描述为WSDL portType的集合。
按业务流程之间的协作方式可以分为单工作流模式和多工作流模式;
单工作流模式把一组相关的服务按一定顺序和条件组合执行,完成某项业务,流程执行过程中涉及的服务不属于其他业务流程;
多工作流模式是两个或两个以上的工作流程并行执行并进行交互的业务流程模式,多工作流模式侧重于业务流程之间的交互。