<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Junky's IT Notebook

    統(tǒng)計

    留言簿(8)

    積分與排名

    WebSphere Studio

    閱讀排行榜

    評論排行榜

    OSGi技術

    OSGi技術

    原文:
    http://www.osgi.org/osgi_technology/index.asp?section=2

    簡介

    OSGi規(guī)范為網絡化的服務定義了一個標準的,面向組件的計算環(huán)境.給網絡設備添加OSGi服務平臺,使之可以有能力在網絡的任何地點管理軟件組件的生命周期.組件可以在運行期間被安裝,更新或刪除,無需打斷設備的其他操作.軟件組件是可以動態(tài)查找和使用其他組件的庫或程序.軟件組件可以通過購買或自行開發(fā).OSGi聯(lián)盟已經開發(fā)了許多標準的組件接口,諸如HTTP服務器,配置,日志管理,安全,用戶管理,xml等等這些常用功能.可以從不同的提供商那里獲得這些即插即用的兼容實現(xiàn).

    軟件組件體系正面臨一個日益凸現(xiàn)的問題:大量需要開發(fā)和維護的配置.而標準化的OSGi組件體系極大的簡化了這個配置過程.

    框架
    OSGi規(guī)范的核心組件是OSGi框架.他為應用提供了一個被稱為包捆(bundle)標準環(huán)境.OSGi包括這樣四層:
    L0.執(zhí)行環(huán)境
    L1.模塊
    L2.生命周期管理
    L3.服務注冊表
    此外還包含一個安全系統(tǒng).

    執(zhí)行環(huán)境就是Java環(huán)境.J2SE,CDC,CLDC,MIDP等都是合法的執(zhí)行環(huán)境.OSGi同時根據(jù)核心定義(foundation profile)和一個最簡版本制定了一個標準的執(zhí)行環(huán)境.
    模塊層定義了類裝載策略.OSGi框架是一個強大的類裝載模型.以Java為基礎但加入了模塊化的思想.在Java中,只有一個包含了所有的可用類和資源類路徑.OSGi的模塊層還為一個模塊提供了私有類以及模塊之間的連接.
    生命周期層將包捆動態(tài)地安裝,啟動,停止,更新和卸載,包捆依賴于模塊層的類裝載但提供了一套API來在運行期管理所有的模塊.擴展的依賴機制用于確保正確模塊依賴關系.
    服務注冊表為包捆提供一個互操作模型實現(xiàn)動態(tài)性.包捆可以通過傳統(tǒng)的類共享來互操作,但是類共享在當動態(tài)安裝和卸載代碼時會表現(xiàn)得很不穩(wěn)定.服務注冊表提供了一個易于理解的模型來在包捆之間共享對象.大量的事件被定義于處理服務之間的交互.服務如同Java對象一樣,可以代表任何事物.許多服務和對象是一樣的,像http服務器,服務就是現(xiàn)實中的一個對象,比如一個附近的藍牙電話.

    安全是建立在Java和Java2安全模型之上.語言級的限制避免了許多可能出現(xiàn)的隱患(The language by design limits many possible constructs). 比如,病毒常用的緩沖區(qū)溢出是不可能的.訪問修飾符可以限制代碼的可見性.OSGi通過"允許私有類"擴展了這一模型,在標準Java中不包含這種機制.Java2安全模型提供一個易理解的模型來檢查代碼對資源的訪問權限.OSGi加入了完全的對訪問請求動態(tài)管理.

    標準服務

    在框架之上,OSGi聯(lián)盟制定了許多服務.服務由一個Java接口定義.包捆可以實現(xiàn)這個接口并把實現(xiàn)注冊到服務注冊表.服務的用戶可以從服務注冊表中找到他,或者對服務的加入或取消做出反應.
    以下各部分給出OSGi release 3服務的一個簡單介紹.更多資料可以找OSGi服務平臺release 3的書籍或PDF下載.要注意每個服務都是先被抽象地定義然后由不同廠商獨立實現(xiàn).

    框架服務

    OSGi框架提供一個權限管理服務(permission admin service ),一個包管理服務(package admin servie),和一個啟動級別服務(start level service).這些服務是可選的 and direct the orperation of the Framework(不知道怎么譯).
    • 訪問管理(Permission Admin) - 當前或將來的包捆的訪問權限可以通過這個服務來操作.
    • 包管理(Package Admin) - 包捆之間共享類和資源.包捆的更新可能需要系統(tǒng)重新更新包捆之間的依賴關系.該服務提供系統(tǒng)實際包的共享狀態(tài)并刷新共享的包.如,取消或者重新計算依賴關系.
    • 啟動級別(Start Level) - 啟動級別是一個包捆的集合,這個集合中的包捆必須一同運行或者要在其他服務啟動之前初始化.啟動級別服務設置當前的啟動級別,制定某個包捆的啟動級別,查看當前設置.

    系統(tǒng)服務

    系統(tǒng)服務提供橫向功能(horizontal function),這些在每個真實的系統(tǒng)中都是存在的.比較常見的有,日志服務(Log Service),配置管理服務(Configuration Admin Service),設備訪問服務(Device Access Service),用戶管理服務(User Admin SErvice),IO連接服務(IO Connector Service)和參數(shù)選擇服務(Preferences Service).
    • 日志服務 - 信息,警告,調試信息的紀錄,或者處理錯誤.他接收日志紀錄信息然后分配他們給其他訂閱了這些信息的包捆
    • 配置管理服務 - 該服務提供一個易伸縮的動態(tài)模型來設置和獲得配置信息
    • 設備訪問服務 - 設備訪問是配置一個驅動器到一個新設備并自動下載實現(xiàn)該驅動器的包捆的機制
    • 用戶管理服務 - 該服務使用一個用戶信息數(shù)據(jù)庫(私有和公有)來鑒權和授權.
    • IO連接服務 - 實現(xiàn)了CDC/CLDC的javax.microedition.io包作為一個服務.該服務允許包捆提供新的,可選協(xié)議方案.
    • 參數(shù)選擇服務 - 提供屬性數(shù)據(jù)庫的訪問.和Windows的注冊表或Java的Preferences類.


    協(xié)議服務
    OSGi聯(lián)盟定義了以下外部協(xié)議服務:
    • Http服務 - 一個servlet容器.包捆可以提供servlet.OSGi的動態(tài)更新機制服務平臺使得Http服務變得非常誘人,加入新的servlet而不需要重啟.

    • UPnp服務 - 通用即插即用(Universal Plug and Play)是一個正在興起的用于用戶電子設備的標準,OSGi UPnP 將一個UPnP網絡設備映射到服務注冊表.或者,將一個服務映射到UPnP網絡(該服務在release 3中被推薦).
    • Jini服務 - Jini是一個網絡協(xié)議,用于在網絡上發(fā)現(xiàn)Jini服務并下載執(zhí)行.(該服務在release 3中被推薦).

    其他服務
    • 關聯(lián)管理服務(Wire Admin Service) - 通常包捆會自己建立查找服務的規(guī)則.但是在很多情況下,這是一個發(fā)布時需要考慮的問題.因此關聯(lián)管理服務會通過一個配置文件把不同的服務連接起來.使用消費者和生產者的概念來達到對象之間的互操作.
    • XML解析服務 - 允許一個包捆定位一個解析器并使用相應的屬性.與JAXP兼容.

    結論
    OSGi規(guī)范的適用范圍很廣.因為它通過一個很簡單的層使得同一個虛擬機的Java組件高效率的交互.通過一個擴展的安全模型來使組件運行在一個安全的環(huán)境中.通過恰當?shù)脑L問限制,組件可以被重用和組合.OSGi 框架還提供了一個擴展的部署機制來讓這種交互可行,安全.

    各個領域構建在OSGi之上的中間件的大量出現(xiàn),這就給OSGi軟件組件創(chuàng)造了一個很大的軟件市場.The rigid definition of the OSGi Service Platform enables components that can run on a variety of devices, from very small to very big. 

    采用OSGi規(guī)范可以降低軟件開發(fā)成本,同時提供新的商業(yè)機會.

    進一步閱讀
    OSGi Service Platform, Release 3下載:
    http://www.osgi.org/osgi_technology/download_specs2.asp?section=2
    或買書:
    https://secure.inventures.com/osgi/sales/R3Book_order_form.asp

    OSGi聯(lián)盟寫的技術白皮書:
    http://www.osgi.org/documents/osgi_technology/osgi-sp-overview.pdf
    更深入介紹OSGi的白板白皮書(whiteboard whitepaper):
    http://www.osgi.org/documents/osgi_technology/whiteboard.pdf

    譯者:derekzhangv.at.hotmail.com
    歡迎指正,討論

    posted on 2008-01-21 10:11 junky 閱讀(879) 評論(0)  編輯  收藏 所屬分類: framework


    只有注冊用戶登錄后才能發(fā)表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲熟伦熟女新五十路熟妇| 亚洲中文字幕日产乱码高清app| 国产AV无码专区亚洲AV蜜芽| 四虎免费影院4hu永久免费| eeuss影院免费92242部| 久久久久亚洲AV无码观看 | 中文字幕视频免费| 亚洲hairy多毛pics大全| 区久久AAA片69亚洲| 国产精品久久久久免费a∨| 国产亚洲精品美女| 亚洲视频在线免费看| 成人永久免费福利视频网站| 国产一区二区免费视频| 亚洲精品无码久久久久APP | 亚洲天堂一区二区| 亚洲Av无码国产情品久久| 99久久国产热无码精品免费 | 亚洲色一区二区三区四区| 久久久久亚洲精品男人的天堂| 97免费人妻无码视频| 中文永久免费观看网站| 亚洲精华国产精华精华液好用| 亚洲人成人无码网www电影首页| 韩国欧洲一级毛片免费| 久久成人免费电影| 一级做a爰片久久毛片免费看| 国产成人精品日本亚洲专区6| 亚洲中文字幕无码一区二区三区| 天天看片天天爽_免费播放| 日批视频网址免费观看| 黄页网站在线免费观看| 在线亚洲午夜片AV大片| 国产精品国产亚洲精品看不卡| 亚洲A∨精品一区二区三区| 久久久久久久久免费看无码| 亚洲视频免费观看| 玖玖在线免费视频| 精品一区二区三区高清免费观看| 亚洲AV无码精品国产成人| 亚洲人成网站在线观看播放青青|