Apache Felix是一个OSGi 4版本规范的Apache实现,而Equinox项目是Eclipse开源组织的OSGi R4版本规范核心框架的实现。
OSGi正在被越来越多的项目所采用。OSGi规范为以模块化形式编写和部署应用到本地或远程计算机提供了一个公共模型。与创建一个单一的不可分应用(monolithic app)不同,该规范允许众多小组件相互协作。这篇新闻为你展现了为什么有像OSGi这样一个规范是至关重要的,它真正包含了哪些内容,以及未来发展方向。 Apache Felix是一个OSGi 4版本规范的Apache实现,而Equinox项目是Eclipse开源组织的OSGi R4版本规范核心框架的实现。OSGi是一个基于Java的服务平台规范,其目标是被需要长时间运行、动态更新、对运行环境破坏最小化的系统所使用。有许多公司(包括Eclipse IDE,它是第一个采用OSGi技术的重要项目)已经使用OSGi去创建其微内核和插件架构,以允许在运行时刻获得好的模块化和动态组装特性。几个其他项目如Apache Directory、Geronimo、Jackrabbit、Spring以及JOnAS也都正在转向采用OSGi。
Richard Hall是该项目的提交者之一,他上个月在ApacheCon对Apache Felix项目作了介绍。他的介绍是从OSGi架构概览及其框架层开始的。他说任何应用,不论是嵌入式系统、客户端或服务器应用,都可以从在其使用OSGi实现过程中获取模块化和扩展性等益处。在介绍中,Richard还示范了在一个简单的基于Swing的绘图程序中使用Felix组件的例子。
InfoQ就Felix项目目标、当前状态、以及该框架怎样适合其他Apache项目等问题采访了Richard,尤其是那些在SOA栈中的项目,因为Felix也把提供面向服务组件模型作为目标。
Richard说Apache Felix项目是志愿者社区努力的结果。该项目的目标是使该框架易于嵌入其他项目中去。他说目前发布的1.0.1版本大部分符合了OSGi的R4规范,并且已经进行过OSGi TCK(Test Compatibility Kit)测试。TCK测试套件测试结果发布在Apache Felix 网站上。按照R4规范要求,目前主要缺少的一块是支持bundle fragment,这将在下一个版本中完成。Fragment是附属于主要应用bundle上的bundle。关于fragment一个比较好的例子是为不同地区翻译文件。Felix 1.0.2版预计很快就会发布。
针对Felix怎样适合Apache SOA项目(如ServiceMix和CXF)这一问题,他回答说,ServiceMix和CXF社区对OSGi技术都很有兴趣,而且OSGi平台为部署和管理那些使用了这些技术实现的服务提供了一个很好的环境。
企业SOA项目中依赖和版本管理及治理都在达成SOA利益过程中扮演着至关重要的角色,Felix能在企业级SOA实施中扮演什么样的角色呢?
至少,它给它们提供了一个平台。其中,它们可以以模块化的形式打包、部署、以及执行应用,以帮助它们进行依赖和版本管理。事实上,OSGi技术正是Java平台所缺少的模块化层。另外,OSGi平台还提供面向服务的应用模型,除了模块化之外,它还允许基于OSGi的应用按照面向服务原则来构建。
最新版Eclipse——Europa,是作为OSGi模块来打包的。有计划将Apache其他产品(例如Tomcat)也打包成OSGi模块吗?
Eclipse使用OSGi作为其插件的模块化机制。我们Felix的目标是让其它Apache项目将其产品打包成OSGi bundle。在Felix内部,我们已经开始为各种常用开源包的JAR文件创建bundle包装器,以帮助启动这一过程。很多情况下,这一工作简单到只需在已有JAR文件manifest中增加一些元数据即可,但是还有一些情况下,将已有项目与OSGi技术集成需要付出更多的努力。我们也正在与Maven社区一起工作,试图给每个Maven所创建的JAR文件中增加一些OSGi元数据,这将是一个好的开始。
Apache Felix的下一个重要版本将是1.2版本,它将会支持bundle fragment。有了对fragment的支持,Richard认为这个Felix将基本上符合R4规范要求,这将使其进一步符合R4.1规范过程更加容易。
今年初,Felix从Apache孵化器毕业,成为一个顶级项目;该项目团队在十月份发布了1.0.1版本。上个月,一个针对服务组件运行时(Service Component Runtime ——SCR)描述符的Maven插件发布了。该插件可以用来基于注解产生OSGi服务描述符。Felix也有了Eclipse集成支持,开发者可以在Eclipse IDE里运行Felix。Felix组件按照Apache软件许可证2.0(Apache Software License Version 2.0)来发布许可。
这是felix 以前版本的列表:http://archive.apache.org/dist/felix/
分享到:
相关推荐
这些子项目是Apache Felix项目下的一些附加工具和扩展,它们提供了额外的功能和服务来增强基本的OSGi实现。 在设置OSGi和Apache Felix环境的过程中,需要检查是否安装了合适的Java开发工具包(JDK)。接着,下载并...
通过逐一研究这些源代码,读者可以逐步学习OSGi的核心概念,了解如何在实际项目中运用Apache Felix。每个章节的代码都是一个精心设计的示例,旨在帮助读者理解OSGi框架的强大功能,并提供动手实践的机会。对于想要...
Apache Felix 演示(apache-felix-demo)通常是为了展示如何在 OSGi 环境中开发和运行应用程序,帮助开发者理解 Felix 的工作原理和使用方法。 在这个 demo 中,"order" 可能代表一个订单处理系统的实例,展示了...
9. **最佳实践和案例研究**:书中可能会包含实际项目中的案例,展示如何在真实场景中应用OSGi和Apache Felix,提供最佳实践和避免常见问题的建议。 10. **安全性和权限管理**:学习OSGi的安全模型,如何控制bundle...
2. **Apache Felix**:Apache软件基金会的项目,实现了OSGi 4.x规范。Felix以其轻量级、灵活性和对标准的严格遵循而受到青睐。它提供了一个强大的管理控制台和REST API,便于管理和监控OSGi环境。启动Apache Felix的...
Simplify your OSGi development experience by learning about Felix iPOJO. A relentlessly practical beginner's guide that will walk you through making real-life OSGi applications while showing you the ...
在实际开发中,Apache Felix通常与Maven或Gradle等构建工具结合使用,通过插件生成符合OSGi规范的bundle。同时,IDE如Eclipse或IntelliJ IDEA也有对应的OSGi支持,可以帮助开发者更好地管理和调试OSGi应用。 总结来...
Apache Felix 是一个开源的 OSGi (Open Services Gateway Initiative) 框架...通过实践和学习提供的 demo,你将能够深入理解 OSGi 模块化系统的运作原理,以及如何在实际项目中利用 Apache Felix 实现高效的软件开发。
《OSGi与Apache Felix 3.0初学者指南》是一本深入浅出地介绍OSGi框架及其在Apache Felix实现下的应用开发的书籍。OSGi(Open Service Gateway Initiative)是一种Java平台上的模块化系统和动态模块加载环境,它允许...
包含电子书和第04、05、06、07、08、09、10、11、13章的代码, 是学习OSGi和Apache Felix的一个很好的入门资料, 虽然版本有一点点老了, 但是基本的东西没有变, 值得下下来一看!
Felix是一个遵循OSGi规范的轻量级、模块化的Service Oriented Runtime,由Apache软件基金会支持,它允许在运行时动态地安装和卸载OSGi模块。Felix是OSGi容器的一个实现,是Java开发者在进行模块化开发时的常用工具。...
Apache Felix 是一个开源项目,属于 Apache 软件基金会,主要致力于实现 OSGi(Open Service Gateway Initiative)规范。OSGi 是一种Java模块化系统,它允许开发人员将应用程序分解为独立的、可管理和可升级的组件。...
标题 "org.apache.felix.main-6.0.3.rar" 提供了我们即将探讨的核心信息:这是Apache Felix项目的一个版本,具体来说是6.0.3版本。Apache Felix是一个开源实现,它遵循OSGi(开放服务网关倡议)规范,用于创建Java...
在实际开发中,掌握Apache Felix OSGi框架启动器的使用,能帮助我们构建更灵活、可维护的Java应用。通过了解和实践上述知识点,开发者可以更好地利用OSGi的优势,如组件化开发、动态部署和版本控制,从而提升软件的...
Felix是Apache软件基金会开发的一个实现OSGI(开放服务网关倡议)规范的开源容器,它允许动态模块化地管理和部署Java应用程序。本项目结合了Struts2和Felix1.4,构建了一个基于OSGI的Web基础设施,提供了灵活和可...
### Apache Felix — 一种标准插件模型 #### 一、为何选择OSGi技术?...Apache Felix不仅提供了一个强大的OSGi服务环境,而且还为开发者提供了一系列实用的工具和服务框架,帮助他们在实际项目中实现上述优势。
Felix是OSGi联盟实现OSGi核心规范的一个开源实现,它是Apache软件基金会的一部分。Felix Plugin则是在Felix OSGi环境中使用的插件,用于扩展和增强Felix的功能。 这篇名为“osgi felix plug in”的博文虽然链接不...
要运行这些应用程序,您需要运行Apache Felix Felix并安装以下捆绑软件: 系统套件(5.2.0) Apache Felix Felix捆绑存储库(2.0.4) Apache Felix Felix Gogo命令(0.14.0) Apache Felix Felix Gogo运行时...
标题中的"org.apache.felix.main.distribution-3.2.2.tar.gz"是一个Apache Felix项目的发行版文件,版本为3.2.2,文件格式为tar.gz,这是一种常见的Unix/Linux系统下的归档压缩格式,由tar进行文件打包,然后用gzip...
Apache Felix是Apache软件基金会的一个项目,它实现了OSGi(Open Services Gateway Initiative)规范,是一个Java框架,允许你在运行时动态地创建、配置和管理服务。OSGi的主要目标是提供模块化系统,使得Java应用...