论文部分内容阅读
随着现在网络技术的发展,分布式架构被认为代表了面向服务架构(Service.Oriented Architecture,SOA)的未来发展趋势。为了实现SOA这种理论框架,与其使用一个实用的软件架构,业界更倾向于使用一个宏观的系统,但现在急需解决的问题是目前还没有一个标准的开发模式来实现SOA。另一方面,随着网络技术和软件技术的飞速发展以及更加庞大的商业需求的不断演变,对于系统支持异构模块动态发布、运行时刻模块动态管理、敏捷开发等软件架构技术已成为软件工程领域的研究热点,受到越来越多从事IT行业研发的企业及个人的关注。SOA本质是一种系统架构的设计思想,SOA可以代表一种系统模型,其中的自动化逻辑可分解为小的、不同的逻辑单元,这些单元可以组成一个大的业务自动化逻辑片段,也可以对这些单元进行独立地分布式部署。另一方面,OSGi致力于把单个服务作为最小单元,通过提供实用的软件架构来支持SOA。但是OSGi具有只能在一个JVM中实现服务单元之间的通信而不能扩展到不同的JVM甚至不同的物理机器的缺点。本文在深入研究了SOA和OSGi的基础上,提出了利用Apache cxf和OSGi为为软件基础框架实现了一个能够随时进行服务加载、卸载及更新的分布式OSGi框架,同时利用该框架实现了一个插件式、分布式的视听播放系统(数字标牌系统)。在介绍相关技术时,重点研究了分布式理论和OSGi技术,其中分布式理论重点介绍了Java RMI远程方法调用和Web Service平台,OSGi技术重点研究了OSGi的最小单位Bundle生命周期的状态分析和Bundle的类加载规则。在介绍相关技术后,通过需求分析、实现分析、实现目标、安全性研究等几个方面介绍了分布式OSGi的研究方法,接着介绍了分布式OSGi的总体架构和基础通用类的设计,最后详细介绍了框架的设计。分布式OSGi框架主要包含服务管理和插件管理功能,服务主要是通过Apache cxf实现服务的发布和调用,插件管理主要是通过OSGi平台提供的相关命令进行运行时动态管理。最后以实际的视听播放系统验证了分布式OSGi框架的可用性,在前面的分布式OSGi框架分析的基础上,实现了分布式OSGi框架,包括OSGi Bundle元数据的配置、服务的发布和调用、插件管理功能、缓存和安全算法功能的实现,最后将该框架应用于数字标牌系统,通过最后的系统测试验证了框架的可用性。