Equinox的OSGi實現與應用服務器
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上的實現。
【編輯推薦】