Web服务组装正成为Internet环境下应用程序的主流开发范式。由于Web服务及其组装部署且运行于一个动态环境中,适应性Web服务组装是一个值得研究的重要问题。本课题从可变性管理的角度,研究适应性Web服务组装的方法、语言和支持工具。提出的方法将服务组装中的可变性因素视为第一类设计对象,在设计阶段引入可变性定义与表示,在部署和运行阶段支持可变性的执行与管理。本课题拟解决将可变性管理应用到适应性服务组装中的几个关键问题,包括(1)服务组装的可变性管理框架,(2)服务组装中的可变性建模,(3)运行时服务组装中的可变性的执行与管理,(4)弥补服务组装语言BPEL对可变性管理支持的不足。上述关键问题的解决以及拟开发的可变性管理支持平台,将为Internet环境下适应性应用程序开发提供方法论和工具支持。
Service Oriented Architecture;Service Compositions;Variability Management;Variability Modeling;BPEL
Web服务组装逐渐成为Internet环境下的应用程序的主流开发范式。与传统应用程序相比,基于服务的系统构造存在很大的区别。如何支持灵活的服务组装、增强基于服务的系统的适应性是一个非常重要的问题。围绕着适应性服务组装的已有工作,探讨了如何基于Aspect技术或采用代理机制解决Web服务组装的适应性问题。这些方法都是基于运行时的服务组装实例、仅从服务组装的实现层上考虑适应性问题,忽略了如何从服务组装的规格说明层考虑适应性问题,存在不易维护、技术实现复杂、影响了服务组装性能等缺点。本课题从可变性管理的角度探索适应性服务组装问题,旨在研究基于可变性管理的适应性Web服务组装方法及其支持平台。从规格说明层考虑服务组装的适应性问题,将服务组装中的可变因素作为第一类设计对象并实施可变性管理,着重解决了如何增强服务组装在设计、部署和运行时的可变性、如何显式地表达和管理服务组装中不稳定或可变的因素等关键问题,取得了如下重要成果 (1)面向服务组装的可变性管理框架扩展COVAMOF可变性管理框架并应用于Web服务组装中的可变性管理中。该框架是可变性设计语言与支持工具开发的基础。 (2)支持可变性设计的服务组装语言VxBPEL通过扩展服务组装语言BPEL,提供灵活的可变性构造子。可变性构造子与BPEL提供的标准组装构造子的风格相似,体现了明确的可变性语意,内嵌在服务组装规格说明中。VxBPEL弥补服务组装语言BPEL对可变性管理支持的不足。 (3)基于可变性的适应性服务组装方法该方法识别服务组装中的潜在的变化,在服务组装的设计阶段定义与配置可变性,在运行阶段解释执行可变性定义与配置。该方法具有易于理解、易于维护和易于扩充等优点。 (4)基于可变性管理的适应性服务组装支持平台对基于可变性的适应性服务组装方法提供完整工具支持,包括VxBPEL引擎VxBPEL Engine、可视化的可变性设计工具VxBPEL Designer、可变性分析与维护工具ValySec,可变性运行时管理工具VxBPEL Manager。 (5)实例研究与经验评估采用三个实例系统验证了基于可变性的适应性服务组装方法的可行性,评估了支持平台的性能。上述研究成果提供了适应性服务组装方法论和工具支持,发表论文20篇,申请国家发明专利4项,登记计算机软件著作权10项,国际同行他引100余次。