OSGI的插件规范技术

来源:互联网 发布:牙签弩在淘宝怎么搜索 编辑:程序博客网 时间:2024/05/06 01:50

OSGi是Open Service Gateway Initiative的简称,该组织建立于1999年,是一个非赢利机构,旨在建立一个开放的服务规范,为通过网络向设备提供服务建立开放的标准。

Oscar
Oscar是一个遵循OSGI R3规范的开源实现,它提供了大量扩展OSGI R3规范的Bundle,为开发基于OSGI的系统提供了方便。 

Knopflerfish
Knopflerfish项目的目的是实现相关OSGI技术规范并提供易于使用,开源的OSGI开发工具与应用程序。它本身是一个相当标准OSGi框架,提供了绝大多数标准功能,但是无论在人气上,开发进度上,文档完善上都不如其他的三者 
 
Felix
Felix实现OSGi R4规范(包括OSGi框架,Standard Service和其它OSGI相关技术)的一个开源项目。Felix当前还处于Apache的孵化器中。      Apache Felix是Apache旗下的一个OSGi框架,项目本身非常成熟,已经被用到了很多其他的项目中,例如Apache Servicemix。它本身提供的服务也是最全的,几乎涵盖了全部的OSGi 4.2的标准。除此之外还提供了一些非标准的功能,例如iPOJO。框架本身非常紧凑,你只需要3个包加一个shell就可以运行了,无论是开发还是Debug都非常简便。除了Felix,还有两个项目是和OSGi相关的。一个是Apache Felix Karaf,它本身是Felix的一个子项目,但他其实是封装了Felix提供更高一层的Runtime,例如提供了JAAS。另一个是Apache Aries,目前还处于起步阶段,它作为Felix的补充,提供OSGi企业级规范,包括JPA、JDBC、JTA、JNDI等等。
 
Equinox 
Equinox是OSGi R4 core framework的一个实现,一组实现各种可选的OSGI bundle和一些开发基于OSGi技术的系统所需要的基础构件。Eclipse IDE是基于Equinox项目开发的一个典型例子。

 

virgo是Spring DM 的替代 畸形的需求产物

      Spring DM是Spring旗下的OSGi框架,Spring我想大家都知道了,Spring DM的最大特点就是结合了Spring框架。我之所以说特点还不是优势,是因为我认为这个需求本身就是错误的。Spring和核心就是一个IoC,当然后来它的外延扩大了,提供了越来越多乱七八糟的功能。OSGi规范本身就制定了一系列IoC的功能标准,尤其是其中的BluePrint其实相当多的借鉴了Spring,因此完全没有必要再引入Spring充当新的IoC了。Spring本身无论是ClassLoader还是配置文件上都与OSGi格格不入,之所以有这种需求是因为现在有大量基于Spring的项目想要过渡到OSGi上。Spring还发布了一个App Server叫Spring DM Server,是一个基于Spring DM的App Server,你会发现你需要加载80+的包来完成一个hello world操作,这种恐怖的依赖性正是Spring所带来的。


*********************************************

郑州就维 35766615

 

0 0
原创粉丝点击