osgi介紹(一)什么是osgi
過于的一年多,在和很多it屆的同學(xué)及朋友見面時(shí),他們總會問我最近在做什么?!癘SGi!”,我不加思索的回答。到目前為止,對這個(gè)單詞得到的反應(yīng)都沒有超出“這是什么?”,“我沒有聽說過”,“噢,能具體點(diǎn)嗎?”等等。而我的回答更讓他們糊涂,最后,大家干脆放棄這個(gè)話題,轉(zhuǎn)到買房,運(yùn)動等等更能體現(xiàn)聚會實(shí)質(zhì)的問題上。不過最近,我一直在思考這個(gè)問題,下次再遇到這種情況時(shí),該如何去表達(dá)才能讓也是it屆的哥們姐們能迅速的理解這個(gè)領(lǐng)域的范圍呢?要知道,技術(shù)人員往往不善于表達(dá),我們已經(jīng)習(xí)慣了和業(yè)內(nèi)人士用行話交流。
關(guān)于這個(gè)問題,我訪問了OSGi Alliance的網(wǎng)站,在里面的faqs中,找到了我想要的東西。實(shí)際上,正如faqs中所解答的,OSGi涵蓋了太多的范圍,簡單的兩三句話是無法說清楚的。而我這里指的OSGi從技術(shù)的角度,應(yīng)該說是“OSGi service platform ”,faqs中這樣解釋OSGi service platform(http://www.osgi.org/about/faqs.asp?section=1#q19) :
The OSGi service platform delivers an open, common architecture for service providers, developers, software vendors, gateway operators and equipment vendors to develop, deploy and manage services in a coordinated fashion. .......(以下省略上千英文單詞)
好長!不過第一句話就已經(jīng)能總結(jié)陳詞了,“OSGi service platform是一個(gè)開放并且提供統(tǒng)一接口標(biāo)準(zhǔn)的體系框架,基于這個(gè)體系框架,服務(wù)提供商,程序開發(fā)人員,軟件提供商,服務(wù)網(wǎng)管運(yùn)營商,設(shè)備提供商能夠協(xié)調(diào)地聯(lián)合起來開發(fā),部署以及管理向用戶提供的各種服務(wù)?!边€需要提到的是OSGi service platform是一個(gè)基于Java的platform。
OSGi的提出和誕生之初,其目的主要是能夠靈活方便并遠(yuǎn)程管理互聯(lián)的網(wǎng)絡(luò)嵌入設(shè)備(聽說是1997年左右提出,與Jini有深厚淵源)。隨著硬件設(shè)備的能力不斷提高,java技術(shù)的日益普及,尤其J2ME的壯大,現(xiàn)實(shí)應(yīng)用的需求也不斷擴(kuò)大和推進(jìn),一個(gè)統(tǒng)一的標(biāo)準(zhǔn)變得非常的必要。OSGi Alliance就在這樣的背景下成立了。從1999年成立以來,OSGi Alliance已經(jīng)針對這個(gè)service platform發(fā)布了4版規(guī)范,其中r4是2005年10月份剛剛發(fā)布。
目前有不少公司對OSGi service platform推出了自己的實(shí)現(xiàn),象ibm的smf(Service Management Framework,嗯,多好的名字,在那么多的platform實(shí)現(xiàn)中,我個(gè)人最喜歡這個(gè)名字,言簡意賅)。
德國的ProSyst公司(http://www.prosyst.com)是OSGi Alliance中非?;钴S的推動者,看看他們的產(chǎn)品列表吧http://www.prosyst.com/products/osgi.html(他們甚至提供了kvm + cldc的OSGi framework)
開源的Oscar(http://oscar.objectweb.org/),Knopflerfish(http://www.knopflerfish.org/)
對于OSGi的成功應(yīng)用,最有名的應(yīng)該是eclipse了,它就是基于OSGi service platform的產(chǎn)品。還有Apache,據(jù)說OSGi將被應(yīng)用于其新一代的build工具中。這些都是j2se和j2ee的應(yīng)用,而基于j2me的,手機(jī)(對應(yīng)OSGi Alliance的MEG)和車載設(shè)備(對應(yīng)OSGi Alliance的VEG)是OSGi的主要領(lǐng)域,OSGi Alliance已經(jīng)有相應(yīng)的規(guī)范,這些領(lǐng)域的應(yīng)用相信會更加精彩,讓我們拭目以待吧。