开篇 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。
Equinox是Eclipse的基础。Felix是Apache的实现。
Felix提供了对OSGi 核心框架R5的实现,目前最新版本是4.4
相对而言,我更喜欢Felix,更纯粹一些(外部耦合),开发很活跃(更新比较快),适合对OSGi的仔细梳理和理解。
Felix官方站点:http://felix.apache.org/
开发环境
开发环境可选Maven或者bndtools
关于开发环境的选择,可能各有利弊,考虑到对Maven或bndtools的熟悉程度,初步先选择Maven吧。此外,可能还有以下原因:
- l Maven中央仓库已经积累了大量的第三方JAR包,这些JAR可能是Bundle的、或者非Bundle的库。作为开发期依赖,这些库全部可以利用。而Bndtools开发期的库的依赖只能是Bundle。对于大量的非Bundle的库,需要加以改造。
- l 扩展性:Maven的插件体系方便扩展。
- l 不足1:相对于bndtools的构件自动打包,Maven的打包显得不方便。不过可以借助Eclipse快捷键执行Maven-Install动作,或者制作一个EclipseBuilder,来提供自动打包的功能,以弥补此处不足。
- l 不足2:对于Felix的运行,bndtools提供了一个比较方便的测试运行环境,并且通过对于运行Bundle的依赖分析,自动将依赖项加入运行环境中。对Maven而言,可以自行开发扩展实现可视化的运行环境配置以及依赖分析功能。
此外,作为核心的Manifest元数据生成,使用Maven或者bndtools没有区别,无论Maven-bundle-plugin或者bndtools,底层都是使用BND工具来分析class文件,生成bundle的Export、Import-Package信息。
另外提一下,BND是Peter 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文件。
相关推荐
tomcat 服务器集成开发osgi框架,运行osgi应用程序
这个是eclipse OSGI 实战,里面介绍了很多osgi的知识,还有一个进行osgi编程的例子,发出来给大家共享一下,希望有帮助
OSGI 的 源码实现,采用JAVA书写,其框架很有借鉴意义。
osgi原理讲解,讲解OSGI基本原理和代码
Felix_OSGi实作,介绍最流行的OSGI framwork-Felix的好文档
Eclipse 3.0采用OSGI作为其插件体系结构
C#版OSGi模块化框架,本代码来源自Github
OSGi(Open Service Gateway Initiative)指OSGi Alliance组织制定的一个基于Java语言的服务(业务)规范——OSGi服务平台(Service Platform)。 它被广泛应用于嵌入式系统中,大名鼎鼎的eclipse也是基于此框架的,...
it_ismb_pert_osgi_dal_web-apis-源码.rar
吉比特3101升级包
Enterprise OSGi is a set of standards for building modular Java applications which integrate seamlessly with existing Java EE technologies. It extends the OSGi component framework to distributed ...
OSGI in practice,详细介绍OSGI技术开发过程
OSGi document describing the modular system & service platform (plugins, classloaders, etc) used for Java programming.
JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。文件里面包含jmx开发5个常见的jar包,其中还有些example。
DOOR_BLE_OSGI_BUNDLE TinyB和OSGI Java捆绑包
基于OSGi框架之开发环境搭建基于OSGi框架之开发环境搭建
教你如何实现osgi服务 如何在_WebSphere_Application_Server_V8_中实现_OSGi_动态服务功能
吉比特3101升级包
这是来自cnblogs博主 静默虚空 的文章 ,为方便离线查看,转存为了pdf
OSGI环境搭建以及在搭建环境的基础上面附带一个小例子,让你熟悉osgi开发流程