版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
OSGI技術(shù)實(shí)用分析內(nèi)容介紹OSGI概要介紹 OSGI的Bundle
Web開(kāi)發(fā)實(shí)例OSGI技術(shù)的實(shí)用價(jià)值總結(jié)OSGi概要介紹OSGi最早是OpenServicesGatewayInitiative的縮寫,是構(gòu)建面向服務(wù)應(yīng)用的一套規(guī)范。在Java中的應(yīng)用為動(dòng)態(tài)模塊系統(tǒng),作為模塊化開(kāi)發(fā)部署框架,更易于劃分模塊和管理模塊之間的各種依賴關(guān)系OSGiAliance是一個(gè)非盈利的合作組織負(fù)責(zé)制訂發(fā)布OSGI規(guī)范ApacheFelix,EclipseEquinox,SpringDM都是OSGi規(guī)范的具體實(shí)現(xiàn)框架OSGI從2000年-2012年一共發(fā)布了5個(gè)版本,OSGi的名氣是隨著Eclipse3.0正式采用OSGi為模塊化框架而發(fā)展起來(lái)的,逐漸被IBM,Oracle,Sun作為Java標(biāo)準(zhǔn)OSGi
基本介紹后臺(tái)背景發(fā)展歷史OSGi的三個(gè)基本概念BundleLifeCycleService一般表現(xiàn)為一個(gè)含有OSGI配置描述信息(例如MANIFEST.MF文件),類,資源和其他jar包的綜合Jar包。特指Bundle的生命周期,包含從安裝,就緒,啟動(dòng),運(yùn)行活躍,卸載,停止,等各個(gè)時(shí)期Service一般被定義為一個(gè)接口,Bundle可以負(fù)責(zé)實(shí)現(xiàn)具體的接口,在ServiceRegistry模塊中注冊(cè)這個(gè)Service,可以為其他Bundle提供服務(wù)OSGi最重要的三個(gè)基本概念術(shù)語(yǔ)了解OSGi的第一步安裝EclipseHelios動(dòng)手實(shí)踐自己第一個(gè)Bundle理解OSGi
Bundle的生命周期從最小的一個(gè)OSGiWebDemo開(kāi)始Eclipse與OSGi創(chuàng)建第一個(gè)Bundle1432Bundle的典型結(jié)構(gòu)Activator是每個(gè)Bundle缺省的裝載類.OSGi框架啟動(dòng)或停止Bundle都默認(rèn)調(diào)用該類的Start/Stop方法OSGiBundle運(yùn)行調(diào)試Bundle運(yùn)行背后的故事Bundle運(yùn)行的優(yōu)先級(jí)設(shè)置StartLevelPID越小的越優(yōu)先Bundle的生命周期管理對(duì)象都是有生命的EclipseEquinox支持OSGi常用控制命令Start/stop/install/uninstall
<PID>Help可查看支持的各種bundle管理命令快速構(gòu)建一個(gè)OSGiWeb應(yīng)用所有的Web應(yīng)用的本質(zhì)都是從前臺(tái)獲取用戶輸入的信息,送入后臺(tái)處理后,再返回給前臺(tái)用戶展示。其本質(zhì)都是用戶交互體驗(yàn)OSGiWeb應(yīng)用就是構(gòu)建一個(gè)全部由OSGiBundle組成的Web應(yīng)用。所有前臺(tái)交互,后臺(tái)處理等業(yè)務(wù)邏輯都是由一個(gè)個(gè)Bundle負(fù)責(zé)處理本Demo實(shí)現(xiàn)的功能為用戶在html頁(yè)面上輸入一個(gè)英文單詞,提交后臺(tái)查詢后返回對(duì)應(yīng)的中文解釋,如果沒(méi)有結(jié)果則返回N/A,類似于一個(gè)在線字典Web
Bundle應(yīng)用Demo的結(jié)構(gòu)DictQueryLocalDictQueryDictQueryWebOSGiEquinoxRemoteDictQuery提供遠(yuǎn)程字典查詢服務(wù)的Bundle
包含必須的Http,Servlet服務(wù)和其他OSGi框架所需要的基本核心Bundle
字典查詢的接口Bundle提供本地字典查詢服務(wù)的Bundle負(fù)責(zé)Web前段頁(yè)面和后臺(tái)Servlet的Bundle其余BundleOSGiBundle的Package控制query;version="1.0.0"Import-PackageExport-PackageDictQueryOSGi作為動(dòng)態(tài)模塊化Java框架的核心功能就是可以控制Bundle中Package的導(dǎo)入和導(dǎo)出,這是對(duì)java自身import功能局限的突破org.osgi.framework;version="1.3.0"LocalDictQueryRemoteDictQueryDictQueryWebjavax.servlet;version="2.4.0",javax.servlet.http;version=org.osgi.framework;version=org.osgi.service.http;version,
query;version="1.0.0"org.osgi.framework;version="1.3.0"query;version="1.0.0"org.osgi.framework;version="1.3.0"query;version="1.0.0"部分代碼示例-1DictQueryBundle中的query/QueryServiceLocalDictQueryBundle中LocalDictQueryServiceImpl部分代碼示例-2RemoteDictQueryBundle中的RemoteDictQueryServiceImpl在LocalDictQuey的Activator中注冊(cè)服務(wù)唯一的不同就是構(gòu)建的字典內(nèi)容和LocalDictQuery不同關(guān)鍵的DictQueryWebBundleDictQueryWeb中DictQueryServlet只和DictQuery的QueryService交互最后的一環(huán)與HttpService交互,進(jìn)行Web資源(包含html和servlet)的服務(wù)注冊(cè)一個(gè)典型的主從表結(jié)構(gòu)的表現(xiàn)-主從結(jié)構(gòu)是所有實(shí)體對(duì)象模型中最常見(jiàn)的對(duì)象類型,關(guān)系數(shù)據(jù)庫(kù)的最典型類型就是主從類型-主從結(jié)構(gòu)在好的Java業(yè)務(wù)體系中也一般是包裝成為一個(gè)整體的業(yè)務(wù)對(duì)象對(duì)外進(jìn)行數(shù)據(jù)交互-ChangeHistory(復(fù)合的抽象對(duì)象)-所有的ApacheOfBiz實(shí)體引擎的描述信息都是通過(guò)EntityXXX.xml表示。所有描述對(duì)象的java類都是GenericValueChangGroup是主表ChangeItem是從表從實(shí)際業(yè)務(wù)的對(duì)象設(shè)計(jì)角度出發(fā)OfBiz的實(shí)體引擎的高度概括性Demo最終效果OSGi技術(shù)價(jià)值分析解決了Java語(yǔ)言本身在模塊化上的重大缺陷,由于Java本身語(yǔ)言的特點(diǎn)必須暴露類結(jié)構(gòu),違反了結(jié)構(gòu)化設(shè)計(jì)的神圣準(zhǔn)則:低耦合、高一致性O(shè)SGi秉承松耦合髙一致性的原則來(lái)解決Java的重用問(wèn)題。OSGi提供了一個(gè)模塊框架,這個(gè)框架可以管理模塊,可以動(dòng)態(tài)加載模塊;模塊之間通過(guò)服務(wù)接口協(xié)作。模塊在OSGi里被叫做Bundle。OSGi使用微內(nèi)核+系統(tǒng)Bundle+應(yīng)用Bundle設(shè)計(jì)。微內(nèi)核保證了髙一致性,基于Bundle的設(shè)計(jì)保證了松耦合。OSGi最有價(jià)值的3個(gè)功能:(1)Bundle管理;
(2)Bundle的動(dòng)態(tài)加載;
(3)保證Bundle間使用服務(wù)機(jī)制來(lái)交互。OSGi在商用J2EE平臺(tái)上已經(jīng)證明了成功:IBMWAS6.1,EclipseAtlassianConfluence&Jira,SpringDM等等。其性能接受了考驗(yàn)總結(jié)OSGi發(fā)展了12年,已經(jīng)成了Java模塊化的實(shí)際技術(shù)標(biāo)準(zhǔn)JSR-232,JSR-291,徹底取代了Sun原來(lái)自己定義的JSR-277OSGi可以和主流的J2EEWeb平臺(tái)無(wú)縫集成,侵入性小,技術(shù)轉(zhuǎn)型的風(fēng)險(xiǎn)較低OSGi技術(shù)國(guó)內(nèi)目前采用的還不多,大多還只是停留在初步了解的地步。其拓展的潛力很大OSGi不
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024至2030年中國(guó)調(diào)味袋裝海苔數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2024至2030年西班牙多點(diǎn)鎖項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年實(shí)木腳墊項(xiàng)目投資價(jià)值分析報(bào)告
- 年度機(jī)械表面曝氣機(jī)市場(chǎng)分析及競(jìng)爭(zhēng)策略分析報(bào)告
- 年度同位素檢測(cè)裝置市場(chǎng)分析及競(jìng)爭(zhēng)策略分析報(bào)告
- 2025屆河北省南宮中學(xué)等四校高三物理第一學(xué)期期末考試模擬試題含解析
- 云南省昆明市海口中學(xué)2025屆高二物理第一學(xué)期期中質(zhì)量檢測(cè)試題含解析
- 內(nèi)蒙古巴彥淖爾第一中學(xué)2025屆高三物理第一學(xué)期期末監(jiān)測(cè)模擬試題含解析
- 2025屆北京市西城14中高三物理第一學(xué)期期末統(tǒng)考試題含解析
- 山東省文登一中2025屆物理高二上期中經(jīng)典試題含解析
- 2024美團(tuán)外賣服務(wù)合同范本
- 2024-2030年飛機(jī)內(nèi)部緊固件行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2023~2024學(xué)年第一學(xué)期高一期中考試數(shù)學(xué)試題含答案
- 企業(yè)信用修復(fù)服務(wù)協(xié)議
- 部編人教版三年級(jí)語(yǔ)文上冊(cè)期中測(cè)試卷5份(含答案)
- 期中測(cè)評(píng)試卷(1-4單元)(試題)-2024-2025學(xué)年人教版三年級(jí)數(shù)學(xué)上冊(cè)
- 2023年國(guó)家公務(wù)員錄用考試《行測(cè)》行政執(zhí)法卷-解析
- 非遺漆扇扇子科普宣傳
- 城市軌道交通脫軌事故應(yīng)急預(yù)案
- GB/T 15822.1-2024無(wú)損檢測(cè)磁粉檢測(cè)第1部分:總則
- 2024新版七年級(jí)英語(yǔ)單詞表
評(píng)論
0/150
提交評(píng)論