日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Equinox OSGi系列之一 Equinox入門

Equinox項(xiàng)目是Eclipse開源組織提供的OSGi框架的實(shí)現(xiàn)。Eclipse自3.0版本開始,其內(nèi)核移植到OSGi框架上。通過OSGi框架強(qiáng)大的組件控制,交互和管理能力,再加上Eclipse插件的自有特點(diǎn),Eclipse開源框架得到了跳躍式的發(fā)展。同時(shí),OSGi規(guī)范得益于Eclipse IDE環(huán)境龐大的使用者,OSGi聯(lián)盟也進(jìn)入了快速發(fā)展時(shí)期。

為滿洲等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及滿洲網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、滿洲網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

編輯推薦:OSGi入門與實(shí)踐全攻略

OSGi框架在2006年之前還不為廣大的開發(fā)者所知,OSGi的開源框架實(shí)現(xiàn)也只有ObjectWeb上的Oscar和Knopflerfish兩個(gè)實(shí)現(xiàn)。最初的OSGi標(biāo)準(zhǔn)主要應(yīng)用于J2ME和J2SE,Equinox的加入使得OSGi標(biāo)準(zhǔn)的應(yīng)用領(lǐng)域不斷擴(kuò)充,目前OSGi在J2EE方面的應(yīng)用也在不斷的發(fā)展中。

OSGi的本質(zhì)是將Java面向?qū)ο蟮拈_發(fā)轉(zhuǎn)向面向組件和服務(wù)的開發(fā)。OSGi框架提供了一套完善的機(jī)制用于管理和控制組件(Bundle)、服務(wù)(Service)的生命周期,以及組件和服務(wù)在其生命周期內(nèi)的交互。

本文及后續(xù)系列文章將以Equinox項(xiàng)目為基礎(chǔ),講述如何實(shí)現(xiàn)基于OSGi的應(yīng)用。

2. Equinox項(xiàng)目概述

Equinox項(xiàng)目包括OSGi R4版本規(guī)范核心框架的實(shí)現(xiàn),一系列OSGi標(biāo)準(zhǔn)服務(wù)Bundle及運(yùn)行基于OSGi的系統(tǒng)的一些基礎(chǔ)構(gòu)件。用戶可以直接訪問該項(xiàng)目在Eclipse的網(wǎng)址Equinox獲取概括性的信息。目前,關(guān)于Equinox的進(jìn)展大部分資料及項(xiàng)目進(jìn)展存在于Eclipse Wiki上。

目前,Equinox項(xiàng)目包括OSGi核心框架的實(shí)現(xiàn),OSGi標(biāo)準(zhǔn)服務(wù)Bundle實(shí)現(xiàn),OSGi的服務(wù)器端(J2EE實(shí)現(xiàn))應(yīng)用,Equinox部署更新框架及一些研究方向(未成熟發(fā)布的構(gòu)想如JMX管理,安全管理,面向方面的設(shè)計(jì)與應(yīng)用等)。

2.1 OSGi核心框架的實(shí)現(xiàn)

Equinox的OSGi核心實(shí)現(xiàn)由三部分組成,包括:

OSGi核心規(guī)范的實(shí)現(xiàn)(org.eclipse.osgi)

該項(xiàng)目是OSGi核心框架標(biāo)準(zhǔn)規(guī)范的實(shí)現(xiàn)。由于Eclipse在3.0版本之前未采用OSGi作為系統(tǒng)內(nèi)核,所以,為了重用Eclipse3.0以前核心系統(tǒng)的代碼,Equinox的OSGi實(shí)現(xiàn)在一定程度上顯得比較繁冗。用戶如果想研究開源的OSGi框架實(shí)現(xiàn)的源代碼,可以從Oscar(目前為Apache的Felix項(xiàng)目)或Knopflerfish項(xiàng)目著手。ObjectWeb上的Oscar項(xiàng)目最初實(shí)現(xiàn)OSGi R2版本框架時(shí),整個(gè)核心的源代碼不超過40個(gè)類文件?,F(xiàn)在,Oscar項(xiàng)目轉(zhuǎn)由Apache維護(hù),項(xiàng)目稱之為Felix,目前已發(fā)布1.0版本。Knopflerfish也是很早實(shí)現(xiàn)OSGi的一個(gè)開源項(xiàng)目,該項(xiàng)目的網(wǎng)站上提供了很多關(guān)于OSGi編程的注意事項(xiàng)。

