论文部分内容阅读
目前的许多软件系统需要为客户提供不间断的服务,软件在线演化技术因此成为当今软件维护领域的一个重要研究课题,能否提供不间断的服务正在成为人们衡量软件系统的一项重要指标。随着面向服务体系架构(SOA)研究的愈发成熟,出现了很多以服务组件为粒度构造的系统,以服务为粒度实现在线演化不仅能提高软件复用水平,而且服务本身的独立和良好的演化性,能降低软件在线演化成本。
本文首先介绍了在线演化的概念和分类,并介绍了根据演化粒度来区分的软件演化发展的几个阶段,从面相过程到面向对象再到面相构件之后到面向服务的演化,并介绍了各个发展阶段软件演化的特点和相应研究成果。其次初步介绍了Web服务的定义、特点、体系结构、协议栈和核心技术,还介绍了面向服务的体系架构(SOA)的概念、优势和与Web服务的关系。之后介绍了Web服务在线演化对过程的影响,又介绍了在线演化所需要面对的问题,并提出相应的解决方案,重点研究并解决了Web服务在线演化过程中服务调用透明性问题,为之后系统的以服务为粒度的在线演化提供了理论支持。再次以在线商品交易信息服务系统为例实现基于Web服务的在线演化,先讲述了系统的概述和主要功能模块,然后给出系统在网络上布局的整体架构,之后根据之前的演化技术理论分析,改造Web服务体系结构,并以此构造了系统的体系结构,对各个功能模块、数据库表和Web服务进行详细设计。最后用代码实现系统查询商品模块的Web服务层,其中包括Web服务类的构造、Web服务在Axis服务器上的部署、客户端调用Web服务,并模拟实现Web服务的在线演化,通过重定向服务类将新Web服务的引用提供给客户端。
本文详细阐述了以Web服务为粒度的在线演化所需要面对的技术问题,并详细的介绍了在线演化过程中服务调用透明性问题,提出解决思路和相关技术,最后以在线商品交易信息服务系统为平台验证了思路的可行性。