论文部分内容阅读
面向服务的架构(SOA)是目前构建开放环境下分布式应用的一种主流范式。在SOA下,服务是开发者进行开发过程中的基本元素,而服务的组合与协同是应用构造的关键。软件体系结构模型和面向过程的BPEL语言是两种较为主流的刻画服务组合方法,它们针对不同的侧面进行服务协同逻辑的描述。与此同时,在开放难控的网络环境下,如何针对环境和关键需求的不断变化进行系统的动态演化,已经成为保持一个软件产品商业价值的关键因素。可视化、集成化的软件开发环境是提高软件开发效率、保证其质量的重要工具。目前虽已出现许多针对SOA的集成开发环境,但它们在SOA系统的动态演化支持方面仍有明显不足。为此,本文在总结基于软件体系结构和过程模型的已有动态演化相关理论,分析既有开发环境的基础上,提出了一个支持动态演化的服务集成开发环境框架。该框架能够在面向服务的架构下,指导用户在系统体系结构和基于工作流的过程两个不同侧面进行相关的服务组合建模、部署以及演化动作、运行时刻信息的集成工作,并且能够以可视化的方式展示系统不同层面的动态演化,从而让用户能够更加立体、全面的了解系统的结构和运行时刻信息。将上述框架与主流的集成开发环境开发平台与图形化编辑框架技术结合,我们设计实现了相应的原型系统,并基于系统进行了相应的案例研究。具体而言,本文工作包括以下几个方面:1)提出了一种支持动态演化的服务集成开发环境框架Artemis。我们首先总结了在软件体系结构和基于工作流的过程方向上动态演化技术的相关理论和工作,并对比分析了一些相关开发环境的特点。进而,针对现有工作在动态演化支持上的不足,面向开放环境中开发者对于服务集成开发环境的基本使用需求,从基于软件体系结构模型和过程模型两个侧面来支持系统图形化建模、实现和部署,并支持系统的动态演化。2)基于上述框架设计并实现了一个服务集成开发环境Artemis-VIDE,该系统以Eclipse平台作为其运行支撑,以插件的形式开发了相应模块。在已有相关工作的基础上,系统实现了基于体系结构和可变过程模型的图形化编辑建模环境和相关的演化支持模块,重点开发了在通讯模块支持下系统体系结构和过程演化的可视化展示功能。3)实现了一个基于Artemis-VIDE的应用案例:黄河下游工情险情会商系统。该案例模拟实现了系统在各种突发情况下的应急演化行为,探索和展示集成开发环境Artemis-VIDE在开发、部署和动态演化支持上的特点和优势,并初步验证了其对于用户在开发效率上的帮助。