去年,,溫家寶總理在政府工作報(bào)告中明確提出“加快物聯(lián)網(wǎng)的研發(fā)應(yīng)用 ,再一次體現(xiàn)了政府高度重視物聯(lián)網(wǎng)的發(fā)展,。在國(guó)家政策推動(dòng)下,,電信運(yùn)營(yíng)商積極介入物聯(lián)網(wǎng)業(yè)務(wù),把物聯(lián)網(wǎng)作為未來(lái)重要的贏利點(diǎn),。
1 物聯(lián)網(wǎng)體系結(jié)構(gòu)及現(xiàn)有EPC中間件設(shè)計(jì)特點(diǎn)
物聯(lián)網(wǎng)是通過(guò)射頻識(shí)別(RFID),、紅外感應(yīng)器、全球定位系統(tǒng)、激光掃描器等信息傳感設(shè)備,,按約定的協(xié)議,,把任何物品與互聯(lián)網(wǎng)連接起來(lái),進(jìn)行信息交換和通訊,,以實(shí)現(xiàn)智能化識(shí)別,、定位、跟蹤,、監(jiān)控和管理的一種網(wǎng)絡(luò),。在業(yè)界,物聯(lián)剛一般被公認(rèn)為分成三個(gè)層次,,底層是感知和收集前端數(shù)據(jù)的感知層,,中間是傳輸和處理數(shù)據(jù)的網(wǎng)絡(luò)層,最上面是利用經(jīng)過(guò)分析處理的感知數(shù)據(jù),,為用戶提供各種應(yīng)用服務(wù)的應(yīng)用層,。物聯(lián)網(wǎng)系統(tǒng)架構(gòu)如圖1所示。
感知層是物聯(lián)網(wǎng)發(fā)展和應(yīng)用的基礎(chǔ),,主要通過(guò)射頻識(shí)別(RFID)系統(tǒng)實(shí)現(xiàn)RFID標(biāo)簽的自動(dòng)采集和識(shí)別,。RFID標(biāo)簽附著于可跟蹤的物品上,從而實(shí)現(xiàn)全球流通,,感知器與信息系統(tǒng)相連,, 讀取標(biāo)簽中的電子代碼(Electronic Product Code,EPC),,并將其輸入網(wǎng)絡(luò)信息系統(tǒng),。
物聯(lián)網(wǎng)的網(wǎng)絡(luò)層將建立在現(xiàn)有的移動(dòng)通信網(wǎng)絡(luò)和互聯(lián)網(wǎng)基礎(chǔ)上,對(duì)感知層采集上傳的數(shù)據(jù)進(jìn)行存儲(chǔ),、查詢,、分析、挖掘,、理解以及基于感知數(shù)據(jù)決策和行為,,而實(shí)現(xiàn)這一系列數(shù)據(jù)管理和處理的核心是EPC中間件,它作為物聯(lián)網(wǎng)網(wǎng)絡(luò)層的重要組成部分,,承前啟后,,為應(yīng)用層提供各類(lèi)服務(wù)基礎(chǔ)。
應(yīng)用層是物聯(lián)網(wǎng)發(fā)展的目的,,軟件開(kāi)發(fā),、智能控制技術(shù)將會(huì)為用戶提供豐富多彩的物聯(lián)網(wǎng)應(yīng)用,各種行業(yè)和家庭應(yīng)用的開(kāi)發(fā)將會(huì)推動(dòng)物聯(lián)網(wǎng)的普及,,也給整個(gè)物聯(lián)網(wǎng)產(chǎn)業(yè)鏈帶來(lái)利潤(rùn),。
從物聯(lián)網(wǎng)體系架構(gòu)來(lái)看,,基于現(xiàn)有的資源,運(yùn)營(yíng)商的核心競(jìng)爭(zhēng)力在物聯(lián)網(wǎng)網(wǎng)絡(luò)層這部分,,既要發(fā)揮自己的優(yōu)勢(shì),,又要避免被局限在管道的角色上,運(yùn)營(yíng)商應(yīng)該把目光聚焦在EPC中間件上,,成為物聯(lián)網(wǎng)巾間件服務(wù)提供商,,把控網(wǎng)絡(luò)層的核心,占據(jù)物聯(lián)網(wǎng)產(chǎn)業(yè)鏈的價(jià)值高地,。
物聯(lián)網(wǎng)企業(yè)信息交互的EPC中間件設(shè)計(jì)結(jié)合了傳統(tǒng)中間件的特點(diǎn),,利用基于CORBAR~RMI的J2EE技術(shù)實(shí)現(xiàn).程對(duì)象調(diào)用,能夠最大程度的實(shí)現(xiàn)分布式的軟件體系:構(gòu),。在中間件開(kāi)發(fā)的后期,,以SOA的形式通WebService發(fā)布在企業(yè)服務(wù)總線上,方便客戶端的調(diào)用,。同時(shí)使用J2EE當(dāng)中的EJB技術(shù)明確的規(guī)范了事務(wù)操作和事務(wù)管理并且有相應(yīng)J2EE容器來(lái)對(duì)中間件當(dāng)中的事務(wù)進(jìn)行管理,。
EPC中間件能夠屏蔽應(yīng)用層和網(wǎng)絡(luò)協(xié)議的差異,為各種具體應(yīng)用提供多種通訊機(jī)制,;并提供相應(yīng)的平臺(tái)以滿足不同領(lǐng)域的需要,。因此,中間件為下層應(yīng)用提供了一個(gè)相對(duì)穩(wěn)定的上層服務(wù)環(huán)境,。然而,,傳統(tǒng)中間件所應(yīng)遵循的一些原則離實(shí)際還有較大差距,多數(shù)流行的中間件服務(wù)使用的API和協(xié)議都是專(zhuān)有的,,使得應(yīng)用建立于不同廠家的產(chǎn)品很難實(shí)現(xiàn)互操作,。有些中間件服務(wù)只提供部分平臺(tái)的實(shí)現(xiàn),從而限制了應(yīng)用在異構(gòu)系統(tǒng)之間的移植,。應(yīng)用開(kāi)發(fā)者在這些中間件服務(wù)之上建立自己的應(yīng)用還要承擔(dān)相當(dāng)大的風(fēng)險(xiǎn),隨著服務(wù)的延展往往還需重寫(xiě)他們的應(yīng)用,。盡管中間件服務(wù)提高了分布計(jì)算的抽象化程度,,但應(yīng)用開(kāi)發(fā)者還需面臨許多艱難的設(shè)計(jì)選擇,例如,,開(kāi)發(fā)者還需決定分布應(yīng)用在Client方和Server方的功能分配,。通常將表示服務(wù)放在Cfient方以方便使用顯示設(shè)備,將數(shù)據(jù)服務(wù)放存Server方以靠近數(shù)據(jù)庫(kù),,但實(shí)際應(yīng)用中也并非總是如此,,何況其它應(yīng)用功能如何分配也是不容易確定的。
針對(duì)上述不足,,本文提出一個(gè)基于云計(jì)算平臺(tái)的EPC中間件體系架構(gòu),,運(yùn)營(yíng)商可以利用云計(jì)算平臺(tái)抽象化計(jì)算與存儲(chǔ)資源,,整合中間件服務(wù),動(dòng)態(tài)的分配給需要使用的各項(xiàng)用戶或應(yīng)用,,在其上開(kāi)發(fā)業(yè)務(wù)應(yīng)用時(shí)只需要按照其應(yīng)用程序接口規(guī)范調(diào)用所需資源即可,,其使用費(fèi)用跟總的資源使用量成正比而不像以往跟系統(tǒng)吞吐撮成止比。如此用戶只需關(guān)心業(yè)務(wù)邏輯實(shí)現(xiàn),,運(yùn)營(yíng)商可以把各種應(yīng)用服務(wù)部署到云計(jì)算平臺(tái)運(yùn)行然后通過(guò)云計(jì)算平臺(tái)的控制面板或者接口提供應(yīng)用服務(wù),。
如此一來(lái),物聯(lián)網(wǎng)中的應(yīng)用服務(wù)程序可通過(guò)共享同一個(gè)龐大的云計(jì)算資源池來(lái)獲得超大的系統(tǒng)吞吐能力以滿足用戶在某些情況下所需要的超高計(jì)算或者存儲(chǔ)資源請(qǐng)求,,而付出的代價(jià)卻只是其總的資源使用量的費(fèi)用,。以上系統(tǒng)的動(dòng)態(tài)擴(kuò)展與收縮過(guò)程并不需要用戶干預(yù),系統(tǒng)會(huì)自動(dòng)進(jìn)行,,開(kāi)發(fā)者在其平臺(tái)上開(kāi)發(fā)時(shí)除了按照其規(guī)范并遵循程序易于被橫向擴(kuò)展的原則外,,跟丌發(fā)本地應(yīng)用程序沒(méi)有太大區(qū)別,這給系統(tǒng)開(kāi)發(fā)者與使用者都帶來(lái)了很大的實(shí)惠,,而運(yùn)營(yíng)商也可以牢牢的控制中間件服務(wù)這一核心環(huán)節(jié),。
2 改進(jìn)的EPC中間件體系結(jié)構(gòu)
EPC中間件系統(tǒng)基于云計(jì)算平臺(tái),主要由邊界節(jié)點(diǎn)(Es)和內(nèi)部節(jié)點(diǎn)(Is)構(gòu)成,,其中節(jié)點(diǎn)間多為異地分布,。這一特點(diǎn)決定廠分布式的系統(tǒng)架構(gòu)應(yīng)該是一種必然的選擇,基于云計(jì)算技術(shù)的系統(tǒng)結(jié)構(gòu)則能夠最人限度地發(fā)揮分布式計(jì)算的優(yōu)勢(shì),。為此,,本文提出 一種改進(jìn)的EPC中間件系統(tǒng)結(jié)構(gòu),如圖2所示,。
邊界節(jié)點(diǎn)中,,RFID識(shí)讀器用于接受RFID標(biāo)簽的射頻信號(hào),信息初步處理后,,通過(guò)數(shù)據(jù)傳輸接口向相應(yīng)的內(nèi)部節(jié)點(diǎn)傳遞,。
內(nèi)部節(jié)點(diǎn)由事件管理系統(tǒng)、任務(wù)管理系統(tǒng),、接口模塊組成,。事件管理系統(tǒng)主要用于接收和處理從邊界節(jié)點(diǎn)得到的信息,并過(guò)濾得到所需的數(shù)據(jù),;任務(wù)管理系統(tǒng)負(fù)責(zé)管理由上級(jí)中間件或企業(yè)應(yīng)用程序發(fā)送到本級(jí)中間件的任務(wù),,這些任務(wù)代表用戶在EPC中間件端運(yùn)行,運(yùn)用SOAP服務(wù)器負(fù)責(zé)表明任務(wù)管理的功能和接口,,它使任務(wù)管理器成為可以被所有系統(tǒng)統(tǒng)一訪問(wèn)的SOAP服務(wù),;接口模塊由面向企業(yè)具體應(yīng)用的接口、EPC信息服務(wù)(EPCIS)接口以及ONSH服務(wù)接口構(gòu)成,,它是EPC中間件系統(tǒng)與外界交互的通道,,通過(guò)使用云計(jì)算技術(shù),,接口模塊向外部提供有狀態(tài)的Web Service,屏蔽了系統(tǒng)內(nèi)部各子系統(tǒng)實(shí)現(xiàn)的差異,,統(tǒng)一了EPC中間件與外部環(huán)境之間的通信方式,,模塊內(nèi)子系統(tǒng)采用SOA的設(shè)計(jì)思想,使整個(gè)模塊變得靈活而易于擴(kuò)展,,當(dāng)外部環(huán)境的業(yè)務(wù)邏輯改變時(shí),,只要Web Service接口不變,EPC中間件就無(wú)須作調(diào)整,。
3 云計(jì)算的應(yīng)用
云計(jì)算平臺(tái)提供EPC中間件系統(tǒng)應(yīng)用服務(wù)的基本運(yùn)行環(huán)境,,滿足服務(wù)的定義、服務(wù)管理和服務(wù)調(diào)用等三個(gè)方面的要求,。運(yùn)行環(huán)境對(duì)服務(wù)的定義的支持,,使用戶能進(jìn)行服務(wù)定義來(lái)滿足業(yè)務(wù)的需求。服務(wù)管理主要提供對(duì)服務(wù)的組裝,、編排,、監(jiān)管等功能,以滿足特定業(yè)務(wù)流程的定義,。而服務(wù)調(diào)用則為用戶提供的服務(wù)調(diào)用的統(tǒng)一接口,,方便用戶使用云計(jì)算平臺(tái)中的服務(wù)。但在復(fù)雜企業(yè)運(yùn)用方面,,云計(jì)算并沒(méi)有很好的軟件架構(gòu),。從本質(zhì)上說(shuō),在抽象層次上,,服務(wù)位于業(yè)務(wù)和技術(shù)中間,。面向服務(wù)的軟件架構(gòu)設(shè)計(jì)一方面必須理解在業(yè)務(wù)需求和可以提供的服務(wù)之間的動(dòng)態(tài)關(guān)系,另一方面,,同樣要理解服務(wù)與提供這些服務(wù)的底層技術(shù)之間的關(guān)系,。面向服務(wù)架構(gòu)(SOA)將其服務(wù)的IT架構(gòu)抽象出來(lái),將其功能以粗粒度的服務(wù)形式表示出來(lái),,每種服務(wù)都清晰地表示其業(yè)務(wù)價(jià)值,,那么,這些服務(wù)的顧客(可能在公司內(nèi)部,,也可能是公司的某個(gè)業(yè)務(wù)伙伴)就可以得到這些服務(wù),而不必考慮其后臺(tái)實(shí)現(xiàn)的具體技術(shù),。更進(jìn)一步,,如果顧客能夠發(fā)現(xiàn)并綁定可用的服務(wù),那么在這些服務(wù)背后的IT系統(tǒng)能夠提供更大的靈活性,。SOA強(qiáng)調(diào)服務(wù)第一,,業(yè)務(wù)和IT對(duì)齊,,為靈活而構(gòu)建的思想,這些都能很好的幫助云計(jì)算平臺(tái)快速應(yīng)對(duì)服務(wù)需求變化,。所以考慮采用SOA與云計(jì)算相結(jié)合的方式,,充分發(fā)揮各自優(yōu)勢(shì),提供更加開(kāi)放完善的EPC中間件體系架構(gòu),。
3.1應(yīng)用服務(wù)定義層設(shè)計(jì)
服務(wù)定義主要為用戶提供在平臺(tái)中定義服務(wù)的功能,,包括兩個(gè)方面的含義,其一支持企業(yè)的目標(biāo)和戰(zhàn)略的服務(wù)設(shè)計(jì),。SOA的IT與業(yè)務(wù)對(duì)齊的思想可以實(shí)現(xiàn)滿足云計(jì)算的這種需求,。其二是從編程角度上看,支持服務(wù)的設(shè)計(jì)與開(kāi)發(fā),,即具體服務(wù)的實(shí)現(xiàn),。
為了使用SOA構(gòu)建系統(tǒng),在應(yīng)用服務(wù)定義層將引用服務(wù)組件體系結(jié)構(gòu)(Service Component Architecture,,SCA),,SCA是一組規(guī)范,描述了用于使用面向服務(wù)的體系結(jié)構(gòu)來(lái)構(gòu)建應(yīng)用程序和系統(tǒng)的模型,。在SCA中業(yè)務(wù)功能都是用服務(wù)來(lái)描述的,,通過(guò)將這些服務(wù)進(jìn)行組裝就可以提供新的業(yè)務(wù);在組裝的過(guò)程中,,可能需要新開(kāi)發(fā)一些服務(wù),,也可能從企業(yè)己有的業(yè)務(wù)功能中抽取出服務(wù)進(jìn)行重用。通常將構(gòu)建面向服務(wù)的應(yīng)用程序的步驟分為兩大部分:
·組件的實(shí)現(xiàn),,提供服務(wù)和使用其他服務(wù),。
·為了構(gòu)建業(yè)務(wù)應(yīng)用程序?qū)M件集進(jìn)行的組裝,通過(guò)將服務(wù)引用連接到服務(wù)來(lái)完成,。
在服務(wù)定義層將服務(wù)實(shí)現(xiàn)和服務(wù)組裝從基礎(chǔ)設(shè)施功能細(xì)節(jié)以及用于調(diào)用服務(wù)的訪問(wèn)方法細(xì)節(jié)分離開(kāi)來(lái),,我們可以方便的將構(gòu)件的服務(wù)轉(zhuǎn)換為不同的調(diào)用協(xié)議,實(shí)現(xiàn)SOA中對(duì)各業(yè)務(wù)模塊間服務(wù)整合的功能,。SCA組件在業(yè)務(wù)級(jí)別進(jìn)行操作,,只使用非常少的中間件API進(jìn)行工作,同時(shí)它的接口是標(biāo)準(zhǔn)的,,主要是WSDL接口和I a接口,,可以通過(guò)組件容器提供QoS(quality of service)的服務(wù)。
3.2應(yīng)用服務(wù)管理層設(shè)計(jì)
服務(wù)管理主要提供組裝服務(wù)所需的流程編排服務(wù),,統(tǒng)一事件支持,, 以及相關(guān)的規(guī)則服務(wù)、任務(wù)調(diào)度,、選擇器等,。服務(wù)管理層提供的服務(wù)既可為系統(tǒng)內(nèi)部服務(wù)集成提供支持,,也可以以Web Service或API的方式提供給外部程序調(diào)用,如服務(wù)編排和規(guī)則服務(wù)等,,這也為平臺(tái)為用戶提供了更多服務(wù)選擇,。
SOA中流程往往是跨系統(tǒng)的,通過(guò)流程編排與管理來(lái)協(xié)調(diào)服務(wù)之間的業(yè)務(wù)流轉(zhuǎn),,監(jiān)控服務(wù)的運(yùn)行狀況,,并通過(guò)對(duì)流程的優(yōu)化提高服務(wù)對(duì)應(yīng)用的響應(yīng)時(shí)間,降低運(yùn)營(yíng)成本,。此外,,流程編排與管理負(fù)責(zé)把在流程協(xié)調(diào)的同時(shí),產(chǎn)生的相關(guān)應(yīng)用開(kāi)發(fā)人員的任務(wù),,推送到個(gè)人工作臺(tái),。所以把流程服務(wù)提供給最終用戶是使用是平臺(tái)的不可或缺的功能,也是平臺(tái)的一大特色,。
在管理層引入統(tǒng)一事件的支持,,提供對(duì)業(yè)務(wù)事件的支持,幫助各服務(wù)模塊間實(shí)現(xiàn)松耦合,。業(yè)務(wù)邏輯發(fā)出事件后不需要關(guān)心事件消費(fèi)對(duì)象,,為業(yè)務(wù)流程的組合帶來(lái)了很大的靈活性,而且可以實(shí)現(xiàn)服務(wù)間非侵入式的集成,。在流程管理方面,,統(tǒng)一事件支持還提供了業(yè)務(wù)流程的自動(dòng)流轉(zhuǎn)的功能。
3.3應(yīng)用服務(wù)調(diào)用層設(shè)計(jì)
提供給外層使用的服務(wù)位于該層,。提供的服務(wù)包括:支持開(kāi)發(fā)用戶在平臺(tái)中開(kāi)發(fā)運(yùn)用的SDK,,可供外部調(diào)用的Web Service,平臺(tái)提供的個(gè)性化軟件服務(wù),,以及滿足用戶個(gè)性化需求的其它服務(wù),。
SDK提供在云平臺(tái)上開(kāi)發(fā)的應(yīng)用工具,類(lèi)似傳統(tǒng)開(kāi)發(fā)中的API,,但這里的SDK是經(jīng)過(guò)深度定制的,,提供符合云計(jì)算平臺(tái)的架構(gòu)的應(yīng)用服務(wù)接口。提供SDK的主要目的是滿足企業(yè)對(duì)IT的個(gè)性化需求,。在當(dāng)前企業(yè)自己管理軟件的模式中,,當(dāng)企業(yè)需要一些個(gè)性化的軟件時(shí),技術(shù)部門(mén)就會(huì)把這個(gè)應(yīng)用開(kāi)發(fā)出來(lái)放到服務(wù)器上,。如果有云計(jì)算平臺(tái)提供服務(wù)時(shí),,企業(yè)可以借助SDK來(lái)開(kāi)發(fā)個(gè)性化應(yīng)用。
SDK提供支持企業(yè)應(yīng)用基本的API,包括存儲(chǔ)服務(wù),,隊(duì)列服務(wù),安全認(rèn)證服務(wù)等,。此外還提供調(diào)用Web Service和封裝成Web Service供外部調(diào)用的能力,。
4 問(wèn)題和對(duì)策
一直以來(lái),安全問(wèn)題都制約著云計(jì)算的發(fā)展,,是云計(jì)算在企業(yè)中實(shí)施的最大障礙,。本文總結(jié)了平臺(tái)面的安全問(wèn)題并提出了相應(yīng)的對(duì)策。
(1)數(shù)據(jù)安全,。平臺(tái)中的數(shù)據(jù)一般通過(guò)Internet傳輸,,數(shù)據(jù)交由云服務(wù)管理后需要保住數(shù)據(jù)的安全,包括數(shù)據(jù)在服務(wù)器端的計(jì)算和數(shù)據(jù)備份問(wèn)題,。一般來(lái)說(shuō),,企業(yè)數(shù)據(jù)都要求高安全性,如客戶資料,,合同中的投標(biāo)規(guī)則等,。但企業(yè)把這些數(shù)據(jù)提交給云計(jì)算平臺(tái)后,企業(yè)就失去了對(duì)數(shù)據(jù)的控制權(quán),,無(wú)法確保數(shù)據(jù)的安全,,增加了數(shù)據(jù)被泄露的可能性。
針對(duì)這個(gè)問(wèn)題,,當(dāng)數(shù)據(jù)在Internet上的傳輸時(shí),,可以通過(guò)建立SSL安全隧道,采用VPN技術(shù)等方式來(lái)保證數(shù)據(jù)安全傳輸,;當(dāng)敏感數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中時(shí)也可以通過(guò)加密處理有效的保證數(shù)據(jù)的安全,。各企業(yè)應(yīng)用之間的隔離可以通過(guò)云計(jì)算的虛擬技術(shù)實(shí)現(xiàn),保證企業(yè)與企業(yè)之間的數(shù)據(jù)隔離開(kāi)來(lái),。
(2)服務(wù)質(zhì)量,。面對(duì)云計(jì)算服務(wù),企業(yè)用戶通常會(huì)對(duì)系統(tǒng)可靠性,,可用性等方面持懷疑態(tài)度,,擔(dān)心出現(xiàn)問(wèn)題后無(wú)法得到服務(wù)商的及時(shí)解決,諸如此類(lèi)都影響到了企業(yè)中云計(jì)算的全面應(yīng)用,。
針對(duì)這個(gè)問(wèn)題,,可以引入SLA服務(wù)水平協(xié)議來(lái)為用戶提供可靠的服務(wù)。同時(shí)SLA可以進(jìn)一步對(duì)云服務(wù)提供商進(jìn)行約束,,提高服務(wù)質(zhì)量,,增加企業(yè)用戶對(duì)云服務(wù)的信心。
5 結(jié)論
運(yùn)營(yíng)商布局物聯(lián)網(wǎng)產(chǎn)業(yè),角色很關(guān)鍵,,不能只做信息的透明通道,,應(yīng)該在控制行業(yè)信息的基礎(chǔ)上拓展行業(yè)信息化解決方案,立足傳輸,、傳感網(wǎng)絡(luò)和應(yīng)用網(wǎng)絡(luò)開(kāi)展產(chǎn)業(yè)合作,,并借助物聯(lián)網(wǎng)與3G網(wǎng)絡(luò)結(jié)合的機(jī)遇在產(chǎn)業(yè)鏈中占據(jù)更加重要的位置。