OSGi框架啟動(dòng)支持(org.eclipse.equinox.launcher)

OSGi 框架啟動(dòng)支持對(duì)于Eclipse IDE開發(fā)環(huán)境熟悉的開發(fā)用戶來說并不算陌生。使用Eclipse以前版本的用戶會(huì)發(fā)現(xiàn)在Eclipse安裝目錄下有一個(gè)startup.jar的文件,該文件是Eclipse開發(fā)環(huán)境的入口程序封裝。Equinox將該Jar文件的實(shí)現(xiàn)遷移為一個(gè)獨(dú)立的OSGi Fragment。該Fragment主要是幫助Equinox建立起運(yùn)行環(huán)境,如類加載路徑,運(yùn)行配置參數(shù)等等。

Equinox啟動(dòng)可執(zhí)行程序

Equinox啟動(dòng)可執(zhí)行程序即為eclipse.exe文件,該執(zhí)行程序并不是Eclipse以前版本的exe可執(zhí)行文件,而是由原來的eclipse.exe程序拆分而來,該執(zhí)行文件的一部分功能拆分為一個(gè)共享DLL,放置在OSGi框架啟動(dòng)支持段項(xiàng)目(org.eclipse.equinox.launcher)中,與原來的Eclipse根目錄下的startup.jar文件功能合并。

2.2 OSGi標(biāo)準(zhǔn)服務(wù)Bundle實(shí)現(xiàn)

OSGi在提出核心框架規(guī)范的同時(shí)為一些常用的服務(wù)如日志服務(wù)(LogService),配置管理服務(wù)(Config Admin),事件管理服務(wù)(Event Admin),HTTP服務(wù)(HTTP Service)等。Equinox提供了大部分OSGi標(biāo)準(zhǔn)服務(wù)的bundle的實(shí)現(xiàn),同時(shí),借助于Eclipse環(huán)境的一些自身的特點(diǎn),Equinox在實(shí)現(xiàn)這些OSGi標(biāo)準(zhǔn)服務(wù)的同時(shí),提供了很多功能擴(kuò)展服務(wù)(如org.eclipse.equinox.common)。

Equinox項(xiàng)目目前提供的OSGi標(biāo)準(zhǔn)服務(wù)實(shí)現(xiàn)如下所示:

org.eclipse.equinox.app
Application Container

該項(xiàng)目實(shí)現(xiàn)了OSGi R4 MEG中的應(yīng)用程序容器服務(wù)

org.eclipse.equinox.common
Common Utility Bundle

由一組Eclipse工具類(如IStatus,Assert,IAdaptable等)組成的實(shí)用程序Bundle。該Bundle也可以在非OSGi環(huán)境中獨(dú)立使用。

org.eclipse.equinox.device
Device Access Service

OSGi R4規(guī)范中的Device Access Service標(biāo)準(zhǔn)服務(wù)的實(shí)現(xiàn),該組件由Prosyst公司提供實(shí)現(xiàn)。

org.eclipse.equinox.ds
Declarative Services

OSGi R4規(guī)范中的Declarative Service標(biāo)準(zhǔn)服務(wù)的實(shí)現(xiàn),該組件由Prosyst公司提供實(shí)現(xiàn)

org.eclipse.equinox.event
Event Admin Service

OSGi R4規(guī)范中的事件管理服務(wù)的實(shí)現(xiàn)。

org.eclipse.equinox.http
HTTP Service

OSGi R4規(guī)范中的HTTP服務(wù)實(shí)現(xiàn)

org.eclipse.equinox.log
Log Service

OSGi R4規(guī)范中的日志服務(wù)實(shí)現(xiàn)

org.eclipse.equinox.metatype
Metatype Service

OSGi R4規(guī)范中的Metatype服務(wù)的實(shí)現(xiàn)

org.eclipse.equinox.preferences
Preferences Service

OSGi R4規(guī)范中的Preferences服務(wù)的實(shí)現(xiàn)

