OSGi引無數(shù)英雄折腰
■ 徐敏榮
OSGi的提出并不是同類規(guī)范中最早的,但它卻漸漸成為其中影響力最大的一個(gè),并且對(duì)它的支持也越來越多。為什么?因?yàn)樗拈_放和通用。它的出現(xiàn)像一個(gè)大家閨秀,引來無數(shù)追隨者,但它的通用也像大家閨秀的矜持一樣,使得追隨者在其基礎(chǔ)之上進(jìn)行開發(fā)時(shí),需要投入更多的工作量。所以O(shè)SGi正在不斷細(xì)化,它的潛能還有待進(jìn)一步開采。 OSGi(Open Service Gateway Initiative)最初的目的就是為各種嵌入式設(shè)備提供通用的軟件運(yùn)行平臺(tái),即可以屏蔽設(shè)備操作系統(tǒng)與硬件區(qū)別的中間件平臺(tái)。PC基本上被Wintel架構(gòu)壟斷,運(yùn)行在PC上的應(yīng)用程序完全可以在另一臺(tái)PC上運(yùn)行;但對(duì)于設(shè)備來說就不同,它們的硬件平臺(tái)可能完全不同,其操作系統(tǒng)也是來自不同廠商,所以任何設(shè)備上的應(yīng)用程序都需要定制,于是就產(chǎn)生了對(duì)中間件平臺(tái)的需求。 據(jù)此可以看到,OSGi并不是專為家庭網(wǎng)絡(luò)而制定的,除了住宅網(wǎng)關(guān),像車載電腦等其他移動(dòng)嵌入式設(shè)備也都可以通過OSGi接入Internet,獲取不同的應(yīng)用服務(wù)。它為服務(wù)供應(yīng)商、軟件供應(yīng)商、網(wǎng)關(guān)開發(fā)人員以及設(shè)備供應(yīng)商提供了一個(gè)開放、通用的架構(gòu),使它們能互動(dòng)地開發(fā)、部署和管理服務(wù)。其軟件環(huán)境基于Sun的Java虛擬機(jī),并不涉及具體的連接協(xié)議。對(duì)于任何新設(shè)備,它都能夠靈活地將其納入現(xiàn)有網(wǎng)絡(luò)??梢允褂肙SGi的對(duì)象包括各種數(shù)字和模擬的機(jī)頂盒、服務(wù)網(wǎng)關(guān)、有線電視電纜調(diào)制解調(diào)器、消費(fèi)類電子產(chǎn)品、PC、工業(yè)計(jì)算機(jī)、汽車等。 1999年3月,OSGi組織成立,由眾多營利或非營利的公司和機(jī)構(gòu)組成。2000年5月該組織推出了OSGi 1.0版本。2001年10月OSGi Service Platform Release 2在美國舊金山發(fā)布。到目前為止,其會(huì)員數(shù)量已超過80家,其中包括IBM、Sun、Samsung、AMD、Cisco、Oracle、Lucent、Toshiba、Philips、Nortel、Nokia、Siemens、Motorola、Alcatel等國際大公司。 OSGi的里里外外 因?yàn)镺SGi基于Java技術(shù),而Java最大的好處就是平臺(tái)無關(guān)性。在不同類型的住宅網(wǎng)關(guān)設(shè)備上都可以實(shí)現(xiàn)OSGi軟件。而且OSGi規(guī)范可以與各種設(shè)備訪問標(biāo)準(zhǔn)橋接(如圖1所示),比如遵循OSGi的系統(tǒng)可以很好地部署和管理Jini服務(wù),它可以提供Jini設(shè)備與服務(wù)提供商之間的交互。對(duì)于像HAVi、UPnP等基于非Java技術(shù)的標(biāo)準(zhǔn)和規(guī)范,OSGi也可以提供與它們溝通的橋梁。

OSGi的系統(tǒng)架構(gòu)如圖2所示,主要包括以下幾個(gè)組成部分:

