软件容错是通过冗余保证系统可靠性和可用性的关键技术,使得系统在部分发生失效时仍能正常工作。
BPEL目前已经成为Web服务组合方面的事实工业标准。
BPEL中故障处理机制
在BPEL中,一个组合Web服务用一个process描述,其中的每个元素称为活动。活动包括基本活动(Basic Activity)和结构化活动(Structured Activity)两种。
基本活动负责实现一定的原子功能,如<Receive>、<Invoke>等;结构化活动用于定义基本活动之间的执行次序关系,如顺序、循环等。
作用域(Scope)是BPEL中最重要的一类结构化活动,为活动提供执行上下文。Scope可以利用Fault Harndler和Compensation Handler为它所包含的活动提供事物和异常处理。当Scope的主要活动在执行过程中出现故障以后,就会终止当前活动的执行并转入对应的Fault Handler中。因此,故障处理程序是Scope在非正常情况下的执行行为。