OSGi帶來的規范的模塊化

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

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

          評論

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

          感謝你對OSGi的推廣所做的貢獻、、、  回復  更多評論   

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

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

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

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

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



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

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

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

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

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

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

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

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

          @BlueDavy
          剛剛才看到,我還想一直在想如何實現呢  回復  更多評論   

          公告

           









          feedsky
          抓蝦
          google reader
          鮮果

          導航

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

          統計

          隨筆分類

          隨筆檔案

          文章檔案

          Blogger's

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 龙州县| 道真| 巍山| 木兰县| 潮州市| 集安市| 乐山市| 弥勒县| 鄂尔多斯市| 喀喇| 富平县| 富民县| 涟源市| 南溪县| 定兴县| 垣曲县| 渝中区| 十堰市| 廊坊市| 深州市| 陇西县| 崇义县| 金沙县| 石门县| 廊坊市| 民县| 湾仔区| 东光县| 郧西县| 白水县| 柘城县| 渝北区| 延寿县| 滕州市| 恭城| 孟连| 太保市| 英德市| 合江县| 沅江市| 禹州市|