`

[一步一步Felix]了解Apache Felix OSGi容器

阅读更多

       Felix是一个OSGi版本4规范的Apache实现。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说Felix项目是志愿者社区努力的结果。该项目的目标是使该框架易于嵌入其他项目中去。他说目前发布的1.0.1版本大部分符合了OSGi的R4规范,并且已经进行过OSGi TCK(Test Compatibility Kit)测试。TCK测试套件测试结果发布在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元数据,这将是一个好的开始。

       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)来发布许可。

本文转自:infoQ中文站;作者:Srini Penchikala;译者 宋玮
http://www.infoq.com/cn/news/2007/12/felix-osgi-container

分享到:
评论

相关推荐

    OSGi and Apache Felix 3.0 Beginner's Guide

    OSGi和Apache Felix 3.0是两种在Java领域内与模块化相关的重要技术。OSGi(Open Services Gateway Initiative)是一种Java编程环境,用于开发和运行模块化软件程序和中间件。Apache Felix是一个开源的OSGi实现,它...

    osgi felix plug in

    Felix是OSGi联盟实现OSGi核心规范的一个开源实现,它是Apache软件基金会的一部分。Felix Plugin则是在Felix OSGi环境中使用的插件,用于扩展和增强Felix的功能。 这篇名为“osgi felix plug in”的博文虽然链接不...

    《OSGi and Apache Felix 3.0 Beginner's Guide》源代码

    通过逐一研究这些源代码,读者可以逐步学习OSGi的核心概念,了解如何在实际项目中运用Apache Felix。每个章节的代码都是一个精心设计的示例,旨在帮助读者理解OSGi框架的强大功能,并提供动手实践的机会。对于想要...

    OSGi and Apache Felix 3.0 Beginner's Guide 代码和书

    2. **Apache Felix框架**:学习Apache Felix的安装、配置和使用,包括如何启动和停止OSGi容器,以及如何通过命令行接口或图形用户界面管理bundle。 3. **Bundle生命周期**:理解bundle的安装、启动、更新和卸载过程...

    Felix_OSGi实作

    Felix是一个遵循OSGi规范的轻量级、模块化的Service Oriented Runtime,由Apache软件基金会支持,它允许在运行时动态地安装和卸载OSGi模块。Felix是OSGi容器的一个实现,是Java开发者在进行模块化开发时的常用工具。...

    OSGi and Apache Felix 3.0.pdf

    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 ...

    org.apache.felix.framework:Apache Felix OSGi框架

    Apache Felix是Apache软件基金会开发的一个开源实现,它遵循OSGi(Open Service Gateway Initiative)规范,为Java应用程序提供模块化运行时环境。OSGi框架的核心功能是将Java应用程序分解成独立的、可交互的模块,...

    OSGi and Apache Felix 3.0 Beginner.pdf

    《OSGi与Apache Felix 3.0初学者指南》不仅为初学者提供了一个全面了解OSGi框架和Apache Felix的基础,还深入探讨了如何利用这一技术栈来构建健壮、灵活的企业级应用。无论是对于希望掌握模块化软件设计的开发者,...

    OSGi and Apache Felix 3.0 Beginner's Guide电子书和源代码

    包含电子书和第04、05、06、07、08、09、10、11、13章的代码, 是学习OSGi和Apache Felix的一个很好的入门资料, 虽然版本有一点点老了, 但是基本的东西没有变, 值得下下来一看!

    apache-felix-demo

    Apache Felix 是一个基于 Java 的开源框架,它是 OSGi(Open Service Gateway Initiative)规范的实现。OSGi 是一套用于管理 Java 应用程序模块化、动态部署和版本控制的框架。Apache Felix 演示(apache-felix-demo...

    osgi选型比较 实例Equinox、Apache Felix与Spring DM

    在选择OSGi实现时,通常会考虑Equinox、Apache Felix和Spring DM(现在称为Spring OSGi),这三种流行的实现各有特点和优势。 1. **Equinox**:由Eclipse基金会维护,是OSGi R4规范的核心框架实现。Equinox以其稳定...

    org.apache.felix.main.distribution-4.2.1.zip

    Apache Felix 是一个开源项目,属于 Apache 软件基金会,主要致力于实现 OSGi(Open Service Gateway Initiative)规范。OSGi 是一种Java模块化系统,它允许开发人员将应用程序分解为独立的、可管理和可升级的组件。...

    org.apache.felix.main:Apache Felix OSGi框架启动器

    Apache Felix是Apache软件基金会开发的一个开源实现,它遵循OSGi(Open Service Gateway Initiative)规范,为Java应用程序提供了一个模块化运行时环境。OSGi框架的主要目的是解决Java平台上的类加载问题,促进组件...

    利用felix和struts2实现osgi web

    - 结构原理:Web容器注册Struts OSGi监听器,监听器控制Apache Felix Host,Felix Host启动和管理Felix Framework,而Struts OSGi Plugin监听bundle的变化,当检测到Struts bundle时,加载相应的Struts配置。...

    WEB容器托管OSGi容器(轻量级集成方式)

    1. **OSGi框架**:如Apache Felix、Equinox(Eclipse项目的一部分),它们提供了模块化的运行时环境,支持服务的发布、查找和绑定,以及对模块的生命周期管理。 2. **Web容器集成**:将OSGi容器集成到Web服务器中,...

    org.apache.felix.main-6.0.3.rar

    这表明我们可以期待深入理解Felix框架如何启动和管理OSGi容器的核心部分。 标签 "felix osgi" 明确指出我们要讨论的是关于Apache Felix和OSGi的相关知识。Apache Felix是OSGi服务运行时的一个实现,它提供了一个...

    osgi 在web容器中部署

    本文将详细介绍如何使用桥接技术(如Apache Felix的WebConsole或Pax Web)在Tomcat中部署OSGi程序。 首先,理解OSGi的核心概念是关键。OSGi基于服务导向架构,其中每个模块(称为bundle)都有自己的类加载器,并...

    OSGi:学习Osgi Apache Felix

    要运行这些应用程序,您需要运行Apache Felix Felix并安装以下捆绑软件: 系统套件(5.2.0) Apache Felix Felix捆绑存储库(2.0.4) Apache Felix Felix Gogo命令(0.14.0) Apache Felix Felix Gogo运行时...

    tomcat嵌入OSGI容器

    标题中的“tomcat嵌入OSGI容器”是指在Apache Tomcat服务器中集成OSGI(Open Service Gateway Initiative)框架,使得Tomcat能够支持模块化的应用程序部署和管理。OSGI是一种Java平台上的服务导向架构,它允许动态地...

    Struts2 Felix1.4搭建OSGI web infrastructure Source

    Felix是Apache软件基金会开发的一个实现OSGI(开放服务网关倡议)规范的开源容器,它允许动态模块化地管理和部署Java应用程序。本项目结合了Struts2和Felix1.4,构建了一个基于OSGI的Web基础设施,提供了灵活和可...

Global site tag (gtag.js) - Google Analytics