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

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

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

    無(wú)為

    無(wú)為則可為,無(wú)為則至深!

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      190 Posts :: 291 Stories :: 258 Comments :: 0 Trackbacks

    1、OSGi 的體系架構(gòu)是基于插件式的軟件結(jié)構(gòu),包括一個(gè) OSGi 框架和一系列插件,在 OSGi中,插件稱為 Bundle,其中,OSGi 框架規(guī)范是 OSGi 規(guī)范的核心部分,它提供了一個(gè)通用的、安全可管理的 Java 框架,通過(guò)這個(gè)框架,可以支持 Bundle 服務(wù)應(yīng)用的部署和擴(kuò)展。Bundle 之間可以通過(guò) Import Package 和 Require-Bundle 來(lái)共享 Java 類,在 OSGi 服務(wù)平臺(tái)中,用戶通過(guò)開發(fā) Bundle 來(lái)提供需要的功能,這些 Bundle 可以動(dòng)態(tài)加載和卸載,或者根據(jù)需要遠(yuǎn)程下載和升級(jí)。OSGi 體系結(jié)構(gòu)圖如圖 1 所示:


    圖示1 OSGi 體系結(jié)構(gòu)
    圖示1 OSGi 體系結(jié)構(gòu)

    其中:

    Execution Environment:

    Bundle 應(yīng)用所倚賴運(yùn)行的 Java 執(zhí)行環(huán)境,如 J2SE-1.4、CDC-1.0 等都是可用的執(zhí)行環(huán)境。

    Modules:

    模塊層定義了 Bundle 應(yīng)用的加載策略。OSGi 框架是一個(gè)健壯并且嚴(yán)格定義的類加載模型。在大多數(shù) Java 應(yīng)用中,通常只有一個(gè)單獨(dú)的 ClassPath,它包含了所有的 Java 類文件和資源文件,OSGi基于Java技術(shù),對(duì)于每個(gè)實(shí)現(xiàn)了 BundleActivator 接口的 Bundle 應(yīng)用,為它生成一個(gè)單獨(dú)的 ClassLoader,使得 Bundle 應(yīng)用的組織更加模塊化。

    Life Cycle:

    生命周期層可以動(dòng)態(tài)地對(duì) Bundle 進(jìn)行安裝、啟動(dòng)、停止、升級(jí)和卸載等操作。該層基于模塊層,提供了一組 API 來(lái)控制 Bundle 應(yīng)用的運(yùn)行時(shí)操作。

    Service Registry 和 Services:

    OSGi 服務(wù)層定義了一個(gè)集成在生命周期層中的動(dòng)態(tài)協(xié)作模型,是一個(gè)發(fā)布、動(dòng)態(tài)尋找、綁定的服務(wù)模型。一個(gè)服務(wù)通常是一個(gè) Java 對(duì)象實(shí)現(xiàn)了特定的服務(wù)接口,并且通過(guò)服務(wù)注冊(cè),被綁定到 OSGi 的運(yùn)行環(huán)境中。Bundle 應(yīng)用可以注冊(cè)發(fā)布服務(wù),動(dòng)態(tài)綁定服務(wù),并且在服務(wù)注冊(cè)狀態(tài)改變時(shí),可以接受到事件消息等。

    Security:

    OSGi 的安全管理是基于 Java2 安全體系的,貫穿在 OSGi 平臺(tái)的所有層中,它能夠?qū)Σ渴鹪?OSGi 運(yùn)行環(huán)境中的 Bundle 應(yīng)用進(jìn)行詳細(xì)的管理控制。


    2、Bundle 生命周期的狀態(tài)分析

    在一個(gè)動(dòng)態(tài)擴(kuò)展的 OSGi 環(huán)境中,OSGi 框架管理 Bundle 的安裝和更新,同時(shí)也管理 Bundle 和服務(wù)之間的依賴關(guān)系。一個(gè) Bundle 可能處于以下六個(gè)狀態(tài),如圖 2 所示:


    圖示 2 Bundle 狀態(tài)圖
    圖示 2 Bundle 狀態(tài)圖

    INSTALLED:安裝完成,本地資源成功加載。

    RESOLVED:依賴關(guān)系滿足,這個(gè)狀態(tài)意味該Bundle要么已經(jīng)準(zhǔn)備好運(yùn)行,要么是被停止了。

    STARTING:Bundle正在被啟動(dòng),BundleActivator的start()方法已經(jīng)被調(diào)用但是還沒(méi)有返回。

    STOPPING:Bundle正在被停止,BundleActivator的stop()方法已經(jīng)被調(diào)用但是還沒(méi)有返回。

    ACTIVE:Bundle 被成功啟動(dòng)并且在運(yùn)行。

    UNINSTALLED:bundle被卸載并且無(wú)法進(jìn)入其他狀態(tài)。

    Bundle接口定義了getState()方法來(lái)返回Bundle的狀態(tài)。



    凡是有該標(biāo)志的文章,都是該blog博主Caoer(草兒)原創(chuàng),凡是索引、收藏
    、轉(zhuǎn)載請(qǐng)注明來(lái)處和原文作者。非常感謝。

    posted on 2007-08-29 09:40 草兒 閱讀(2865) 評(píng)論(2)  編輯  收藏 所屬分類: 關(guān)注OSGi

    Feedback

    # re: OSGi 體系結(jié)構(gòu)及Bundle簡(jiǎn)介 2007-08-30 12:43 JAVA面試題
    專業(yè)啊  回復(fù)  更多評(píng)論
      

    # re: OSGi 體系結(jié)構(gòu)及Bundle簡(jiǎn)介 2012-12-11 15:35 我日
    @JAVA面試題
    專業(yè)什么啊。。抄襲  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 亚洲免费在线视频播放| 亚洲AV成人一区二区三区观看| 亚洲精品无码MV在线观看| 亚洲成av人片一区二区三区 | 亚洲av中文无码字幕色不卡| 亚洲国产成人久久三区| 亚洲国产日韩女人aaaaaa毛片在线| 亚洲最大在线视频| 亚洲乱码中文论理电影| 亚洲人成电影网站久久| 亚洲欧美日韩中文二区| 久久亚洲精品无码网站| 成人精品国产亚洲欧洲| 日韩在线视频播放免费视频完整版| 色多多A级毛片免费看| 中文在线观看永久免费| 两个人看的www高清免费视频 | 久久久亚洲精华液精华液精华液 | 久久亚洲中文字幕精品有坂深雪 | 亚洲日韩小电影在线观看| 久久九九亚洲精品| 久久亚洲精品成人av无码网站| 亚洲激情电影在线| 一本色道久久88—综合亚洲精品 | 亚洲尹人香蕉网在线视颅| 亚洲成人高清在线观看| 涩涩色中文综合亚洲| 黄色三级三级三级免费看| 丰满人妻一区二区三区免费视频| 久久这里只精品热免费99| 91热成人精品国产免费| 免费无码看av的网站| 亚洲精品国产高清不卡在线| 国精无码欧精品亚洲一区 | MM131亚洲国产美女久久| 亚洲AV无码乱码国产麻豆| 亚洲午夜电影在线观看| 美女免费视频一区二区三区| 中文字幕无码一区二区免费| 黄页网站免费观看| 亚洲国产精品无码久久久久久曰 |