基于OSGI平台嵌入式Web技术浅析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于OSGI平台嵌入式Web技术浅析

基于OSGI平台嵌入式Web技术浅析   [摘 要] 随着Web应用的规模和复杂度不断扩展,传统模式下的应用开发、部署和运行已经不能满足日益变化的多样需求,因此对模块化应用系统和动态性应用服务的研究逐渐盛行。本文结合Java平台下的OSGI框架技术,对传统Web应用和OSGI Web应用这两者之间的开发,部署模式进行了细致的分析和研究,结合实例阐述了OSGI框架技术在实际Web应用开发中在平台模块化、服务动态插拔化等方面带来的优异解决方案。   [关键词] OSGI框架 模块化 Eclipse平台 Web应用      随着Java平台软件技术的不断持续发展,各种大型应用软件的开发、部署技术也日趋专业化和复杂化。为了避免和减少大型软件开发过程中出现的错误,大幅度提升应用软件的开发效率,同时对应用软件开发过程中出现的需求变化能够进行及时的响应,Java社区对软件开发平台提出了更高的要求,期盼应用系统在开发和部署上能够实现模块化、动态插拔等特性,这些需求直接促生了Java平台下OSGI标准的出现,为大规模软件应用的开发、配置和部署提供了优秀的解决标准和方案。   1.OSGI介绍   1.1什么是OSGI 呢?   OSGI(Open Service Gateway Initiative)指的是一个开放式服务平台,也特指一个开放的服务规范。建立之初的本意在于通过网络和设备提供多样服务,并建立一个开放的标准,成为开放业务网关的发起者。OSGI的最早设计是针对嵌入式应用的,诸如机顶盒、服务网关、手机、汽车等都是其应用的主要环境。后来,由于OSGI 的诸多其他优秀特性(例如:系统行为的动态性,模块的热插拔结构,框架的高可复用性和高效性等),它被延伸应用到了PC上的各种应用开发,成为PC设备上众多应用开发者的新宠儿。在PC平台上,现在的OSGI 已经成为一个模块化的应用开发框架,同时也为各类应用提供稳定高效,动态低耦合的应用部署环境。下图展示了OSGI框架中的具体层次关系。   1.2Eclipse和OSGI   谈起OSGI就不能不谈到Eclipse,作为Java社区众多开发者多年来首选的IDE,Eclipse工具自身也一直致力于系统模块化的发展、设计与实现。在Eclipse3.0之前的版本都有一套Eclipse自身的插件体系,设计相当精巧细致,为众多Java开发者所津津乐道和追捧。但是Eclipse基金会在Eclipse3.0发布时弃用了之前的插件体系,转而实现了一个基于OSGI标准的开源框架,称为Equinox。在Eclipse在采用OSGI架构后,无论从性能,还是可扩展性上来讲都取得巨大的成功。   1.3应用OSGI的长处   同传统的应用开发相比,从运行平台到开发过程,再到应用部署的各个环节,OSGI框架都体现出非同一般的优异表现,具体表现为:   1.框架的稳定性   OSGI的微内核特性使得系统稳定性得到极大的提升,不会因为系统内部的局部错误而导致系统的全局崩溃,这一点在对稳定性要求较高的应用而言是一个非常具有吸引力的因素。同时,按需启动和挂载服务,并启动特定bundle(功能完备的代码模块)的框架特性也是保证OSGI稳定的另外一个重要因素。   2.应用开发的高效性   通过直接利用OSGI 框架中出色的内置bundle来解决软件复杂度的问题。从应用开发的角度来讲,高复杂度,高耦合性是软件开发后期走向泥潭的主要因素。OSGI自身的系统Bundle帮助应用开发者摆脱应用与框架之间的复杂交互,使得开发者可以专注于开发特定的应用逻辑。为特定应用逻辑开发的bundle利用OSGI框架的动态插拔性是解耦的关键因素之一。依托于OSGI框架以及其提供的高效系统bundle能够极大的提高应用的健壮性和高效性。   3.应用部署的便捷性   基于OSGI的应用程序可动态更改运行状态和行为。在OSGI框架中,每一个Bundle实际上都是可热插拔的,对一个特定的Bundle进行修改不会影响到容器中的所有其他应用,实时运行中的其他应用bundle仍然可以照常工作。绝大多数服务都可以在框架中进行可控的动态安装和卸载。这种高自由度的可控性在根本层次上解决了应用部署中的一大难题,满足了不同环境下的服务动态插入和卸载要求。   2.OSGI与嵌入式Web应用   2.1传统的Web应用开发和部署模式   传统的Web应用开发都是基于多层次的模式进行的。举例来说,对于中小型站点,Web应用的运行要求和交互模式较为简单清晰,所以可以考虑使用二层模式,前端的显示层负责给用户展示和提供系统的各种功能和数据,而后端的数据存取层负责Web应用中的实际数据的物理存储和维护。虽然二层的开发模式清晰明了,但是存在的最大问题在于前

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档