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