物聯(lián)網(wǎng)是指通過部署具有一定感知、計算、執(zhí)行和通信等能力的各種設(shè)備,獲得物理世界的信息或?qū)ξ锢硎澜绲奈矬w進行控制,通過網(wǎng)絡(luò)實現(xiàn)信息的傳輸、協(xié)同和處理,從而實現(xiàn)人與物通信、物與物通信的網(wǎng)絡(luò)。目前,物聯(lián)網(wǎng)已經(jīng)逐漸被人們所熟悉并應(yīng)用到生產(chǎn)、生活中的各個方面,比如自動抄表、智能農(nóng)業(yè)、智能家居、智慧城市等,其實各個領(lǐng)域的應(yīng)用具有一定的共性,例如智能農(nóng)業(yè)和智能家居都會用到狀態(tài)監(jiān)測和遠(yuǎn)程控制等功能,但是現(xiàn)有的應(yīng)用都比較獨立,在一個行業(yè)同一個業(yè)務(wù)中甚至存在多套物聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng),各個系統(tǒng)之間由于標(biāo)準(zhǔn)不統(tǒng)一,存在數(shù)據(jù)不統(tǒng)一、無法復(fù)用、資源浪費等問題,新建一個業(yè)務(wù)系統(tǒng)的時候需要自底向上全部構(gòu)建,這些問題嚴(yán)重阻礙了物聯(lián)網(wǎng)統(tǒng)一有序發(fā)展,有必要構(gòu)建一個物聯(lián)網(wǎng)綜合業(yè)務(wù)平臺,各個應(yīng)用可以通過調(diào)用平臺中包含的基本功能來實現(xiàn)業(yè)務(wù)目標(biāo),從而有效推動物聯(lián)網(wǎng)業(yè)務(wù)快速發(fā)展。
1.現(xiàn)狀分析
對于物聯(lián)網(wǎng)平臺,業(yè)界尚未有標(biāo)準(zhǔn)的定義和架構(gòu)。近年來國內(nèi)外科研單位和企業(yè)進行了大量的研究和實踐。國內(nèi)三大電信運營商主要側(cè)重于為用戶提供物聯(lián)網(wǎng)數(shù)據(jù)“管道”功能的M2M(Machine-to-Machine)平臺建設(shè),大唐電信、華為、中興等具備研發(fā)實力的公司也在積極參與物聯(lián)網(wǎng)平臺的研發(fā),主要是將M2M平臺作為產(chǎn)品進行銷售。在通信協(xié)議方面,中國移動制定了其M2M平臺通信協(xié)議——WMMP(Wireless M2M Protocol),中國電信制定了M2M終端監(jiān)測控制協(xié)議(M2M Device Management Protocol,MDMP)。在平臺技術(shù)研究方面,楊斌等提出基于面向服務(wù)架構(gòu)(SOA)的物聯(lián)網(wǎng)企業(yè)應(yīng)用基礎(chǔ)框架;程冬梅等提出了一個基于表達(dá)性狀態(tài)轉(zhuǎn)移(REpresent State Transfer,REST)架構(gòu)風(fēng)格的物聯(lián)網(wǎng)服務(wù)平臺,將傳感節(jié)點等嵌入式設(shè)備和感知數(shù)據(jù)看作資源供上層應(yīng)用調(diào)用;王平等設(shè)計和實現(xiàn)了基于 6LoWPAN 協(xié)議的物聯(lián)網(wǎng)開發(fā)平臺;錢小聰?shù)忍岢隽艘环N物聯(lián)網(wǎng)業(yè)務(wù)運營支撐平臺(Business Operation Support Platform,BOSP)架構(gòu),站在電信運營商的角度上對平臺各個層次的功能進行了論述。國外針對物聯(lián)網(wǎng)平臺的研究起步較早,以O(shè)range、Vodafone為主的電信運營商和Wyless為代表的物聯(lián)網(wǎng)服務(wù)商已經(jīng)針對物聯(lián)網(wǎng)業(yè)務(wù)建立了相應(yīng)的業(yè)務(wù)管理平臺,他們主張將網(wǎng)絡(luò)層和應(yīng)用層功能融合在一起,統(tǒng)一在一個管理平臺中進行維護。一些學(xué)者也提出了將云計算技術(shù)引入物聯(lián)網(wǎng)平臺中的方案,并建立了可以提供狀態(tài)監(jiān)測和聯(lián)動報警功能的通用平臺。
以上研究主要關(guān)注物聯(lián)網(wǎng)的感知層和網(wǎng)絡(luò)層,解決了如何為物聯(lián)網(wǎng)應(yīng)用提供統(tǒng)一、靈活、可靠數(shù)據(jù)的問題,但是對物聯(lián)網(wǎng)應(yīng)用的邏輯實現(xiàn)關(guān)注較少。如何對各類數(shù)據(jù)進行合理的分析處理,在數(shù)據(jù)層之上構(gòu)建出通用的綜合服務(wù)層,并且提供給用戶更為人性化的服務(wù),是物聯(lián)網(wǎng)發(fā)展中迫切需要解決的問題。陳海明等對物聯(lián)網(wǎng)體系結(jié)構(gòu)與實現(xiàn)方法進行了比較分析,指出物聯(lián)網(wǎng)體系結(jié)構(gòu)是設(shè)計與實現(xiàn)物聯(lián)網(wǎng)系統(tǒng)的首要基礎(chǔ),從功能的角度將目前已經(jīng)提出的物聯(lián)網(wǎng)體系結(jié)構(gòu)分為“后端集中式”和“前端分布式”兩種類型,為本文的設(shè)計提供了很好的參考。
2.企業(yè)服務(wù)總線
企業(yè)服務(wù)總線(EntERPrise Service Bus,ESB)是從面向服務(wù)架構(gòu)發(fā)展而來的,圖1為ESB架構(gòu)圖。
圖1 ESB架構(gòu)圖
面向服務(wù)架構(gòu)(Service 0riented Architecture,SOA)是一種定義基于服務(wù)的軟件應(yīng)用方法,通過調(diào)用和組合實現(xiàn)業(yè)務(wù)流程。ESB是通過標(biāo)準(zhǔn)的整合技術(shù),將SOA、WebServices和XML技術(shù)融合到統(tǒng)一的分布式架構(gòu)中,搭建易于部署、可管理的整合基礎(chǔ)設(shè)施。它既可集成新的應(yīng)用服務(wù),也可以包裝原有的系統(tǒng),使其提供服務(wù)接口,從而繼承已有的功能,ESB充當(dāng)了服務(wù)消費者和服務(wù)提供者之間的中介,實現(xiàn)服務(wù)組合和業(yè)務(wù)流程的自動化管理。
ESB提供了開放的、基于標(biāo)準(zhǔn)的消息機制,通過適配器實現(xiàn)與其他組件的互通,在數(shù)據(jù)交換過程中提供了基于服務(wù)協(xié)議的服務(wù)查找、訪問、路由功能。ESB就是試圖將多種邏輯處理過程遷移到總線上,從而為各項應(yīng)用提供統(tǒng)一服務(wù)。近年來,隨著企業(yè)信息化程度的提高和面向服務(wù)體系結(jié)構(gòu)(SOA)的深入應(yīng)用,ESB(企業(yè)服務(wù)總線)在理論和應(yīng)用方面成為軟件開發(fā)、集成與部署的關(guān)鍵技術(shù)。
3.平臺設(shè)計方案
本文所提出的物聯(lián)網(wǎng)綜合業(yè)務(wù)平臺不是傳統(tǒng)意義上的系統(tǒng)集成,也不僅僅滿足提供底層數(shù)據(jù)“管道”的功能,主要側(cè)重于對物聯(lián)網(wǎng)各個具體業(yè)務(wù)的支撐。以滿足現(xiàn)有物聯(lián)網(wǎng)業(yè)務(wù)的實際需求為基礎(chǔ),從宏觀角度抽取各物聯(lián)網(wǎng)業(yè)務(wù)共性特征,對物聯(lián)網(wǎng)綜合業(yè)務(wù)平臺的各項基本功能進行分析、提煉,并采用層次結(jié)構(gòu)思想對物聯(lián)網(wǎng)綜合業(yè)務(wù)平臺進行功能層次劃分。平臺的建設(shè)也不是一蹴而就的,隨著物聯(lián)網(wǎng)應(yīng)用的范圍不斷擴大,平臺應(yīng)該具備高度的可擴展性,能夠快速集成新的物聯(lián)網(wǎng)基本業(yè)務(wù),供各行業(yè)應(yīng)用系統(tǒng)自由調(diào)用。
3.1 平臺總體架構(gòu)
圖2為物聯(lián)網(wǎng)綜合業(yè)務(wù)平臺總體架構(gòu)。
平臺架構(gòu)遵循劉云浩提出的物聯(lián)網(wǎng)四層架構(gòu),即感知識別層、網(wǎng)絡(luò)構(gòu)建層、管理服務(wù)層、綜合應(yīng)用層,將綜合應(yīng)用層中的公共業(yè)務(wù)應(yīng)用適當(dāng)下移到管理服務(wù)層中,并在管理服務(wù)層引入企業(yè)服務(wù)總線(EntERPrise service Bus,ESB)架構(gòu),利用WebService、XML、JMS等技術(shù),將公共功能以服務(wù)組件的形式向平臺注冊,把綜合業(yè)務(wù)層各業(yè)務(wù)作為服務(wù)消費者,通過ESB向各個消費者提供調(diào)用服務(wù)。平臺將具體應(yīng)用與服務(wù)邏輯、感知數(shù)據(jù)相隔離,對業(yè)務(wù)系統(tǒng)透明,上層業(yè)務(wù)系統(tǒng)的更改不影響平臺的內(nèi)容和架構(gòu),且多個業(yè)務(wù)系統(tǒng)可共享同一服務(wù),實現(xiàn)物聯(lián)網(wǎng)業(yè)務(wù)的統(tǒng)一支撐服務(wù)。
圖2 物聯(lián)網(wǎng)綜合業(yè)務(wù)平臺總體架構(gòu)
3.2 平臺功能
平臺各層次主要功能描述如下:
1)感知識別層:主要負(fù)責(zé)將物聯(lián)網(wǎng)子網(wǎng)中的感知節(jié)點信息接人平臺,同時向上層提供訪問具體接入子網(wǎng)的接口,接人控制器主要負(fù)責(zé)傳感和視頻類數(shù)據(jù)的統(tǒng)一接人,根據(jù)實際場景選擇無線或有線方式,RHD掃描裝置主要向管理服務(wù)層提供電子標(biāo)簽中的數(shù)據(jù),并接受管理服務(wù)層的控制,向標(biāo)簽中寫入數(shù)據(jù)。感知識別層是整個物聯(lián)網(wǎng)的構(gòu)建基礎(chǔ),同時也是綜合業(yè)務(wù)平臺數(shù)據(jù)的根本來源。
2)網(wǎng)絡(luò)構(gòu)建層:主要提供可用的網(wǎng)絡(luò)服務(wù)和可靠、實時的傳輸機制,提供不同類型設(shè)備通信接口,便于感知識別層各類子網(wǎng)數(shù)據(jù)的接入和傳遞管理服務(wù)層向感知識別層發(fā)送的命令,還需根據(jù)具體的應(yīng)用協(xié)議增加數(shù)據(jù)的編解碼模塊。
3)管理服務(wù)層:主要功能將物聯(lián)網(wǎng)公共業(yè)務(wù)模塊以及未來發(fā)展中出現(xiàn)的新的業(yè)務(wù)模塊以服務(wù)的形式向ESB服務(wù)總線中注冊,同時采用統(tǒng)一的業(yè)務(wù)描述語言對應(yīng)用層物聯(lián)網(wǎng)具體業(yè)務(wù)進行描述,并向下層提供有關(guān)該業(yè)務(wù)的具體實現(xiàn),使加載的業(yè)務(wù)能被平臺所識別,從而完成一個具體業(yè)務(wù)的支撐。為保證系統(tǒng)的安全性,加入統(tǒng)一身份認(rèn)證模塊,該模塊作為ESB上的一個特定服務(wù),作為服務(wù)提供者和服務(wù)消費者之間的中介?紤]到某些行業(yè)信息化建設(shè)的需要,在該層還設(shè)計出外部接口,便于和其他系統(tǒng)(GIS、視頻會議、調(diào)度電話等)互聯(lián)。由于該層需要完成公共業(yè)務(wù)的注冊和物聯(lián)網(wǎng)具體業(yè)務(wù)的統(tǒng)一認(rèn)證和承載,所以該層是整個平臺的核心,也是本文的重點研究內(nèi)容。
4)綜合應(yīng)用層:包括了物聯(lián)網(wǎng)各個應(yīng)用領(lǐng)域的具體應(yīng)用,也是ESB架構(gòu)中的服務(wù)消費者,業(yè)務(wù)開發(fā)者通過綜合服務(wù)層所提供的統(tǒng)一、開放的標(biāo)準(zhǔn)接口獲取接入平臺的能力,可以直接調(diào)用綜合服務(wù)層中的各項服務(wù)提供給用戶,也可以在各項服務(wù)的基礎(chǔ)上進行定制化開發(fā)。
4.平臺關(guān)鍵技術(shù)
ESB作為綜合服務(wù)層的核心,完成了連接服務(wù)提供者(基礎(chǔ)公共、基礎(chǔ)業(yè)務(wù)等模塊)和服務(wù)消費者(應(yīng)用層各業(yè)務(wù))的功能。在處理服務(wù)接人和請求時,都是通過SOAP/XML完成的。平臺需要處理的服務(wù)主要包括新建功能模塊的接入、已經(jīng)接入的模塊通過平臺進行資源交換和發(fā)送資源到綜合業(yè)務(wù)層各個具體應(yīng)用。所以綜合服務(wù)層需要解決兩個主要問題:1)在UDDI中注冊服務(wù);2)設(shè)計統(tǒng)一身份認(rèn)證策略。
4.1 接入服務(wù)
接入服務(wù)就是把服務(wù)的信息存入到數(shù)據(jù)庫中,在數(shù)據(jù)庫中作持久化處理,將接收到的SOAP信息經(jīng)過分析存人數(shù)據(jù)庫中。需要對上文中所述的三種服務(wù)分別進行處理。圖3是服務(wù)選擇流程。
圖3 服務(wù)選擇流程
服務(wù)描述和封裝實現(xiàn)的XML代碼片段如下:
<?xml Version=”1.0”encoding=”ISO-8859-l”?>
<Service>
<Service Attribte>
<servicetype value=”Tempmonitor>
</servicetype> //服務(wù)類別
<Serviceld value=”T_01001”>
</Serviceld> //服務(wù)流水號
</Service Attribte>
<ServiceData>
<Servicetype value=“01”>
</servicetype> //服務(wù)類別代碼
<servicename value=”溫度監(jiān)測”>
</Servicename> //服務(wù)名稱
<ServiceForm value=”平臺自身模塊”>
</ServiceForm> //服務(wù)來源
<Servicetime value=”2013-05-10”>
</ServiceTime> //服務(wù)注冊時間
<ServiceDatasource value=“subatation_xs”>
</ServiceDatasource> //服務(wù)數(shù)據(jù)來源
</ServiceData>
</Service>
4.2 統(tǒng)一身份認(rèn)證
物聯(lián)網(wǎng)的安全與隱私對參與方有著較大的影響,需要建立相應(yīng)的安全機制實現(xiàn)數(shù)據(jù)保密、訪問控制等功能。統(tǒng)一身份認(rèn)證是平臺綜合應(yīng)用層各項具體業(yè)務(wù)和平臺管理服務(wù)層之間交互的中介,綜合服務(wù)層通過標(biāo)準(zhǔn)接口發(fā)布服務(wù),采用SOAP封裝請求和調(diào)用。把綜合業(yè)務(wù)層各具體業(yè)務(wù)看作用戶,當(dāng)用戶通過統(tǒng)一身份驗證后,ESB查找請求的服務(wù)并返回給用戶。本文采用基于證書的統(tǒng)一認(rèn)證協(xié)議來實現(xiàn)統(tǒng)一身份認(rèn)證。
4.2.1 交互流程
綜合業(yè)務(wù)層各業(yè)務(wù)使用用戶憑證以web形式登錄統(tǒng)一認(rèn)證,身份認(rèn)證成功后,統(tǒng)一認(rèn)證服務(wù)創(chuàng)建安全斷言標(biāo)記語言(Security Assertion Makup Language,SAML)令牌,并返回SAML令牌給用戶,用戶就可以攜帶這個SAML令牌訪問服務(wù)。圖4是業(yè)務(wù)系統(tǒng)與統(tǒng)一身份認(rèn)證之間的交互流程。綜合業(yè)務(wù)層各業(yè)務(wù)用戶攜帶SAML令牌訪問ESB,決策執(zhí)行點(Policy Enforcement Point,PEP)把服務(wù)消費者的SAML令牌交給策略決策點(Policy Decision Point,PDP)進行驗證,PDP根據(jù)用戶SAML令牌及相關(guān)參數(shù)對用戶進行授權(quán)。
圖4 業(yè)務(wù)系統(tǒng)與統(tǒng)一身份認(rèn)證之間的交互流程
4.2.2 統(tǒng)一認(rèn)證協(xié)議
綜合應(yīng)用層具體業(yè)務(wù)(B)與統(tǒng)一身份認(rèn)證(UIA)之間基于證書的統(tǒng)一認(rèn)證協(xié)議具體步驟如下:
1)具體業(yè)務(wù)到統(tǒng)一身份認(rèn)證(B→UIA)。
RB,Request,CertB,sigB{Request}
B向UIA發(fā)送認(rèn)證請求。RB為B產(chǎn)生的隨機數(shù),Reuest為B發(fā)出的請求,CertB為B的加密證書,SigB{Request}為B利用證書私鑰對Request的簽名。
2)統(tǒng)一身份認(rèn)證到具體業(yè)務(wù)(UIA—B)。
RB,CertU,SigU(Response),EB(Tokensaml)
UIA收到消息后,首先驗證用戶證書有效性,并驗證請求簽名;然后發(fā)送應(yīng)答消息返回B。其中:RB為接收到B的隨即數(shù),certuU為UlA的證書,sigU(Response)為UIA利用證書私鑰對Response的簽名,EB(Tokensaml)表示利用B的證書公鑰加密的Tokenaml。
3)具體業(yè)務(wù)到統(tǒng)一身份認(rèn)證(B→UIA)。
B將對UIA的驗證結(jié)果發(fā)給UIA。
經(jīng)過以上步驟,應(yīng)用層其體業(yè)務(wù)和UIA實現(xiàn)了雙向身份認(rèn)證和令牌協(xié)商,共享SAML令牌Tokensaml。
5.平臺業(yè)務(wù)協(xié)作
每個公共業(yè)務(wù)模塊都可以看作是獨立的系統(tǒng),它們被ESB中適配器封裝成服務(wù)并添加到注冊表中,當(dāng)服務(wù)消費者發(fā)送來服務(wù)請求時,協(xié)議適配器就從該消息中獲取SOAP消息,然后經(jīng)過統(tǒng)一身份認(rèn)證,認(rèn)證通過后會該消息會被繼續(xù)轉(zhuǎn)發(fā)至ESB中,ESB根據(jù)SOAP消息,在服務(wù)注冊表中進行查找,查找與之相匹配的WSDL,并返回相應(yīng)的服務(wù)調(diào)用信息,最后服務(wù)代理者根據(jù)相應(yīng)的信息調(diào)用服務(wù)。圖5是業(yè)務(wù)協(xié)作流程。
圖5 業(yè)務(wù)系統(tǒng)協(xié)作流程
6.結(jié)語
物聯(lián)網(wǎng)“大平臺”化對于我國物聯(lián)網(wǎng)建設(shè)具有重要意義,隨著信息化程度的不斷提高,企業(yè)或個人對生產(chǎn)、生活各個環(huán)節(jié)的質(zhì)量要求也越來越高,全流程監(jiān)控,以及服務(wù)整合將是未來的發(fā)展方向,物聯(lián)網(wǎng)綜合業(yè)務(wù)平臺為物聯(lián)網(wǎng)應(yīng)用的快速實現(xiàn)提供了有利的保障。本文提出了基于ESB的物聯(lián)網(wǎng)綜合業(yè)務(wù)平臺架構(gòu),構(gòu)建一個高效、松耦合、易擴展、逐步趨于完善的平臺,使其可以支持更多的業(yè)務(wù)應(yīng)用,并對其中各層的功能及關(guān)鍵技術(shù)進行了闡述。本文為物聯(lián)網(wǎng)信息服務(wù)系統(tǒng)的研究和建設(shè)提供了一定借鑒。目前,本系統(tǒng)尚處于原型開發(fā)階段,尚有逐多功能需要完善,如平臺大數(shù)據(jù)如何合理存儲、數(shù)據(jù)挖掘算法的豐富等。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:基于ESB的物聯(lián)網(wǎng)綜合業(yè)務(wù)平臺設(shè)計
本文網(wǎng)址:http://www.oesoe.com/html/support/11121513128.html