Knopflerfish项目的目的是实现相关OSGI技术规范并提供易于使用,开源的OSGI开发工具与应用程序。
Equinox是OSGi R4 core framework的一个实现,一组实现各种可选的OSGI bundle和一些开发基于OSGi技术的系统所需要的基础构件。Eclipse IDE是基于Equinox项目开发的一个典型例子。
Oscar是一个遵循OSGI R3规范的开源实现,它提供了大量扩展OSGI R3规范的Bundle,为开发基于OSGI的系统提供了方便。
更多Oscar信息
Felix实现OSGi R4规范(包括OSGi框架,Standard Service和其它OSGI相关技术)的一个开源项目。Felix当前还处于Apache的孵化器中。
来自EclipseRT的Virgo Web服务器是一个完全基于模块化的Java应用服务器,设计用于运行企业Java应用程序和基于Spring框架开发的应用应用,具备高度灵活性和可靠性,提供一个简单但功能强大的开发、发布和服务企业Java应用的平台。
Apache Karaf是一个基于OSGi的运行环境,它提供了一个轻量级的OSGi容器,可以用于部署各种组件和应用程序。它提供了很多的组件和功能用于帮助开发人员更加灵活的部署应用,如:热部署,动态配置,能够集成到操作系统中作为一个服务,提供可扩展的shell 控制台,可使用任意SSH客户端连到Karaf并在控制台中运行命令,提供基于JAAS的安全框架,提供简单的命令来管理多个实例,可以通过控制台创建、删除、启动、停止Karaf实例等。同时Karaf作为一款成熟而且优秀的OSGi运行环境以及容器已经被诸多Apache项目作为基础容器,例如:Apache Geronimo,Apache ServiceMix,Fuse ESB,由此可见Karaf在性能,功能和稳定性上都是个不错的选择。
POJO是一个服务器组件运行时,目标在于简化OSGI应用开发。原生支持所有的OSGI活力。给予POJO的概念,应用逻辑开发简单。非功能性的属性在运行时被注入到组件中。
同样看看Felix对iPOJO优点的说明:
1. 组件被作为POJO开发,不需要其他任何东西
2. 组件模块是可扩展的,因此可以自由的适应需要
3. 标准组件模型管理service 供应和service 依赖,所以可以要求其他任何OSGI服务来创建组合服务,
4. iPOJO管理组件实例的生命周期和环境动态
5. iPOJO提供一个强力的组合系统来创建高度动态的应用
6. iPOJO支持注解,xml或者基于Java的API来定义组件
可以看到iPOJO的功能远比之前的几个解决方案要强大,除了支持Declarative Services已经实现的功能外,还提供了强大的注解支持,而且实现了组合系统,这些对于开发大型的复杂应用时非常有用的。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
OSGi中该使用Blueprint还是声明式服务?
在OSGi中,服务是实现bundle间交互和应用灵活性的基石。借助于服务,我们能够降低bundle之间的耦合,更加有利于软件的重用。
-
OSGi中的服务模型与扩展者模型
在OSGi中,实现bundle间交互和扩展性有两种常见的方式,也就是服务模型(service model)和扩展者模型(extender model)。
-
模块化和OSGi引领Liferay开源门户未来
IT解决方案公司怎样采用开源WEB门户平台,并把它转变为市场上可销售的产品?开源门户网站的未来又是怎样的?
-
Java百万富翁的诞生:Liferay和OSGi市场帮大忙?
智能手机的兴起,使用移动应用成为市场主流,成为一种时尚。也使一部移动应用开发者一夜致富。那么对于Java开发都有没有可能会一夜致富呢?