SOA构架下的系统开发需要的不仅仅是通过使用标准协议(如WSDL、UDDI、SOAP)来进行简单交互的能力。当应用程序和业务流程能够通过使用标准流程集成模型,来集成复杂的交互时才能发挥Web服务作为集成平台的全部潜力。WSDL所直接支持的交互模型仅仅是同步或不相关的异步交互的无状态模型。业务交互的模型通常假设在涉及双方或多方的有状态的长期运行的交互中的同步和异步对等消息交换序列。
为了定义这种业务交互,需要对业务流程在其交互中所用的消息交换协议的正式描述。这种业务协议的定义涉及准确地指定涉及协议的每一方都能相互看到的消息交换行为但并不公开它们的内部实现。必须用平台无关的方式来明确地描述业务协议,业务协议必须包括在跨企业业务中的所有重要行为部分。这样,每位参与者可以理解业务协议并为遵守它而做准备,每位参与者不必进行人工协商。基于这些原因,业务流程执行语言BPEL应运而生。BPEL提供了一种XML注释和语义,用于指定基于Web服务的业务流程行为。使用合作伙伴的交互方式,定义了该BPEL4WS流程。合作伙伴可以将服务提供给流程,也可以向流程请求服务,或者参与到流程的双向交互中。BPEL通过指定顺序来编排Web服务,这对服务集合的调用来说意义深远。BPEL还针对每个服务分配了合作伙伴的责任。您可以使用它来指定合作伙伴的公共接口和可执行流程的描述。
BPEL代表了两种早期工作流语言—Web服务流语言(WSFL)和XLANG的交汇。WSFL由IBM基于有向图概念设计。XLANG 是一种由Microsoft设计的块结构化语言。BPEL 组合了这两种方法,并提供了丰富的词汇来描述业务流程。
BPEL的第一个版本诞生于2002年8月。此后,随着许多主要供应商(包括 Oracle)的纷纷加入了,催生了多项修改和改进,并于2003年3月推出了1.1版。2003年4月,BPEL 提交结构化信息标准促进组织(OASIS)以实现标准化,并组建了Web服务业务流程执行语言技术委员会(WSBPEL TC)。该努力使BPEL在业界获得更广范围的认可。
在企业内部,BPEL用于标准化企业应用程序集成以及将此集成扩展到先前孤立的系统。在企业之间,BPEL使与业务合作伙伴的集成变得更容易、更高效。BPEL激发企业进一步定义它们的业务流程,从而导致业务流程的优化、重新设计以及选择最合适的流程,进而实现了组织的进一步优化。BPEL中描述的业务流程定义并不影响现有系统,因此对升级产生了促进作用。在已经或将要通过Web服务公开功能的环境中,BPEL是一项重要的技术。随着Web服务的不断普及,BPEL的重要性也随之提高。

浙公网安备 33010602011771号