论文部分内容阅读
随着Internet逐步演化为一个全球最大规模的开放计算平台,面向服务的计算(SOC)成为了Internet开放环境下构建应用解决方案的一种重要计算范型。Web服务标准的出现为Internet环境下SOC的实现提供了切实可用的基础技术;进一步,基于工作流(或称为“过程”)的Web服务组合技术可方便有效地协同企业组织内外各种服务资源以构建新的服务应用,成为目前服务计算应用和研究的热点。然而,主流工作流和服务组合技术多源于传统静态环境,难以充分适应开放网络环境下用户需求和计算平台的多变性。 适应环境和需求变化的一个重要途径是让运行中的过程能够动态地更新以应对变化。虽然目前已有一些研究工作试图从不同的侧面改善过程的灵活性,但它们未能直接支持过程的动态更新。本文在既有工作的基础上,以基于服务组合的过程技术为切入点,提出了一种支持动态过程更新的过程引擎技术框架。该框架在过程模型层面提供了更加灵活的表达机制,在过程实例层面提供了动态过程更新所需的的状态判定和具体实施技术。具体而言,本文的主要工作包括: 提出了一种支持动态过程更新的过程引擎技术框架。我们的框架首先采用“关注分离”的思想,提供面向方面的建模设施,支持用户在业务过程中对来源于不同需求关注点的行为进行分离和封装,从而使得用户可以方便的对需求变化进行过程建模;其次,在过程引擎层面提供过程方面动态编织和过程实例动态更新至新过程模型的运行支持机制,使得用户可以通过在线增删相关过程方面的方式来实现过程的动态更新。 给出了该技术框架的关键支撑技术。针对BPEL过程语言,在过程模型设计层面上,借鉴相关工作,给出了一种面向方面的BPEL过程语言扩展,支持面向方面的过程建模;在过程运行支撑层面上,提出了一种过程安全状态的判定算法和一种可行的过程状态转移描述方法,从而可以让引擎可以在无用户干预或尽可能减少用户干预的情况下,自动、安全地完成过程实例的动态更新。 基于开源的jBPM过程管理系统,设计并实现了一个符合上述技术框架的引擎,并在一个购物的应用场景中展示了某购物过程的动态更新。该实现展现了本框架下的开发流程,并初步验证了动态过程更新的可行性和有效性。