Play OSGi
Peter(OSGi主席)在7月3日的一篇blog上展示了一個(gè)很有趣的演示,相信可以給公眾很好的展示下使用OSGi是一件很好玩的事,很簡單的快速的基于OSGi搭建出各種各樣不同的系統(tǒng),我知道也許你會(huì)說你們的系統(tǒng)也可以,但你覺得真的能做到和基于OSGi所做出的系統(tǒng)的效果一樣嗎,really?如果可以的話,非常恭喜你,你對(duì)模塊化、動(dòng)態(tài)化都有很強(qiáng)很深的認(rèn)識(shí),如果不可以但又想做到這種效果的話,我覺得不妨和Peter所做的一樣試著Play OSGi,then Study OSGi and use it,:)。
這個(gè)演示其實(shí)比較簡單,但它很好的向大家展示出了基于OSGi系統(tǒng)的模塊化和動(dòng)態(tài)化是多么的容易,效果是多么的好,所以這是個(gè)非常不錯(cuò)的演示,建議大家都去看看:http://www.aqute.biz/Blog/20070703,這個(gè)演示的腳本的是這樣的:
1、在Eclipse中新建一個(gè)工程,加載OSGi所需的核心的jar包,以main程序的方式啟動(dòng);
2、從OBR中下載并安裝一個(gè)監(jiān)控目錄變化的Bundle,這個(gè)Bundle在監(jiān)控到目錄中文件發(fā)生變化時(shí)會(huì)進(jìn)行安裝或更新相應(yīng)的Bundle;
3、從OBR中下載一些游戲,放入監(jiān)控的目錄中,可以看到的效果就是游戲被自動(dòng)安裝了,并可開始使用;
4、從OBR中下載PHP解析器Bundle,放入監(jiān)控的目錄中;
5、從網(wǎng)上下載PHP版的Wiki,使用BND將其打包成jar;
6、將第5步打包生成的jar文件放入監(jiān)控的目錄中,放入后就可以通過網(wǎng)頁來使用這個(gè)php版的wiki了。
在整個(gè)過程的演示中,可以看到基于OSGi來實(shí)現(xiàn)這些是非常的流暢,也向大家展示了基于OSGi來做產(chǎn)品、做項(xiàng)目的一種方法,那就是可以首先通過公司的OBR或OSGi的OBR來尋找是否已經(jīng)有相同或類似功能的Bundle,如有的話則可直接安裝到OSGi上了,也就是說也許某一個(gè)項(xiàng)目、某一個(gè)產(chǎn)品演示你可以通過這樣安裝Bundle的方式就快速的完成了搭建,而且從安裝PHP Wiki的過程中可以看到要讓傳統(tǒng)的asp、PHP的系統(tǒng)運(yùn)行在OSGi上也是一件很容易的事,看到這些不想試試嗎?just try with Peter,:),Play OSGi happy.
在這個(gè)演示中可以看到OBR開始發(fā)揮作用了,同時(shí)也展示了另外一個(gè)好用的東西,那就是BND,關(guān)于BND Peter寫了一篇詳細(xì)的blog來介紹,請(qǐng)見:http://www.aqute.biz/Code/Bnd,簡單來說呢,就是可以通過BND將傳統(tǒng)的project打包為符合OSGi規(guī)范要求的Bundle,需要的僅僅是編寫一個(gè)bnd的文件,而且BND的使用非常的方便,可以使用命令行、Eclipse插件、Ant Task或者M(jìn)aven,Bnd還有很多別的作用,像通過一個(gè)jar包安裝其所需要的其他的所有的jar包,檢查一個(gè)插件里所有的依賴等等,這些可以通過Peter的這篇blog來看出:http://www.aqute.biz/Code/BndHibernate
ps:近來OSGi的發(fā)展還是一如既往的快速,OSGi得到的關(guān)注也是越來越多,從InfoQ這些高質(zhì)量的網(wǎng)站中也可以看出,OSGi正在得到各方面的高度關(guān)注,同時(shí)各大廠商現(xiàn)在也是大力的在支持,另外就是隨著SCA V1.0的推出,希望在SCA將來的規(guī)范中能很快的看到OSGi的影子。
posted on 2007-07-22 13:03 BlueDavy 閱讀(4514) 評(píng)論(4) 編輯 收藏 所屬分類: OSGi、SOA、SCA