成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Equinox OSGi系列之一 Equinox入門

開發(fā) 后端
以Equinox項目為基礎(chǔ),講述如何實現(xiàn)基于OSGi的應(yīng)用。

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

51CTO編輯推薦:OSGi入門與實踐全攻略

OSGi框架在2006年之前還不為廣大的開發(fā)者所知,OSGi的開源框架實現(xiàn)也只有ObjectWeb上的Oscar和Knopflerfish兩個實現(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項目為基礎(chǔ),講述如何實現(xiàn)基于OSGi的應(yīng)用。

2. Equinox項目概述


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

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

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


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

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

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

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

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

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

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

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


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

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

org.eclipse.equinox.app
Application Container

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

org.eclipse.equinox.common
Common Utility Bundle

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

org.eclipse.equinox.device
Device Access Service

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

org.eclipse.equinox.ds
Declarative Services

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

org.eclipse.equinox.event
Event Admin Service

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

org.eclipse.equinox.http
HTTP Service

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

org.eclipse.equinox.log
Log Service

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

org.eclipse.equinox.metatype
Metatype Service

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

org.eclipse.equinox.preferences
Preferences Service

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

org.eclipse.equinox.registry
Extension Registry

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

org.eclipse.equinox.supplement
Supplemental Bundle/JAR

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

org.eclipse.equinox.useradmin
User Admin Service

OSGi R4規(guī)范中的用戶管理服務(wù)實現(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ī)范中的工具類接口及接口實現(xiàn)Bundle

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


Equinox實現(xiàn)了OSGi在J2ME、J2SE方面的應(yīng)用的同時,也推動了OSGi在J2EE方面的應(yīng)用。Equinox提供了一組基礎(chǔ)的Bundle,使得使用JSP、Servlet和Struts等J2EE技術(shù)的Web應(yī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)實現(xiàn)。目前該實現(xiàn)只支持Servlet 2.3。

org.eclipse.equinox.http.registry
HTTP registry

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

org.eclipse.equinox.servletbridge
Servlet Bridge

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

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實現(xiàn)的Bundle封裝。目前Equinox提供的Jetty實現(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上的實現(xiàn)。

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

2.4 Equinox部署更新框架(Provisioning)


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

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

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

安全管理

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

面向方面的開發(fā)

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

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

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

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

4. 附注


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

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

【編輯推薦】

  1. Eclipse、Equinox和OSGi
  2. Web框架Equinox 1.6 發(fā)布
  3. 探索Eclipse的OSGi控制臺
責(zé)任編輯:張攀 來源: 百度空間
相關(guān)推薦

2009-10-15 15:12:39

Equinox服務(wù)器端Equinox

2009-06-01 11:37:46

EquinoxOSGi服務(wù)器

2009-06-18 10:03:57

EquinoxOSGi應(yīng)用服務(wù)器

2009-06-10 18:12:38

Equinox動態(tài)化OSGi動態(tài)化

2020-01-06 11:50:25

LinuxEquinox桌面

2011-11-18 11:04:03

Java框架Equinox

2009-09-28 13:32:39

OSGi入門

2012-05-21 13:24:03

JavaEclipseEquinox

2012-06-13 01:47:42

EclipseEquinox

2012-06-14 10:14:46

ibmdw

2009-06-16 13:40:06

OSGiApache Feli

2009-09-16 17:15:19

OSGi Bundle

2022-02-28 14:54:48

openHarmon鴻蒙操作系統(tǒng)

2009-04-16 09:02:30

Eclipse開發(fā)平臺版本發(fā)布

2013-12-02 13:59:22

jQueryUI

2021-03-11 10:21:55

特斯拉黑客網(wǎng)絡(luò)攻擊

2021-07-07 09:18:00

Java并發(fā)編程

2010-04-22 08:43:50

EclipseSOA

2011-04-12 14:28:52

XML

2019-01-10 08:33:17

物聯(lián)網(wǎng)IoT機(jī)器
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲精品乱码久久久久久蜜桃91 | 久久久99精品免费观看 | 日韩一区二区三区精品 | 综合久久av | 国产精品日韩欧美一区二区三区 | 亚洲国产成人精品在线 | 日韩精品一区二区三区中文在线 | 草草草久久久 | 亚洲精品久久久久avwww潮水 | 色站综合| 欧美在线观看一区 | 国产精品美女www | 欧美激情国产日韩精品一区18 | 一区二区三区四区不卡视频 | 久久成人一区二区三区 | 欧美日韩精品中文字幕 | 国产96色在线 | 91麻豆精品国产91久久久更新资源速度超快 | 青草视频在线 | 亚洲国产精品成人无久久精品 | 日韩免费视频一区二区 | 国产成人免费网站 | 久久久久久久久久久久久9999 | 亚洲精品高清视频 | 日本又色又爽又黄又高潮 | 国产在线永久免费 | 欧美日韩久 | 国产在线观看一区二区三区 | 欧美日韩一区二区三区在线观看 | 国产99久久精品一区二区永久免费 | 丁香久久| 欧美一区二区三区视频 | 亚洲免费视频一区 | 欧美日韩视频网站 | 91久久久久久久久久久久久 | 久久精品一二三影院 | 国产免费拔擦拔擦8x高清 | 久久久久国产成人精品亚洲午夜 | 中文字幕在线精品 | 亚洲国产精品久久久 | 91精品一区二区三区久久久久久 |