OSGi动态组件管理平台的研究与实现

来源 :科技资讯 | 被引量 : 0次 | 上传用户:ganmaogaishilangren
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本文基于OSGi规范和OSGI框架的运行原理和编程模式对OSGi框架应用程序的设计方法和利弊进行深入的探讨,并且完成了动态组件管理平台和Web服务动态管理模块的实现。
  关键词:OSGi框架 动态组件管理 动态管理模块
  中图分类号:TP31 文献标识码:A 文章编号:1672-3791(2013)07(b)-0030-01
  本文以Eclipse基金会实现的OSGi规范的Equinox框架为核心,以Spring Dynamic Module框架作为OSGi环境下的Web容器,使用Apache CXF DOSGi框架作为在OSGi环境中发布和部署Web Service的框架提出了OSGi的动态组件管理平台的设计。这个平台以OSGi插件的形式开发,可以直接嵌入到基于OSGi的系统中,实现对OSGi环境的动态化远程管理,使开发者可以在远程安装、启动、停止、更新、卸载插件等操作,还可以做到动态的进行的Web Service的发布和注销,为应用程序开发人员和部署人员提供了一个远程管理应用程序的平台。所设计的这个平台具有易部署、易使用、易管理、即安即有、即删即无的特点。
  1 OSGi规范
  OSGi规范是OSGi联盟制定的一个基于Java语言的服务规范。其核心框架规范提供了一个通用、安全、可管理的支持以Bundle(在OSGi规范中,将模块命名为Bundle,在OSGi框架中采用Bundle的方式来组织和部署系统)方式下载并扩展布署的Java框架[1]。
  OSGi的体系结构主要包括5个部分:(1)运行环境是Bundle应用所依赖运行的Java执行环境。(2)模块层定义了Bundle应用的加载策略。(3)生命周期层可以动态地对Bundle进行安装、启动、停止、升级和卸载等操作,该层提供了一组API来控制Bundle的运行时操作。(4)服务层定义了一个集成在生命周期层中的动态协作模型,是发布、动态寻找、绑定的服务模型。(5)安全层的安全管理是基于Java2安全体系的,贯穿在OSGi平台的所有层中,它能够对部署在OSGi运行环境中的Bundle应用进行详细的管理控制[2]。
  2 动态组件管理平台的实现
  本系统的核心模块是OSGi Web Admin模块,其主体功能是给用户提供的B/S架构的用户界面,使得用户可以在浏览器上浏览网页的形式对OSGi环境进行一些操作,浏览器展示的页面接收到这些操作之后发送给后台编写好的Web Bundle,然后再Web Bundle中通过BundleContext对OSGi容器进行相应的控制和操作[3]。这些操作包括:Bundle的安装、启动、停止、更新、卸载等。这个系统中有个很重要却比较难实现的部分,就是Web Bundle的上传安装和上传更新。
  在OSGi环境中,通过每个Bundle的BundleContext对象可以获取到OSGi环境中运行的所有的Bundle的各种信息,也可以对OSGi环境进行各种管理,其中核心的函数有update、installBundle、start、stop等等。
  在系统的设计中比较关键且难度高的模块是Web Bundle的安装和更新。在Java中的Web应用程序中有很多的资源文件,如:html文件、图片文件、资源文件、样式列表文件、jsp文件、java源文件等等。为了不忽略掉大部分和Web应用程序有关的资源文件,在设计本系统的时候采用了对Web Bundle进行zip打包;另一方面,为了不降低这个系统的可用性和可操作性,本系统在后台实现了一个Web应用程序的编译模块,只要用户把自己开发的Web应用程序直接打包成Zip包,上传到Web Admin Bundle,OSGi环境中的Compiler模块便会完成对这个Web Bundle的编译工作。
  3 Web服务动态管理模块设计
  基于OSGi的Web服务的动态管理的实现主要分为以下三个方面。首先,这个模块需要设计成一个OSGi插件(图2中的WebServiceFactory模块)运行在OSGi环境中并能和上一章中实现的动态组件管理模块系统工作。其次,需要实现Web服务的动态发布和动态注销。最后,需要实现能够在整个OSGi环境中搜索可用的Web服务并呈现给管理员,是管理员能够随时详细的了解系统中运行的Web服务的详细信息。
  基于OSGi的Web服务动态管理模块的前台展示出OSGi环境中所有可用的Web服务,也就是WebService爬虫程序搜索的结果。点击“Add a New Endpoint”按钮就会发布一个新的Web服务,在这里添加所要发布的Web服务的地址便可实现Web服务的动态发布,发布成功后点击“Remove”按钮即可删除相应的Web服务,而点击“WSDL”按钮可以查看相应Web服务的WSDL描述,完成基于OSGi的Web服务动态管理模块的实现。
  4 结论
  OSGi给Java带来了模块化,这个技术在Java能触及的应用领域都得到很很广泛的关注和应用。本文研究并实现了基于OSGi的动态组件管理平台和Web服务动态管理模块,并对OSGi的企业级应用开发模式进行了深入的研究。对于Web日益兴盛的今天具有一定实用性,对于把OSGi应用到企业级领域具有一定的推广意义。
  参考文献
  [1] 林昊,曾宪杰.OSGI原理与最佳实践[M].北京:电子工业出版社,2009.
  [2] 刘陈,张峰.基于OSGi的短信平台设计[J].航空计算技术,2008(6).
  [3] 一种基于OSGi的服务动态化模型应用[J].计算机系统应用,2011(12).
  [4] 周明辉,张益菲,梅宏.面向OSGi的应用服务器重构[J].计算机科学与探索,2010(2).
其他文献
我校自2003年9月开展“基于课例”的校本教研活动。我们将教研活动的过程可分成两个阶段、五个步骤。两个阶段是指试教初研阶段;再教深研阶段。通过这两个阶段,使教师在试教、
面对日益严重的自然环境与建筑能耗问题,绿色建筑越来越成为未来建筑业发展的主流和建筑业可持续发展的必然选择。本文通过对绿色建筑发展现状、意义的阐述,探讨了我国绿色建
在现代社会中,无论用传统的纸笔还是用最先进的电子邮件传递信息,写作都是非常重要的.所以新课程标准对高中英语写作目标作了改革与调整。高中毕业时达到八级的要求是:能根据所读
如何做好特困离退休人员的服务管理工作,建立健全特殊困难离退休人员的帮扶机制,是做好新时期离退休工作的一项重要内容,是维护改革、发展、稳定大局,也是构建社会主义和谐社会内
娄台子铁矿二采区内223m以上矿体已经回采完毕,为了充分回收地下铁矿资源,消除安全隐患,控制在大的暴露面积情况下可能的发生大规模冒落,同时为了使矿山深部矿体能按正常的顺序回
介绍了罗非鱼越冬养殖中后期最容易被忽视且损失巨大的罗非鱼氨气中毒现象,对其临场症状进行了描述;对罗非鱼疑似链球菌病的简易排查、诊断及相关误区进行了分析,阐述了越冬罗非
司法是一个国家法治不可或缺的组成部分,担负着解决纠纷、处理矛盾和维护稳定的重大使命。通常认为,司法是维系社会公平和正义的化身,是捍卫社会公正的屏障。十八届四中全会