基于Android平臺(tái)的OSGi架構(gòu)中間件的研究與應(yīng)用
河源理工學(xué)校 藍(lán)精衛(wèi) 2017/10/3 11:00:55
摘 要:為滿足不同的Java環(huán)境和平臺(tái)的需求,屏蔽了底層技術(shù)的復(fù)雜性,極大降低了智能家居應(yīng)用系統(tǒng)的開(kāi)發(fā)難度,深入地研究了基于OSGi架構(gòu)的中間件技術(shù),把OSGi技術(shù)和Android平臺(tái)結(jié)合,通過(guò)編寫OSGi模塊層的Bundle,實(shí)現(xiàn)了屏蔽底層硬件和允許多個(gè)設(shè)備服務(wù)的動(dòng)態(tài)熱部署等中間件的功能。此研究成果對(duì)促進(jìn)智能家居的推廣應(yīng)用具有重大意義。
關(guān)鍵詞:中間件 OSGi 模塊化
Research and Application on the Android platform middleware based on OSGi framework
Hunag Wen
Abstract: This article in view of the existing middleware system service module and dynamic development, upgrade and reform more difficult,On the basis of fully analyzing the middleware and intelligent gateway technology,Put forward a kind of support for dynamic development and efficient operation of the smart home middleware solutions,Through component Bundle dependencies between services and Service registration and access, realize the modular development of the middleware and its dynamic hot deployment.Finally, using the program developed the OSGi framework of smart home based on Android platform middleware, and achieved good effect in practical application.
Key words:Middleware, OSGi,Modular
1 引言
OSGi(Open Service Gateway Initiative,直譯為“開(kāi)放服務(wù)網(wǎng)關(guān)”)實(shí)際上是一個(gè)由OSGi聯(lián)盟發(fā)起的以Java為技術(shù)平臺(tái)的動(dòng)態(tài)模塊化規(guī)范。
OSGi聯(lián)盟是由Sun Microsystems、IBM、Ericsson等公司于1999年3月成立的一個(gè)世界性的開(kāi)放標(biāo)準(zhǔn)化組織,最初的名稱為Connected Alliance,該組織成立的主要目的在于使服務(wù)提供商通過(guò)住宅網(wǎng)關(guān)為各種家庭智能化設(shè)備提供服務(wù)。OSGi規(guī)范主要關(guān)注于嵌入式領(lǐng)域,滿足諸如機(jī)頂盒、服務(wù)網(wǎng)關(guān)、手機(jī)等應(yīng)用環(huán)境的模塊化需求。并且在這些領(lǐng)域中獲得了很大的發(fā)展,成為嵌入式領(lǐng)域Java平臺(tái)事實(shí)上的模塊化規(guī)范。
中間件是一類連接軟件組件和應(yīng)用的計(jì)算機(jī)軟件,它包括一組服務(wù),以便于運(yùn)行在一臺(tái)或多臺(tái)機(jī)器上的多個(gè)軟件通過(guò)網(wǎng)絡(luò)進(jìn)行交互。該技術(shù)所提供的互操作性,推動(dòng)了一種分布式體系架構(gòu)的演進(jìn),該架構(gòu)通常用于支持并簡(jiǎn)化那些復(fù)雜的分布式應(yīng)用程序,它包括web服務(wù)器、事務(wù)監(jiān)控器和消息隊(duì)列軟件。本文設(shè)計(jì)的中間件作為上層復(fù)雜應(yīng)用軟件與底層Zigbee節(jié)點(diǎn)的中間層存在,屏蔽了底層技術(shù)的復(fù)雜性,極大降低了智能家居應(yīng)用系統(tǒng)的開(kāi)發(fā)難度,是整個(gè)智能家居系統(tǒng)的核心。
2 系統(tǒng)總體設(shè)計(jì)
2.1 系統(tǒng)分析
通過(guò)分析,本文把家庭無(wú)線傳感網(wǎng)中間件系統(tǒng)從底層向上的劃分為四大邏輯單元:
1.?dāng)?shù)據(jù)存儲(chǔ)單元,主要使用OSGi框架提供的Preferences服務(wù)來(lái)負(fù)責(zé)存儲(chǔ)各種設(shè)備節(jié)點(diǎn)的信息,為用戶端識(shí)別設(shè)備提供標(biāo)識(shí)。
2.串口服務(wù)單元,該邏輯單元主要負(fù)責(zé)底層基于無(wú)線傳感器網(wǎng)絡(luò)的協(xié)調(diào)器與中間件之間的數(shù)據(jù)交互問(wèn)題。
3.設(shè)備類型單元,主要是接收Socket轉(zhuǎn)發(fā)過(guò)來(lái)的數(shù)據(jù)和控制信息,把這些信息轉(zhuǎn)換成相應(yīng)設(shè)備的控制命令。即負(fù)責(zé)數(shù)據(jù)包的解析,處理和封裝的工作,用戶發(fā)送過(guò)來(lái)的數(shù)據(jù)包不是直接的發(fā)送給協(xié)調(diào)器的,而是經(jīng)過(guò)此單元的處理和轉(zhuǎn)換成相應(yīng)設(shè)備類型的控制命令,發(fā)送到目的設(shè)備節(jié)點(diǎn)。
4.Socket服務(wù)單元,它實(shí)現(xiàn)了Socket接口服務(wù),通過(guò)TCP/IP協(xié)議,為用戶連接中間件提供服務(wù)連接。
2.2 中間件系統(tǒng)總體架構(gòu)
本(未完,下一頁(yè))
|