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