`
sswh
  • 浏览: 161722 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

140715_OSGi运行环境和参考资料

    博客分类:
  • OSGi
阅读更多

开篇 OSGi运行环境和参考资料:

 

参考资料:

OSGi联盟的官方站点:http://www.osgi.org/Specifications/HomePage

这儿可以找到OSGi规范的英文版本,以及OSGi规范的API

 

OSGi R5中文版:CSDN 不才的专栏正在翻译:

http://blog.csdn.net/wzumath/article/category/1936125

 

OSGi R4中文版:网上有范里程翻译,曹晓钢审校的版本

 

OSGi中文社区也是不错的参考:http://osgi.com.cn/

 

运行框架

可选Equinox,或者Felix

EquinoxEclipse的基础。FelixApache的实现。

Felix提供了对OSGi 核心框架R5的实现,目前最新版本是4.4

相对而言,我更喜欢Felix,更纯粹一些(外部耦合),开发很活跃(更新比较快),适合对OSGi的仔细梳理和理解。

Felix官方站点:http://felix.apache.org/

 

 

开发环境

开发环境可选Maven或者bndtools

关于开发环境的选择,可能各有利弊,考虑到对Mavenbndtools的熟悉程度,初步先选择Maven吧。此外,可能还有以下原因:

  • Maven中央仓库已经积累了大量的第三方JAR包,这些JAR可能是Bundle的、或者非Bundle的库。作为开发期依赖,这些库全部可以利用。而Bndtools开发期的库的依赖只能是Bundle。对于大量的非Bundle的库,需要加以改造。
  • 扩展性:Maven的插件体系方便扩展。
  • 不足1:相对于bndtools的构件自动打包,Maven的打包显得不方便。不过可以借助Eclipse快捷键执行Maven-Install动作,或者制作一个EclipseBuilder,来提供自动打包的功能,以弥补此处不足。
  • 不足2:对于Felix的运行,bndtools提供了一个比较方便的测试运行环境,并且通过对于运行Bundle的依赖分析,自动将依赖项加入运行环境中。对Maven而言,可以自行开发扩展实现可视化的运行环境配置以及依赖分析功能。

 

此外,作为核心的Manifest元数据生成,使用Maven或者bndtools没有区别,无论Maven-bundle-plugin或者bndtools,底层都是使用BND工具来分析class文件,生成bundleExportImport-Package信息。

另外提一下,BNDPeter Kriens写的一个Bundle文件生成库(核心是Manifest元数据的分析和生成,但不只限于此,比如还包括嵌入式资源处理等)。BND有大量的参数,可以参考其官方网站:http://www.aqute.biz/Bnd/Bnd

对于Peter Kriens,有媒体称作是OSGi的推动者之一,甚至称作OSGi之父。总之,是对OSGi发展有相当影响的人。infoQ上有一篇专访可以参考:

http://www.infoq.com/cn/articles/Peter-Kriens-Returns-To-OSGi-Alliance

 

其他的:

JDK选用1.6

Eclipse选用4.3以上的JavaEE版本,已自带了Maven

 

可选安装Subclipse插件、org.sf.easyexplore插件等。另外,推荐安装bndtools插件,主要使用其中的JARViewer来查看Manifest文件。

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics