Equinox项目是Eclipse开源组织提供的OSGi框架的实现。Eclipse自3.0版本开始,其内核移植到OSGi框架上。通过OSGi框架强大的组件控制,交互和管理能力,再加上Eclipse插件的自有特点,Eclipse开源框架得到了跳跃式的发展。同时,OSGi规范得益于Eclipse IDE环境庞大的使用者,OSGi联盟也进入了快速发展时期。
OSGi作为应用服务器的基础架构已经成为现实。Equinox提供了一组基础的Bundle,使得使用JSP、Servlet和Struts等J2EE技术的Web应用项目可以运行于Equinox OSGi环境中。同样的,Equinox通过一组Bundle,可以将Equinox OSGi应用嵌入到现有的Web服务器(如Tomcat,Jetty等)和应用服务器(如Websphere,Weblogic等)中。
下面是Equinox在J2EE应用方面的部分Bundle列表:
org.eclipse.equinox.servletbridge
Servlet Bridge
该Bundle提供一个底层的Hook servlet,使得Equinox可以嵌入到现有的应用服务器中运行。该Bundle中的servlet启动嵌入的Equinox并使其可以处理来自底层应用服务器接收的HTTP请求。
org.eclipse.equinox.http.servletbridge
HTTP ServletBridge
该Bundle为底层的应用服务器(如Tomcat,Jetty等)发布为OSGi HTTP服务提供一层封装。封装的应用服务器必须安装该servlet bridge。
以上两个bundle是将应用服务器作为bundle集成进入OSGi大环境的关键。
org.eclipse.equinox.http.servlet
HTTP Servlet
该Bundle为在Equinox中发布其他servlet处理引擎(如传统的应用服务器)为OSGi HTTP服务提供支持 。
org.mortbay.jetty
Jetty
嵌入式Jetty实现的Bundle封装。目前Equinox提供的Jetty实现版本为5.x。
org.eclipse.equinox.http.jetty
HTTP Jetty
该Bundle封装Jetty为标准的OSGI HTTP服务。目前该服务只能使用Jetty 5.x版本;如果用户希望使用Jetty 6.x版本的Bundle封装,可以参考ops4j上的实现。
【编辑推荐】