BPEL 流程监督的策略与方面
在面向服务计算范式推动新一代应用程序发展的背景下,BPEL(Business Process Execution Language)作为指定业务流程的事实标准,其执行依赖于外部 Web 服务。然而,这些外部服务不一定由流程所有者管理,因此需要不断验证各方交互的正确性,并在出现问题时采取合适的恢复策略。
1. 背景与目标
服务导向计算范式下,Web 服务通过基于 XML 的协议(如 SOAP)和描述(如 WSDL)进行互操作。BPEL 流程指定了何时调用 Web 服务以及要交换的数据,但未明确交互的具体方式,如安全、事务和消息可靠性等方面。
BPEL 提供了特定的补偿处理程序,但当前版本的功能有限,补偿活动基于流程状态的快照执行,无法修改“实时”变量,且补偿决策需在设计时硬编码并在 BPEL 流程中实现。
目前已有一些监控和恢复方法,但缺乏同时包含监控和恢复,且考虑设计时规范和运行时管理的全局解决方案。
本文的目标有两个:
- 提出一个用于定义受监督 BPEL 流程的设计过程模型,从附加到外部 Web 服务的策略自动生成监督规则,使用 WSCoL(Web Service Constraint Language)定义策略和监督规则,并引入 WSReL(Web Service Recovery Language)定义反应策略。
- 提出新版本的 Dynamo(Dynamic Monitoring),这是一个基于 AOP(面向方面编程)的框架,用于执行受监督的 BPEL 流程,监控执行并在出现异常交互时实施恢复策略。
2. 运行示例
以汽车服务领域为例,
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



