OSGi帶來的規(guī)范的模塊化

          規(guī)范的模塊化開發(fā)是需要OSGi的重要理由之一,模塊化的開發(fā)方式一直就是現(xiàn)在的主流開發(fā)方式,但業(yè)界卻一直缺乏這樣的標(biāo)準(zhǔn),當(dāng)然,如果java本身具備這樣的標(biāo)準(zhǔn)自然就更好了,那么大家就會很自然的以同樣的方式去設(shè)計(jì)、開發(fā)和部署模塊,但目前java暫時(shí)還沒有這樣的標(biāo)準(zhǔn),雖然之前的JSR 277(Java Module System)的目標(biāo)是制定這樣的標(biāo)準(zhǔn),但由于該標(biāo)準(zhǔn)制定完后并沒有得到業(yè)界和各大廠商的認(rèn)可,所以基本上沒起到什么作用,而現(xiàn)在JSR 291的認(rèn)可則更是觸動了它,目前的情況看下去,OSGi成為下一個(gè)版本的Java Module System JSR只是時(shí)間的問題而已,整個(gè)業(yè)界能夠采取統(tǒng)一的方式進(jìn)行模塊的設(shè)計(jì)、開發(fā)是非常重要和有意義的事,這也是OSGi得到IBM等大公司支持的重要原因之一,說了這么多背景性質(zhì)的話后開始來看看OSGi是如何規(guī)范化模塊的開發(fā)的:
          1、模塊的定義
          ????? 在OSGi中模塊以Bundle的形式進(jìn)行定義,而對于模塊中的重要概念如模塊的依賴、模塊的版本、模塊對外提供的功能等都通過規(guī)范的Bundle的元數(shù)據(jù)信息來表達(dá),這就使得模塊的定義得以規(guī)范。
          ????? 而同樣的OSGi對于模塊的規(guī)范化的定義也是平時(shí)我們在進(jìn)行模塊化的定義時(shí)值得參考的。
          2、模塊的設(shè)計(jì)
          ??????在模塊的設(shè)計(jì)上首先遵循OSGi Bundle的方式無疑為我們的模塊設(shè)計(jì)提供了類似Best Practice的指導(dǎo),這個(gè)對于構(gòu)建整個(gè)系統(tǒng)而言具備非常強(qiáng)的指導(dǎo)意義,我們知道在進(jìn)行業(yè)務(wù)架構(gòu)設(shè)計(jì)時(shí)最重要的就是模塊的劃分和依賴的設(shè)計(jì),而這從OSGi上都給予了非常好的指導(dǎo)。
          ????? 而對于模塊本身的實(shí)現(xiàn)方面的設(shè)計(jì)而言,OSGi更是提供了Service-Oriented Component Model做為設(shè)計(jì)的指引和參考,這從本身上來講已經(jīng)提升了目前的很多的模塊的設(shè)計(jì)方法。
          ??????可見,從設(shè)計(jì)這個(gè)層面上來說,OSGi不僅提供了規(guī)范化的方法,一定程度上來說更是提供了模塊化設(shè)計(jì)的Best Practice。
          3、模塊的部署
          ????? 在OSGi中模塊統(tǒng)一以Bundle的方式部署到系統(tǒng)中。
          在以前的很多的插件式的系統(tǒng)中也能找到上面三個(gè)部分的影子,但最關(guān)鍵的是那些都不足以形成業(yè)界統(tǒng)一的規(guī)范,規(guī)范性才是模塊化中最為重要的一點(diǎn),當(dāng)然,OSGi在動態(tài)性方面的優(yōu)勢使得它在這一領(lǐng)域占據(jù)了優(yōu)勢,也使得OSGi在模塊的管理上具備很強(qiáng)的優(yōu)勢,象模塊的生命周期的動態(tài)管理、模塊的版本化管理以及模塊行為的動態(tài)改變等。

          posted on 2006-09-14 15:32 BlueDavy 閱讀(2388) 評論(8)  編輯  收藏 所屬分類: OSGi、SOA、SCA

          評論

          # re: OSGi帶來的規(guī)范的模塊化 2006-09-14 15:50 差沙

          感謝你對OSGi的推廣所做的貢獻(xiàn)、、、  回復(fù)  更多評論   

          # re: OSGi帶來的規(guī)范的模塊化 2006-09-14 16:35 BlueDavy

          @差沙
          ...希望能有越來越多的人使用OSGi..  回復(fù)  更多評論   

          # re: OSGi帶來的規(guī)范的模塊化 2006-09-14 18:38 JRobot

          能不能介紹些入門的相關(guān)知識哇,好像這方面的還很少  回復(fù)  更多評論   

          # re: OSGi帶來的規(guī)范的模塊化 2006-09-14 23:35 飛飛



          是啊,我對OSGI還不太明白呢!  回復(fù)  更多評論   

          # re: OSGi帶來的規(guī)范的模塊化 2006-09-15 11:16 BlueDavy

          @JRobot
          ...請參見我寫的OSGi Opendoc。  回復(fù)  更多評論   

          # re: OSGi帶來的規(guī)范的模塊化 2006-11-08 17:16 生與夏花

          對于一個(gè)系統(tǒng)的分析,一套好的系統(tǒng)模型時(shí)非常重要的,他不僅可以規(guī)范設(shè)計(jì),還可以避免我們犯錯,OSGI規(guī)范正是提供了這一套好的系統(tǒng)模型。在這個(gè)基礎(chǔ)之上我們可以設(shè)計(jì)出于我們業(yè)務(wù)相關(guān)的業(yè)務(wù)模型出來。
          對于模塊的部署,是不是可以借鑒一點(diǎn)Maven的repositer概念,這樣在開發(fā)的時(shí)候我們可以共用一個(gè)remote的bundler庫進(jìn)行開發(fā),在本地有一個(gè)local開發(fā)庫,對于公共的bundle,比如說框架部分的bundler,一些通用的服務(wù)性質(zhì)的bundler庫,如LogService,JOTM(分布式事務(wù)管理器),JPA service都可以發(fā)布到遠(yuǎn)程的bundle庫中,統(tǒng)一進(jìn)行更新和維護(hù)。
          這樣我們就可以把continous integration 機(jī)制加入進(jìn)來,通過Mevan(個(gè)人覺得如果使用osgi作為Maven的核心架構(gòu)的話,會對Mavne的功能有很大的提升)的mojo來擴(kuò)展自己的插件,這樣就把OSGI的開發(fā)和管理都集成為一個(gè)統(tǒng)一整體.  回復(fù)  更多評論   

          # re: OSGi帶來的規(guī)范的模塊化 2006-11-08 17:26 BlueDavy

          @生與夏花
          OBR就是借鑒了Maven的repositer概念..  回復(fù)  更多評論   

          # re: OSGi帶來的規(guī)范的模塊化 2006-11-08 17:32 生與夏花

          @BlueDavy
          剛剛才看到,我還想一直在想如何實(shí)現(xiàn)呢  回復(fù)  更多評論   

          公告

           









          feedsky
          抓蝦
          google reader
          鮮果

          導(dǎo)航

          <2006年9月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          統(tǒng)計(jì)

          隨筆分類

          隨筆檔案

          文章檔案

          Blogger's

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 西林县| 类乌齐县| 天全县| 黎平县| 罗江县| 清镇市| 贵州省| 丹阳市| 华宁县| 南阳市| 台中市| 义马市| 石阡县| 陇西县| 长治县| 泰安市| 湘潭市| 奉节县| 景谷| 雅江县| 鹤岗市| 浦城县| 晋中市| 建昌县| 城固县| 和田市| 波密县| 舟山市| 侯马市| 奎屯市| 重庆市| 罗源县| 泗阳县| 山阳县| 龙泉市| 旺苍县| 琼中| 枞阳县| 景东| 阜平县| 沁阳市|