斥資千圓大洋,購進一本薄薄的原文書:Modular Java。它是講OSGi(我真有錢)。

  今天上午Demo了Maven,也讓與會者感嘆,若Vibo案早點引進不就好了。除了富邦案和現在這個案子,有誰敢給這個時間去踹一個不見得會成功的技術,就算是有七成把握,PM們也不願冒三成的風險,除了這兩個案子的當時的老板外。我當然有看錯的時候,Ruby on Rails沒有預期的紅,但它的約定優於配置的概念卻影響深遠。

  今年不斷嘗試framework所需的新技術,除了Maven以外,其實到處都有OSGi的蹤影。Struts2 v2.1.8支援、JPA 2.0也支援,而這本書開頭就形容OSGi就是JVM上的SOA,SOA是通常用於Web,但有誰會認為可以用於JVM。而在本書的提示下,原來啊!Eclipse 3.x開始,底層就是OSGi實作出來的。

  雖然以前就聽說了,但看了書中的展示,還是相當訝異。我用的是Eclipse 3.5,DOS切到Eclipse主目錄下的plugins子目錄,有個jar檔叫org.eclipse.org_3.5.0.v20090520.jar,格式其實是org.eclipse.org_{eclipse版本}.{年月日}.jar。執行如下:

java –jar org.eclipse.org_3.5.0.v20090520.jar -console

  就有osgi>提示的console,跑的就是Eclipse專用的Equinox。而若切到Eclipse主目錄,執行如下:

eclipse.exe -console

  會先osgi console視窗再出現Eclipse畫面,而當您在osgi>提示下輸入headers 0,就會發現Eclipse plugin其實都是OSGi形式的bundle釋出。我猜這也是Eclipse安裝新的plugin後不需要重啟就能更新的原因。OSGi就是可以讓插件在runtime下載入、更新和卸除而不妨礙正在運行的系統。

  而除了Eclipse以外,BMW汽車應用控制系統也是使用OSGi作為嵌入式系統,證明了OSGi兼具輕巧與高效的性能。

arrow
arrow
    全站熱搜

    Jemmy 發表在 痞客邦 留言(2) 人氣()