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