快速业务通道

初探Java企业级开源框架OSGi - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16

初探Java企业级开源框架OSGi

时间:2011-06-25 51cto

第一次接触OSGi 是2006年看见的一则网上新闻,该新闻中提到BMW 汽车的通信-娱乐(infotainment)系统采用了OSGi 架构,这套系统主要用来控制汽车上的音箱、灯光、导航和通讯等设备,整个系统由1000多个模块组成,启动时间却只需要3.5秒钟,这对于一个基于Java 的框架来讲,具有两个重大意义:一、说明了Java 执行效率并不差;二、OSGi 框架的性能尤其优秀。因此笔者对OSGi 框架产生了极大的兴趣,后来终于在一个项目中负责研究和开发基于OSGi 框架的应用程序,从此对它便情有独钟。令人欣慰的是,OSGi 在2007年取得了诸多战果:BEA 公司、Eclipse 基金会和Interface21 公司相继加入OSGi 联盟;在EclipseCon 2007大会上引起了业界的广泛关注,其中以Spring-OSGi、Web Service 与OSGi 等技术最为引人注目,这也标志着OSGi 将在未来与企业应用紧密结合;OSGi R4 标准发布,相关内容被成功的写入JSR 291 规范中;Spring 2.5 框架的发布,宣称其所有jar 包都兼容OSGi 标准;虽然OSGi 没能成功进入JavaEE 6 草拟计划中,但是Sun 公司宣称会在下一代Java EE 标准中重点考虑OSGi。因此笔者个人认为,在不久的将来OSGi 势必会在企业应用中发挥出强大的作用,基于OSGi 框架的产品也将层出不穷。本文从OSGi 的历史背景、OSGi 的特点、OSGi 开源框架介绍、OSGi 开发环境部署、OSGi 版的Hello World 五个部分对OSGi 框架进行概要的介绍,希望读者能从中有所收获。

OSGi 的历史背景

什么是OSGi 呢?OSGi——Open Service Gateway Initiative 字面上的意思是一个公共的服务平台。1999年OSGi 联盟成立,它是一个非盈利的国际组织,旨在建立一个开放的服务规范,为通过网络向设备提供服务建立开放的标准,是开放业务网关的发起者。OSGi 联盟的初始目标是构建一个在广域网和局域网或设备上展开业务的基础平台。历史总是具有惊人的相似性,正如Java 诞生于一个嵌入式开发的项目中,却被应用于网络平台的开发,对OSGi 的最早设计也是针对嵌入式应用的,诸如机顶盒、服务网关、手机、汽车等都是其应用的主要环境。后来,由于OSGi 的诸多优秀特性(可动态改变系统行为,热插拔的插件体系结构,高可复用性,高效性等等),它被应用于许多PC 上的应用开发,因此逐步为开发者所知和钟爱。现在人们对OSGi 的理解已经远远不是它字面和初衷所能解释的了,笔者认为称其为一个轻巧的、松耦合的、面向服务的应用程序开发框架更为确切一些。

OSGi 真正被大家所知还是和Eclipse 有密切关系的。Eclipse 很多年都是Java 开发者的首选IDE,相信只要是一个Java 开发者,应该没有人不知道Eclipse 的。在Eclipse 3.0 以前的版本中,它本身有一套自身的插件体系,而该插件体系的设计非常精巧细致,受到许多开发者的推崇,但是Eclipse 基金在Eclipse 3.0 发布的时候,做出了一个大胆的行为,就是将Eclipse 逐步迁移到OSGi 框架中,并自己实现了一个OSGi 开源框架,取名为Equinox,该框架随着每次Eclipse 的发布也会相应的更新。Eclipse 之所以这么做,其一是因为Eclipse 的插件体系与OSGi 的设计思想不谋而合,其二也是因为OSGi 更为规范,其对插件体系的定义也更为完整一些。事实证明Eclipse 在采用OSGi 架构后,无论从性能、可扩展性这两个方面来讲还是从二次开发的角度来定义,都取得巨大的成功。下图展示了Eclipse 与OSGi 框架的关系。

初探Java企业级开源框架OSGi - 编程入门网

初探Java企业级开源框架OSGi(2)

时间:2011-06-25 51cto

OSGi 的特点

在介绍OSGi 框架的特点之前,先简单的介绍一下OSGi 框架的各个部分,如下图所示。

初探Java企业级开源框架OSGi - 编程入门网

解释一下上图中每一层的含义,其中OS 层和JVM 层可以不用详细介绍了,重点需要关注的

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号