BPEL用于集成和组装各种模块化服务组件,以执行业务流程。
BPEL代表业务流程执行语言。它也被称为WSBPEL – Web服务业务流程执行语言,由结构化信息标准促进组织(OASIS)维护。
BPEL是一种基于XML的语言,可通过使用Web服务在分布式计算或网格计算环境中实现任务共享。BPEL基本上是XLANG语言(基于块结构)和WSFL语言(基于有向图)的合并。
在jSonic BPM环境中,BPEL使用Web服务来实现流程信息的导入和导出以及业务流程的执行。
BPEL的主要目的是以流程逻辑定义的方式调用各种Web服务。此调用可以是顺序调用,也可以是并行调用。BPEL构造由活动(基本和结构化),变量,伙伴链接和处理程序(错误和异常)组成,以执行其功能。
BPEL的基本活动包括“调用”,“答复”,“接收”,“分配”,“投掷”,“等待”,“终止”等。结构化活动将这些基本活动与条件结合起来。结构动作包括“切换”,“顺序”,“流程”,“同时”等。
“合作伙伴链接”表示到正在被调用的Web服务的链接或该Web服务用来调用BPEL活动的链接。
BPEL环境中的“处理程序”用于面对错误或异常情况。
“变量”用于在业务流程中映射和存储数据。变量有三种类型-简单,消息和元素。
BPEL支持两种基本类型的业务流程:
•可执行流程–包含有关业务流程的全面详细信息,并且可以通过Orchestration Server执行。
•抽象过程–仅包含在各方之间交换的公共消息协议,并且不可执行。
Orchestration服务器提供了用于执行“可执行过程”的运行时环境,并且可以在支持Web服务开发的任何平台上运行,例如Java 2 Enterprise Edition(J2EE)和Microsoft .NET等。