论文部分内容阅读
近年来随着软件技术的飞速发展,基于构件的软件开发方式已经成为软件工程领域的发展趋势。通过复用已有的构件,软件开发者可以快速构造大型的应用软件,这大大节省开发时间和经费,提高了工作效率。其中OSGi (open services gateway initiative)作为一种成功的构件平台模型,已经在软件构件领域得到广泛应用,但是OSGi规范本身并不是为分布式环境所开发的,于是产生了以OSGi为基础,为适应分布式环境而建立的R-OSGi平台。构件技术在给软件危机带来了曙光的同时,也给基于构件的应用软件带来了系统可靠性上的挑战。大部分的构件平台本身并不提供容错机制,当构件发生异常时,平台会将异常交由构件的调用者处理。为了增加系统的可靠性,编程人员往往需要编写大量的错误处理代码,这极大的增加了编程人员的负担。此外一般的应用程序开发者对容错逻辑的设计缺乏经验,兼具应用逻辑和容错逻辑的设计人员相对较少,这使得容错应用的开发成本显著增加。基于此,本文针对OSGi平台,提出了一种容错OSGi的解决方案:基于代理的可容错OSGi平台扩展。在基于代理的可容错OSGi设计框架中,文本首先从设计架构出发,提出了基于代理管理器、调度管理器、调用日志管理器、依赖管理器和错误修复管理器的设计架构,架构允许用户灵活对容错策略以及错误报告进行配置,这使得服务开发者能参与到底层的容错设计中,服务管理者能参与到容错管理工作中来,显著的提高了基于代理的可容错OSGi架构的灵活性。随后文中对基于代理的可容错OSGi架构的各组件功能和其内部调用流程进行详细的描述,定义了各组件之间的调用条件与规则。在基于代理的可容错OSGi框架的具体设计与实现上,本文首先对框架的设计架构进行描述,详述了八个模块在OSGi启动时的实例化过程,并对各个接口的方法进行了详细的定义和方法实现的阐述。最后本文通过模拟网络商务平台的测试实验,验证了基于代理的可容错OSGi架构的容错功能,并对下一步的研究做出了展望。