最近一段時(shí)間,OSGi這個(gè)詞在業(yè)界出現(xiàn)的頻率已經(jīng)越來越高,其受關(guān)注的程度也已經(jīng)在大幅度的增長,當(dāng)然,這其中不可否認(rèn)OSGi聯(lián)盟、Eclipse、IBM等的推廣,但這主要當(dāng)然還是得益于OSGi在規(guī)范的模塊化以及動態(tài)化的管理的領(lǐng)先優(yōu)勢,但也會發(fā)現(xiàn),很多廠商以及很多人對于OSGi仍然處于觀望階段,這主要還是因?yàn)镺SGi在企業(yè)應(yīng)用上目前尚無太多案例的原因,但OSGi就真的不適合企業(yè)應(yīng)用了嗎,還是別的原因讓這么多的廠商、這么多的人對OSGi只是處于觀望的階段呢,應(yīng)該說,主要原因應(yīng)該是OSGi目前對于企業(yè)應(yīng)用缺少足夠的基礎(chǔ)設(shè)施,OSGi聯(lián)盟顯然認(rèn)識到了OSGi在企業(yè)應(yīng)用上的不足,9月11日OSGi聯(lián)盟對外正式宣布了EEG(EEG的成員包含了IBM、BEA等各大廠商)的成立;而Spring與OSGi的結(jié)合更是很好的推動OSGi進(jìn)入企業(yè)應(yīng)用。那么,就現(xiàn)在的OSGi規(guī)范來看,它離企業(yè)應(yīng)用到底還有多遠(yuǎn)呢:
1、分布式
????? OSGi之初制定的目標(biāo)是為了解決同一JVM下的系統(tǒng),并沒有考慮在分布式的情況下的交互等的問題,而這也是EEG需要解決的最為關(guān)鍵的問題。
????? 如果目前需要基于OSGi做這種分布式的應(yīng)用的話,采用Webservice也是個(gè)不錯的方案。
2、事務(wù)
??????事務(wù)是企業(yè)應(yīng)用中的重要問題,OSGi目前尚無此方面的支持。
3、持久
??????持久在OSGi中雖然也有幾個(gè)服務(wù)提供了支持,但對于企業(yè)應(yīng)用而言這些都弱了些,當(dāng)然,這個(gè)完全可以自己提供持久的Bundle來實(shí)現(xiàn)。
4、B/S應(yīng)用
????? B/S是目前最為流行的體系結(jié)構(gòu),OSGi僅提供的Servlet方式無法滿足復(fù)雜的B/S企業(yè)應(yīng)用,不過在這塊OSGi已經(jīng)有了長足的進(jìn)步,相信不久的將來在這塊不會有什么大問題,而其實(shí)基于目前的OSGi規(guī)范實(shí)現(xiàn)B/S應(yīng)用并不會出現(xiàn)什么大的問題。
5、其他的基礎(chǔ)設(shè)施
????? 象AOP、通用的一些操作類等基礎(chǔ)設(shè)施都是對于企業(yè)應(yīng)用而言較為關(guān)鍵的,這些在將來的OBR中也都是應(yīng)該提供的。
上面這些問題確實(shí)阻礙了OSGi應(yīng)用到企業(yè)領(lǐng)域,但各大廠商以及OSGi聯(lián)盟對于促進(jìn)OSGi進(jìn)入企業(yè)應(yīng)用而做出的努力是眾所皆知的,而Spring和OSGi的結(jié)合更是為OSGi進(jìn)入企業(yè)應(yīng)用領(lǐng)域掃平了很多的障礙,相信在不久的將來OSGi必將出現(xiàn)在企業(yè)應(yīng)用的領(lǐng)域中,而到時(shí)以O(shè)SGi為基礎(chǔ)開發(fā)企業(yè)應(yīng)用必將比現(xiàn)在容易很多很多。
By the?way:
在9月11日OSGi聯(lián)盟舉行的關(guān)于OSGi應(yīng)用到企業(yè)應(yīng)用中的討論會議上,鎖定了EEG在目前階段需要解決的OSGi進(jìn)入企業(yè)應(yīng)用領(lǐng)域的三個(gè)焦點(diǎn)問題:分布式、基于OSGi的應(yīng)用級別的聲明周期管理以及更加復(fù)雜的動態(tài)依賴的管理(JVM外的)。
?????