1 2 3 4 5 下一页 Equinox项目是Eclipse开源组织提供的OSGi框架的实现。Eclipse自3.0版本开始,其内核移植到OSGi框架上。通过OSGi框架强大的组件控制,交互和管理能力,再加上Eclipse插件的自有特点,Eclipse开源框架得到了跳跃式的发展。同时,OSGi规范得益于Eclipse IDE环境庞大的使用者,OSGi联盟也进入了快速发展时期。 OSGi框架在2006年之前还不为广大的开发者所知,OSGi的开源框架实现也只有ObjectWeb上的Oscar和Knopflerfish两个实现。最初的OSGi标准主要应用于J2ME和J2SE,Equinox的加入使得OSGi标准的应用领域不断扩充,目前OSGi在J2EE方面的应用也在不断的发展中。 OSGi的本质是将Java面向对象的开发转向面向组件和服务的开发。OSGi框架提供了一套完善的机制用于管理和控制组件(Bundle)、服务(Service)的生命周期,以及组件和服务在其生命周期内的交互。 本文及后续系列文章将以Equinox项目为基础,讲述如何实现基于OSGi的应用。 2. Equinox项目概述 Equinox项目包括OSGi R4版本规范核心框架的实现,一系列OSGi标准服务Bundle及运行基于OSGi的系统的一些基础构件。用户可以直接访问该项目在Eclipse的网址Equinox获取概括性的信息。目前,关于Equinox的进展大部分资料及项目进展存在于Eclipse Wiki上。 目前,Equinox项目包括OSGi核心框架的实现,OSGi标准服务Bundle实现,OSGi的服务器端(J2EE实现)应用,Equinox部署更新框架及一些研究方向(未成熟发布的构想如JMX管理,安全管理,面向方面的设计与应用等)。 2.1 OSGi核心框架的实现 Equinox的OSGi核心实现由三部分组成,包括: OSGi核心规范的实现(org.eclipse.osgi) 该项目是OSGi核心框架标准规范的实现。由于Eclipse在3.0版本之前未采用OSGi作为系统内核,所以,为了重用Eclipse3.0以前核心系统的代码,Equinox的OSGi实现在一定程度上显得比较繁冗。用户如果想研究开源的OSGi框架实现的源代码,可以从Oscar(目前为Apache的Felix项目)或Knopflerfish项目着手。ObjectWeb上的Oscar项目最初实现OSGi R2版本框架时,整个核心的源代码不超过40个类文件。现在,Oscar项目转由Apache维护,项目称之为Felix,目前已发布1.0版本。Knopflerfish也是很早实现OSGi的一个开源项目,该项目的网站上提供了很多关于OSGi编程的注意事项。 (责任编辑:admin) |