org.eclipse.equinox.registry
Extension Registry

Equinox提供的Ecipse擴(kuò)展點(diǎn)(extension point)注冊(cè)表服務(wù)

org.eclipse.equinox.supplement
Supplemental Bundle/JAR

Equinox提供的一組Equinox實(shí)現(xiàn)所使用的類型庫

org.eclipse.equinox.useradmin
User Admin Service

OSGi R4規(guī)范中的用戶管理服務(wù)實(shí)現(xiàn)

org.eclipse.equinox.wireadmin
Wire Admin Service

OSGi R4規(guī)范中的服務(wù)通信拓?fù)涔芾矸?wù)

org.eclipse.osgi.services
OSGi Services API

OSGi R4規(guī)范中的服務(wù)接口定義,該Bundle由OSGi聯(lián)盟定義的服務(wù)API接口組成

org.eclipse.osgi.util
OSGi Utilities

OSGi R4規(guī)范中的工具類接口及接口實(shí)現(xiàn)Bundle

2.3 OSGi的服務(wù)器端(J2EE實(shí)現(xiàn))應(yīng)用

Equinox實(shí)現(xiàn)了OSGi在J2ME、J2SE方面的應(yīng)用的同時(shí),也推動(dòng)了OSGi在J2EE方面的應(yīng)用。Equinox提供了一組基礎(chǔ)的Bundle,使得使用JSP、Servlet和Struts等J2EE技術(shù)的Web應(yīng)用項(xiàng)目可以運(yùn)行于Equinox OSGi環(huán)境中。同樣的,Equinox通過一組Bundle,可以將Equinox OSGi應(yīng)用嵌入到現(xiàn)有的Web服務(wù)器(如Tomcat,Jetty等)和應(yīng)用服務(wù)器(如Websphere,Weblogic等)中。

下面是Equinox在J2EE應(yīng)用方面的一組Bundle列表:

org.eclipse.equinox.http
HTTP service

該Bundle是OSGi R4規(guī)范中的HTTP服務(wù)的標(biāo)準(zhǔn)實(shí)現(xiàn)。目前該實(shí)現(xiàn)只支持Servlet 2.3。

org.eclipse.equinox.http.registry
HTTP registry

該Bundle支持使用Eclipse的擴(kuò)展注冊(cè)表注冊(cè)servlet,文件資源和JSP而不是使用OSGi中的代碼注冊(cè)機(jī)制。

org.eclipse.equinox.servletbridge
Servlet Bridge

該Bundle提供一個(gè)底層的Hook servlet,使得Equinox可以嵌入到現(xiàn)有的應(yīng)用服務(wù)器中運(yùn)行。該Bundle中的servlet啟動(dòng)嵌入的Equinox并使其可以處理來自底層應(yīng)用服務(wù)器接收的HTTP請(qǐng)求。

org.eclipse.equinox.http.servlet
HTTP Servlet

該Bundle為在Equinox中發(fā)布其他servlet處理引擎(如傳統(tǒng)的應(yīng)用服務(wù)器)為OSGi HTTP服務(wù)提供支持 。

org.eclipse.equinox.http.servletbridge
HTTP ServletBridge

該Bundle為底層的應(yīng)用服務(wù)器(如Tomcat,Jetty等)發(fā)布為OSGi HTTP服務(wù)提供一層封裝。封裝的應(yīng)用服務(wù)器必須安裝該servlet bridge。

javax.servlet
Servlet API

Servlet規(guī)范標(biāo)準(zhǔn)接口API的Bundle封裝。

javax.servlet.jsp
Servlet JSP API

Servlet JSP API接口的Bundle封裝。

org.mortbay.jetty
Jetty

嵌入式Jetty實(shí)現(xiàn)的Bundle封裝。目前Equinox提供的Jetty實(shí)現(xiàn)版本為5.x。

org.eclipse.equinox.http.jetty
HTTP Jetty

該Bundle封裝Jetty為標(biāo)準(zhǔn)的OSGI HTTP服務(wù)。目前該服務(wù)只能使用Jetty 5.x版本;如果用戶希望使用Jetty 6.x版本的Bundle封裝,可以參考o(jì)ps4j上的實(shí)現(xiàn)。