服務(wù)網(wǎng)關(guān)(Service gateway) 服務(wù)網(wǎng)關(guān)是OSGi架構(gòu)的中心組成部分,可以滿足家庭網(wǎng)絡(luò)或家庭辦公網(wǎng)絡(luò)之間的各種通信需求。除此之外,還可以用做應(yīng)用服務(wù)器,提供類似能源管理和控制、安全服務(wù)、健康監(jiān)測(cè)服務(wù)、信息家電的控制和維護(hù)、電子商務(wù)服務(wù)等增值服務(wù)。一般情況下,服務(wù)網(wǎng)關(guān)都是在住宅網(wǎng)關(guān)上實(shí)現(xiàn)。 服務(wù)提供商(Service provider) 服務(wù)供應(yīng)商為用戶提供一系列服務(wù),從技術(shù)角度來說,這種服務(wù)的傳送是通過將軟件應(yīng)用程序下載到住宅網(wǎng)關(guān)實(shí)現(xiàn)的。 套裝服務(wù)提供商(Service aggregator) 隨著計(jì)算模式的發(fā)展,OSGi希望出現(xiàn)這樣一類服務(wù)提供商,它們能夠提供一整套捆綁在一起的服務(wù),例如可以自動(dòng)讀取電表、液化氣表以及水表數(shù)值。 網(wǎng)關(guān)管理員(Gateway operator) OSGi的主要職責(zé)就是管理和維護(hù)住宅網(wǎng)關(guān)及其服務(wù)。一個(gè)典型的網(wǎng)關(guān)管理員的功能包括開始、結(jié)束、更新、刪除服務(wù),也就是管理住宅網(wǎng)關(guān)的狀態(tài)。 廣域網(wǎng)和運(yùn)營商/ISP(Wide area network and Carrier/ISP) 廣域網(wǎng)在服務(wù)網(wǎng)關(guān)之間、網(wǎng)關(guān)管理員之間以及服務(wù)供應(yīng)商之間提供必要的通信。這個(gè)通信平臺(tái)由電信運(yùn)營商或ISP提供并加以管理。 信息家電及其網(wǎng)絡(luò)(Information applances and networks) 這是OSGi中離用戶最近的部分,包括家庭網(wǎng)絡(luò)內(nèi)部與服務(wù)網(wǎng)關(guān)相連的各種信息家電設(shè)備,以及它們之間連成的網(wǎng)絡(luò)。 到目前為止,有很多廠商都推出了遵循OSGi規(guī)范的網(wǎng)關(guān)中間件部件,如IBM的Service Management Framework、Samsung Service Provider 2.0、Sun的Java Telematics Technology等。 2.0的改進(jìn) OSGi 1.0提供了一個(gè)服務(wù)框架規(guī)范,該框架為下載后的服務(wù)提供了一個(gè)執(zhí)行環(huán)境,包括Java運(yùn)行環(huán)境、服務(wù)的生命周期管理、穩(wěn)定的數(shù)據(jù)存儲(chǔ)、版本管理、服務(wù)注冊(cè)等。在OSGi 2.0中,進(jìn)一步擴(kuò)展了API,并定義了一些新的服務(wù)API:User Administration、Configuration Management、Bundle preferences Management,同時(shí)保持了與1.0的兼容。 不過其安全性能與配置管理功能的增強(qiáng)才是2.0最吸引人的地方。在安全性方面,它支持個(gè)別的管理服務(wù)實(shí)時(shí)控制服務(wù)的數(shù)據(jù)安全,以及控制對(duì)服務(wù)的管理。 在配置管理方面,新版本加強(qiáng)了對(duì)信息家電設(shè)備的設(shè)置和管理,它允許網(wǎng)關(guān)管理員動(dòng)態(tài)地為設(shè)備提供驅(qū)動(dòng)程序,這些驅(qū)動(dòng)程序可以以服務(wù)的形式從服務(wù)提供商那里下載。當(dāng)發(fā)現(xiàn)一個(gè)新的設(shè)備接入網(wǎng)絡(luò),發(fā)現(xiàn)服務(wù)將在系統(tǒng)中注冊(cè)一個(gè)設(shè)備服務(wù),設(shè)備管理器將為它找到最適合的驅(qū)動(dòng)程序,下載之后啟動(dòng)該設(shè)備。該設(shè)備驅(qū)動(dòng)程序在注冊(cè)新服務(wù)時(shí)會(huì)自動(dòng)模仿類似設(shè)備的服務(wù)自動(dòng)注冊(cè),例如一個(gè)基于X.10的溫度傳感器會(huì)注冊(cè)與USB接口的溫度傳感器一樣的服務(wù)類型,這使得服務(wù)在使用傳感器時(shí)無需考慮底層硬件的不同。當(dāng)一個(gè)設(shè)備從網(wǎng)絡(luò)中刪除、卸載或更新時(shí),設(shè)備管理器都會(huì)采取相應(yīng)的措施。 雖然OSGi 1.0很早就已公布,但其使用更多集中在試驗(yàn)和小型項(xiàng)目領(lǐng)域。“2.0版本的推出是OSGi規(guī)范普及的契機(jī)。”OSGi現(xiàn)任主席、Motorola標(biāo)準(zhǔn)制訂執(zhí)行官John Barr如是說。正在為德國著名家電制造商BSH提供洗衣機(jī)上OSGi系統(tǒng)的德國ProSyst Software公司也強(qiáng)調(diào):“安全及配置管理是BSH采用OSGi的決定性因素”。 (計(jì)算機(jī)世界報(bào) 第38期 B3、B4)
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。