分享

OSGi框架之Eclipse Equinox

 hehffyy 2012-05-30

Equinox紧随Eclipse之后,采用天文名词,指节气中的昼夜平分时刻,是为春分,抑或秋分。从Eclipse 3.0开始,Eclipse通过选择开放服务网关协议(Open Services Gateway Initiative,OSGi)来替换先前版本中不稳定的Eclipse插件技术,从而实现了一次巨大飞跃。作Eclipse项目基础之一,Equinox项目是一个OSGi R4核心框架规范的实现,它实现了可运行基于OSGi的系统的各种可选的OSGI服务和其他基础设施。简而言之,Equinox项目的目标是成为一流的OSGi社区,并作为Eclipse动态基基础架构的默认实现,作为其中的一部分,它负责开发和提供OSGi框架实现,并为Eclipse的其他模块所使用。

Equinox实现了OSGi规范(包括EEG、MEG、VEG)的所有方面;负责调查与研究未来版本的OSGi规范以及运行时的相关问题;将非标准的但是十分重要基础架构转化成可基于OSGi的系统进行运行和管理;为Eclipse的运行和基础使用实现关键的框架服务和扩展,比如Eclipse Adaptor, Extension Registry等。

OSGi是基于Java的服务平台的规范;OSGi的本质是将Java面向对象的开发转向面向组件和服务的开发,OSGi框架提供了一套完善的机制用于管理和控制组件(Bundle)、服务(Service)的生命周期,以及组件和服务在其生命周期内的交互。由于具有服务组件模块化、动态加载应用等优点,OSGi技术正被越来越多的领域关注,如嵌入设备制造业、汽车制造业、企业应用等。

目前,OSGi联盟发布的最新的OSGi服务规范为4.2版本,Equinox项目是Eclipse开源组织提供的OSGi框架的实现,Equinox的加入使得OSGi标准的应用领域不断扩充,Equinox不仅提供了大部分OSGi标准服务的Bundle实现,还借助Eclipse环境的一些自身的特点,提供了很多功能扩展服务。

一个OSGi框架可以组成Java EE项目中部署的相同模块,但是它包含了能够作为OSGi绑定包定位的OSGi元数据,因此能够从OSGi框架所提供的管理机制中获益。对于企业应用开发JavaEE开发人员选择OSGi,一般会基于如下进行考虑:应用程序可以作为只包含特定应用程序内容的绑定包,然后一直引用相关附件、共享库的元数据一起部署,因此应用程序空间减少了,因为它使用了引用附件管理的库的单独拷贝,该功能能够让相同的Jar文件嵌入到许多企业应用之中;开发时,利用合适的OSGi开发工具强制性地应用OSGi可视性规则,以确保Jar文件得到清晰的声明,最大程度地降低了部署时潜在的运行时问题;类的多个版本可以使用标准OSGi机制同时载入到相同的应用程序之中;应用程序可以使用公共设施类的自己版本,不再需要配置应用程序Java EE类加载器各种优先加载策略;部署的应用程序可以在绑定包层次上动态地更新,而不用重新部署整个企业应用包。

虽然OSGi是目前动态模块系统的事实上的工业标准,而且Equinox也是Eclipse所使用的OSGi框架,是Eclipse强大的插件体系的基础,同时Eclipse的稳定可靠性也为Equinox带来了声誉,但是OSGi的控制台、开发工具等仍在朝易用性、简单化而迈进,仍需时日。

热点新闻

新品发布

Eclipse和Equinox发布3.6.2版本

Eclipse和Equinox发布了 3.6.2 版本,可通过Eclipse的更新功能升级到该版本。Equinox实现了OSGi在J2ME、J2SE方面的应用的同时,也推动了OSGi在J2EE方面的应用。Equinox提供了一组基础的Bundle,使得使用JSP、Servlet和Struts等J2EE技术的Web应用项目可以运行于Equinox OSGi环境中。同样的,Equinox通过一组Bundle,可以将Equinox OSGi应用嵌入到现有的Web服务器(如Tomcat,Jetty等)和应用服务器(如WebSphere,Weblogic等)中。

Tomcat 7.0.11稳定版发布

Tomcat是一个开源的Web应用服务器软件,同时Tomcat也是目前世界上用量最大的Java服务器软件,主要用来支持运行Java Servlet/JSP,该版本修正了大量的Bug。主要修复了@SecurityAnnotation的问题。来自用户列表的安全报告称,包括Tomcat 7.0.8在内,以及来自SVN的最新代码中,对@ServletSecurity注解均置之不理,该问题将直接导致认证过程被绕过使得信息被泄露。

GlassFish 3.1 正式版发布

Oracle宣布了GlassFish 3.1正式版,完全的集群支持、中央集中管理、模块化设计以及开发人员友好的产品特性等等。同时Oracle还发布了一个商业版本——Oracle GlassFish Server 3.1,集成了GlassFish服务器控制,与开源版GlassFish不同的地方有,支持分布式GlassFish Server;包含开源版以及GlassFish服务器控制;活动缓存,内置对Oracle Coherence Web的集成;可通过OTN获取试用版本;产品环境使用需要License。

推荐资源:

Eclipse Equinox :http://www./equinox/

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多