關(guān)于如何在Equinox環(huán)境中部署Web應(yīng)用(JSP、Servlet和Struts等),請(qǐng)參考Equinox網(wǎng)站相關(guān)資料。我會(huì)在本系列后續(xù)文檔中給出詳細(xì)介紹。

2.4 Equinox部署更新框架(Provisioning)

Eclipse提供為插件的分組,更新及遠(yuǎn)程維護(hù)提供了一套完善的機(jī)制。用戶可以通過遠(yuǎn)程更新站點(diǎn)安裝或升級(jí)所需功能的插件。為了適應(yīng)OSGi環(huán)境的特點(diǎn),Equinox項(xiàng)目組為基于OSGi的系統(tǒng)的部署更新提供了一套全新的框架,稱為 “equinox p2”。目前該框架還在***個(gè)發(fā)布版本的***階段,該功能預(yù)計(jì)將在Eclipse 3.4版本中集成發(fā)布。

2.5 Equinox的***研究方向
資源管理(Resource Monitoring)

該方向致力于為基于OSGi的系統(tǒng)提供一個(gè)輕量級(jí)的資源監(jiān)控管理基礎(chǔ)框架,該框架基于JMX技術(shù)。目前該研究方向已經(jīng)提供了一套可供展示的基本實(shí)現(xiàn)。

安全管理

該方向致力于將Java安全機(jī)制(JCA/JAAS框架)集成到Eclipse中。為Eclipse/Equinox環(huán)境提供諸如消息摘要,數(shù)字簽名,密鑰存儲(chǔ),證書存儲(chǔ)等基礎(chǔ)安全機(jī)制。此外,該方向還為Eclipse提供JAVA包簽名,Bundle加載時(shí)的簽名校驗(yàn),代碼權(quán)限等機(jī)制的實(shí)現(xiàn)。

面向方面的開發(fā)

該方向致力于解決在OSGi環(huán)境中面向方面編程的一些技術(shù)問題,如加載編排和模塊化等。

3. 結(jié)論與參考
本文簡(jiǎn)要概述了Equinox在OSGi規(guī)范方面的實(shí)現(xiàn)以及它為OSGi在其他領(lǐng)域的應(yīng)用所做的研究。后續(xù)文檔中,我們將會(huì)將上述各個(gè)方面展開進(jìn)行詳細(xì)的描述。OSGi的廣泛應(yīng)用將大大推動(dòng)JAVA由面向?qū)ο蟮木幊滔蛎嫦蚪M件和服務(wù)的編程轉(zhuǎn)變。

目前,JCP組織提出JSR-291將OSGi納入JAVA標(biāo)準(zhǔn)規(guī)范。如果該JSR最終被集成到J2SE實(shí)現(xiàn)中,開發(fā)人員可以在JAVA基礎(chǔ)編程中直接采用OSGi提供動(dòng)態(tài)的模塊化應(yīng)用。

Equinox項(xiàng)目源代碼的位置位于CVS服務(wù)器上::pserver:anonymous:dev.eclipse.org/cvsroot/eclipse路徑下,以org.eclipse.equinox.*命名的項(xiàng)目以及該位置下的equinox-incubator目錄下。

4. 附注

SUN公司提出了一個(gè)類似于OSGi的模塊化系統(tǒng)規(guī)范稱之為“HK2”。HK2的全稱為“Hundred Kilobytes Kernel”,包括Modules Subsytem和Component Model兩部分。據(jù)稱,該內(nèi)核將在JDK 7中集成,同時(shí),SUN在其開源的GlassFish J2EE應(yīng)用服務(wù)器項(xiàng)目V3版本中將HK2作為其系統(tǒng)內(nèi)核實(shí)現(xiàn)。

您正在閱讀: Equinox OSGi系列之一 Equinox入門

【編輯推薦】

  1. Eclipse、Equinox和OSGi
  2. Web框架Equinox 1.6 發(fā)布
  3. 探索Eclipse的OSGi控制臺(tái)

分享題目:Equinox OSGi系列之一 Equinox入門
當(dāng)前路徑:http://www.dlmjj.cn/article/cogpeod.html