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

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

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

    隨筆-1  評論-9  文章-7  trackbacks-0

    OSGi誕生初期,其目的主要是能夠靈活方便并遠程管理互聯的網絡嵌入設備,OSGi聯盟上對于OSGi service platform有這樣一句解釋:The OSGi service platform delivers an open, common architecture for service providers, developers, software vendors, gateway operators and equipment vendors to develop, deploy and manage services in a coordinated fashion.OSGi service platform是一個開放并且提供通用接口標準的體系框架,基于這個體系框架,服務提供商,程序開發人員,軟件提供商,服務網管運營商,設備提供商能夠協調地聯合起來開發,部署以及管理向用戶提供的各種服務)。隨著OSGi的發展,逐漸被引入到企業應用領域。

    目前,OSGi規范的最新版本為R4.2,有關該規范的詳細情況請閱讀OSGi實戰的第7節——深入OSGiOSGi框架主要分為四部分:運行環境(executionenvironment)、模塊(Modules)、生命周期管理(Life Cycle)、服務注冊(Service Registry)。運行在OSGi環境中的是一個個的Bundle,也就是Modules的具體實現。

    對于每個bundle,都有各自的ClassLoader,在這一點上和傳統的Web應用有相似之處,在傳統的Web應用開發完成之后,都會將其部署在TomcatJboss等服務器上,這些Web應用都有著各自的ClassLoader環境,而兩者之間的區別在于,傳統的Web應用無法做到資源的共享,因為它們是完全獨立、隔離的。OSGi框架為bundle之間的協作提供了底層支持,通過在bundleMANIFEST.MF文件中Import-PackageExport-Package等項,bundle之間就能相互共享資源及服務,在以后的博文中,我將給出一個具體的示例。

    由于OSGi具有良好的模塊化結構,我個人認為這將為將來的軟件開發方式帶來很大的沖擊,將更進一步推進模塊化開發。目前Web應用的開發一般采用SSH框架,將整個應用大致分為Web(負責前臺展現)、Service(負責業務邏輯處理)、DAO(負責數據持久化)、Domain(全局實體類)幾個模塊,而發布的時候,將被一起打成WAR包,部署至服務器上。如果采取bundle的形式,每個模塊可以做為獨立的bundle進行開發和部署,bundle之間的協作可以通過上述的方式進行,而這樣帶來的好處就是,一旦需要對某個模塊進行更改,在保證依賴接口不變的前提下,就可以單獨更改相應的bundle,再進行熱部署即可,這樣一來,好處是顯而易見的,有效的分離了各個模塊,減少了維護成本。

    由于采用bundle的形式,也增強了模塊的復用性。這也是得益于OSGi良好的模塊化方式。

    另外一個很重要的點就是OSGi具備熱拔插特性,bundle的安裝、啟動、停止、卸載都可以在運行時指定,并且可以隨時更改。這樣一來,我們就可以做到無需重啟整個應用,而只對需要更改的部分進行升級或打補丁即可。Bundl的狀態圖轉換如下圖所示:


    1 OSGi bundle狀態轉換圖

    以上將OSGi的一些基本的,但也是很重要的東西大概介紹了一下,在以后的博文中逐步深入吧。以上都是關于OSGi原理性的東西,那么實現該規范的有哪些產品呢?最有名的應該要數EclipseEquinox框架了,在網上查資料見有人說過,Eclipse3.0的那一次升級把自身的構架做了一次非常大的調整,其主要原因就是采用了OSGi框架,更好的支持了Eclipse的插件體系。另外還有Felixknopflerfish等。

    不過話說回來,盡管OSGi有很多好處,但是現在主要還是應用在服務器端,如現在的應用服務器基本上都采用OSGi的框架,而真正的應用市場仍處理起步階段,這和OSGi的生態環境還不成熟,可喜的是Spring推出了其Spring DMSpringSource DM Server,前者能夠很方便發布和引用服務,并且與Spring Framework平臺相融合,將OSGibundle contextSpring applicationContext融合在一起,大大方便了OSGi的應用。后者是OSGi bundle的運行環境,是一個將EquinoxTomcat融合在一起的服務器。在以后的博文中將詳細介紹這些內容。

    posted on 2010-03-28 11:47 Dreava 閱讀(609) 評論(0)  編輯  收藏 所屬分類: OSGi

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


    網站導航:
     
    主站蜘蛛池模板: 中文字幕av免费专区| 亚洲成a人片在线观看国产| 日韩一级片免费观看| 亚洲中文字幕人成乱码| 亚洲国产婷婷六月丁香| 男人的天堂亚洲一区二区三区 | 在线观看片免费人成视频无码| 亚洲男人的天堂网站| 亚洲成人免费在线观看| 亚洲国产精品国自产电影| 亚洲色偷偷狠狠综合网| 韩国免费三片在线视频| 亚洲高清中文字幕免费| **aaaaa毛片免费同男同女| 国产无遮挡裸体免费视频在线观看| 日本精品久久久久久久久免费| 亚洲国产成人精品无码区二本 | A级毛片高清免费视频在线播放| 老司机午夜在线视频免费观| 亚洲AV永久无码天堂影院| 亚洲五月综合网色九月色| 亚洲美女aⅴ久久久91| 午夜亚洲AV日韩AV无码大全| 国产精品亚洲片在线| 亚洲熟妇无码乱子AV电影| 久久精品亚洲男人的天堂| 亚洲国产综合精品中文字幕| 亚洲AV无码乱码在线观看性色扶 | 亚洲男人都懂得羞羞网站| 亚洲国产精品无码久久久秋霞2 | 三级黄色免费观看| 黄色网址免费在线观看| 国产成人无码精品久久久久免费| 成人午夜免费视频| 国产V片在线播放免费无码| 国产成人高清精品免费观看| 99精品视频在线观看免费| 人妻在线日韩免费视频| av永久免费网站在线观看 | 亚洲人成片在线观看| 亚洲av一本岛在线播放|