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