OSGi和SCA間的關(guān)系淺析
OSGi和SCA到底能有什么關(guān)系呢,確實,至少從現(xiàn)有的OSGi規(guī)范以及SCA規(guī)范分別來看,兩者沒有直接的關(guān)聯(lián),由于OSGi規(guī)范是對于嵌入式領(lǐng)域的軟件而制定的,其特別注重軟件的動態(tài)性的支持,而SCA規(guī)范是對于企業(yè)應用領(lǐng)域的軟件而制定的,并且是基于SOA的,其特別注重對于企業(yè)應用而言的基礎(chǔ)設(shè)施的實現(xiàn),同時又盡量的去屏蔽對于SCA容器使用者而言SOA帶來的技術(shù)實現(xiàn)細節(jié)的難度;但根據(jù)OSGi規(guī)范以及SCA規(guī)范,同時又能發(fā)現(xiàn)兩者有個共同希望解決的問題,那就是規(guī)范的模塊化,這是OSGi規(guī)范和SCA規(guī)范中的一個共同目標。
51CTO編輯推薦:OSGi入門與實踐全攻略
在規(guī)范的模塊化上無疑OSGi占據(jù)了優(yōu)勢,OSGi規(guī)范詳細的定義了作為OSGi框架應該如何去實現(xiàn)以支撐規(guī)范的模塊化,同時也定義了應該如何規(guī)范的來建設(shè)模塊,而在SCA規(guī)范中只定義了如何規(guī)范的來建設(shè)模塊,并未定義如何規(guī)范的來實現(xiàn)SCA容器,既然是這樣,SCA規(guī)范是否可以考慮直接使用現(xiàn)有的好輪子---OSGi作為SCA容器實現(xiàn)的基礎(chǔ)呢,在使用OSGi的情況下,SCA容器就沒必要費勁就考慮怎么樣實現(xiàn)自己規(guī)范的模塊化了,這個就有點象當年的Java Module System規(guī)范,除非SCA小組能夠有突破性進展的實現(xiàn)規(guī)范模塊化的方法,那另當別論。
使用OSGi的話自然的就給SCA帶去了一個好處,那就是動態(tài)性的支持上,這是OSGi的核心也是***的優(yōu)勢,Peter在他***的blog中也提及Module Layer是OSGi規(guī)范中最為關(guān)鍵的部分,正是因為Module Layer才使得OSGi其他部分得以搭建。
當然,基于OSGi去實現(xiàn)SCA容器必然會碰到這樣那樣的技術(shù)難題,這可以依靠OSGi框架的實現(xiàn)者們和SCA容器的實現(xiàn)者們來協(xié)作的解決,就像Spring and OSGi。
那么對于OSGi而言呢,基于OSGi去實現(xiàn)SCA容器又會給OSGi帶來什么好處呢,其實非常明顯,在這樣的情況下OSGi就真正的進入了企業(yè)應用領(lǐng)域,真正的成為了以后企業(yè)應用領(lǐng)域的核心基礎(chǔ),所以我在之前的blog中說過,SCA非常象是OSGi在企業(yè)應用的延伸或擴展形成的規(guī)范。
當然,要做到上面所說的,不僅僅是想就有用的,需要去努力做到,近期準備發(fā)封mail先試探著問問OSGi EEG們對于SCA有什么想法,是否可以考慮直接讓SCA變成OSGi EEG的規(guī)范,同時讓SCA規(guī)范制定小組納入OSGi Core作為SCA容器實現(xiàn)的規(guī)范的部分。
近期Spring and OSGi的進展非??上玻F(xiàn)在Spring and OSGi的project已經(jīng)提升為了正式的project,而且在提升之前也對外正式公布了Spring and OSGi的repository,Spring and OSGi project的網(wǎng)站地址位于:http://www.springframework.org/osgi
【編輯推薦】