版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、TaiYuan University of Technology物聯(lián)網(wǎng)工程設(shè)計物聯(lián)網(wǎng)工程設(shè)計1TaiYuan University of Technology第七章第七章 物聯(lián)網(wǎng)軟件設(shè)計物聯(lián)網(wǎng)軟件設(shè)計最少學時:最少學時:6學時;學時;知識點知識點 : 物聯(lián)網(wǎng)軟件的特點和分類;物聯(lián)網(wǎng)軟件的特點和分類; 物聯(lián)網(wǎng)感知層核心技術(shù)及軟件設(shè)計;物聯(lián)網(wǎng)感知層核心技術(shù)及軟件設(shè)計; 物聯(lián)網(wǎng)接入層核心技術(shù)及軟件設(shè)計;物聯(lián)網(wǎng)接入層核心技術(shù)及軟件設(shè)計; 物聯(lián)網(wǎng)應層核心技術(shù)及軟件設(shè)計;物聯(lián)網(wǎng)應層核心技術(shù)及軟件設(shè)計; 物聯(lián)網(wǎng)中間件分類及設(shè)計;物聯(lián)網(wǎng)中間件分類及設(shè)計;學習目標:學習目標: 掌握物聯(lián)網(wǎng)軟件的特點和分類;掌握物
2、聯(lián)網(wǎng)軟件的特點和分類; 掌握物聯(lián)網(wǎng)感知層核心技術(shù)及軟件設(shè)計;掌握物聯(lián)網(wǎng)感知層核心技術(shù)及軟件設(shè)計; 熟悉物聯(lián)網(wǎng)接入層核心技術(shù)及軟件設(shè)計;熟悉物聯(lián)網(wǎng)接入層核心技術(shù)及軟件設(shè)計; 掌握物聯(lián)網(wǎng)應層核心技術(shù)及軟件設(shè)計方法和步驟;掌握物聯(lián)網(wǎng)應層核心技術(shù)及軟件設(shè)計方法和步驟; 熟悉并能撰寫合格的軟件設(shè)計報告;熟悉并能撰寫合格的軟件設(shè)計報告;2TaiYuan University of Technology第七章第七章 物聯(lián)網(wǎng)軟件設(shè)計物聯(lián)網(wǎng)軟件設(shè)計3物聯(lián)網(wǎng)軟件技術(shù)的發(fā)展離不開系統(tǒng)架構(gòu)和硬件的支持。完整的物聯(lián)網(wǎng)系統(tǒng)包含感知層、傳輸層和應用層(包括處理子層和應用領(lǐng)域子層),涉及的技術(shù)基礎(chǔ)技術(shù)基礎(chǔ)包括:標準化、感知材
3、料和標識技術(shù)、安全和隱私、功率和能量存儲技術(shù)、發(fā)現(xiàn)和搜索技術(shù)、組網(wǎng)激素、通信技術(shù)、數(shù)據(jù)流及數(shù)據(jù)處理技術(shù)、軟件和算法等。物聯(lián)網(wǎng)軟件設(shè)計也分散在這些層次中,協(xié)助硬件一起完成特定層次功能。本章簡要介紹物聯(lián)網(wǎng)各層涉及的軟件的設(shè)計方法、特點和注意事項。TaiYuan University of Technology主要內(nèi)容主要內(nèi)容4物聯(lián)網(wǎng)軟件設(shè)計概述物聯(lián)網(wǎng)軟件設(shè)計概述物聯(lián)網(wǎng)應用層軟件設(shè)計方法物聯(lián)網(wǎng)應用層軟件設(shè)計方法物聯(lián)網(wǎng)中間件技術(shù)物聯(lián)網(wǎng)中間件技術(shù)面向構(gòu)件及服務(wù)的設(shè)計技術(shù)面向構(gòu)件及服務(wù)的設(shè)計技術(shù)以以APP為中心的物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)為中心的物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)物聯(lián)網(wǎng)部署物聯(lián)網(wǎng)部署物聯(lián)網(wǎng)應用軟件設(shè)計與部署案例教
4、學物聯(lián)網(wǎng)應用軟件設(shè)計與部署案例教學物聯(lián)網(wǎng)感知層核心技術(shù)與軟件設(shè)計物聯(lián)網(wǎng)感知層核心技術(shù)與軟件設(shè)計物聯(lián)網(wǎng)接入層核心技術(shù)與軟件設(shè)計物聯(lián)網(wǎng)接入層核心技術(shù)與軟件設(shè)計TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)中間件技術(shù)物聯(lián)網(wǎng)中間件技術(shù)傳統(tǒng)的中間件是一種獨立的系統(tǒng)軟件或服務(wù)程序,是伴隨著網(wǎng)絡(luò)技術(shù)的產(chǎn)生、發(fā)展而興起的,為網(wǎng)絡(luò)分布式計算環(huán)境提供通信服務(wù)、交換服務(wù)、語義互操作服務(wù)等系統(tǒng)之間的協(xié)同集成服務(wù),解決系統(tǒng)之間的互連互通和資源共享問題。在物聯(lián)網(wǎng)中采用中間件技術(shù),是為實現(xiàn)多個系統(tǒng)和多種技術(shù)之間的資源共享,最終組成一個資源豐富、功能強大的服務(wù)系統(tǒng)。從本質(zhì)上看,物聯(lián)網(wǎng)中
5、間件是物聯(lián)網(wǎng)應用的共性需求(全面感知、互聯(lián)互通和智能處理),與已存在的各種中間件及信息處理技術(shù),包括信息感知技術(shù)、下一代網(wǎng)絡(luò)技術(shù)、人工智能與自動化技術(shù)的聚合與技術(shù)提升。TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)中間件技術(shù)物聯(lián)網(wǎng)中間件技術(shù)目前階段,一方面,受限于底層不同的網(wǎng)絡(luò)技術(shù)和硬件平臺,物聯(lián)網(wǎng)中間件研究主要還集中在底層的感知和互聯(lián)互通方面底層的感知和互聯(lián)互通方面,現(xiàn)實目標包括屏蔽底層硬件及網(wǎng)絡(luò)平臺差異,支持物聯(lián)網(wǎng)應用開發(fā)、運行時共享和開放互聯(lián)互通,保障物聯(lián)網(wǎng)相關(guān)系統(tǒng)的可靠部署與可靠管理等內(nèi)容;另一方面,當前物聯(lián)網(wǎng)應用復雜度和規(guī)模還處于初級階段,物聯(lián)
6、網(wǎng)中間件支持大規(guī)模物聯(lián)網(wǎng)應用還存在環(huán)境復雜多變、異構(gòu)物理設(shè)備、遠距離多樣式無線通信、大規(guī)模部署、海量數(shù)據(jù)融合、復雜事件處理、綜合運維管理等諸多仍未克服的障礙諸多仍未克服的障礙。7.5.1 中間件概述7.5.2 物聯(lián)網(wǎng)中間件分類7.5.3 基于中間件的物聯(lián)網(wǎng)應用軟件設(shè)計案例TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)77.5.1 中間件概述IDC曾經(jīng)給中間件的定義:一種獨立的系統(tǒng)軟件或服務(wù)程序,分布式應用軟件借助這種軟件在不同的技術(shù)之間共享資源,位于客戶機服務(wù)器的操作系統(tǒng)之上,管理計算資源和網(wǎng)絡(luò)通信主機一主機一 中間件中間件分布
7、式應用分布式應用中間件中間件APIAPI操作系統(tǒng)操作系統(tǒng)APIAPI操作系統(tǒng)操作系統(tǒng)處理處理 存儲存儲 通信通信主機二主機二 中間件中間件分布式應用分布式應用中間件中間件APIAPI操作系統(tǒng)操作系統(tǒng)APIAPI操作系統(tǒng)操作系統(tǒng)處理處理存儲存儲通信通信圖圖7-6 7-6 中間件在應用系統(tǒng)中的位置中間件在應用系統(tǒng)中的位置TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)87.5.1 中間件概述許多物聯(lián)網(wǎng)體系架構(gòu)中,經(jīng)常把中間件單獨劃分一層,位于感知層與網(wǎng)絡(luò)層或網(wǎng)絡(luò)層與應用層之間。 物聯(lián)網(wǎng)中采用中間件技術(shù),可以實現(xiàn)多個系統(tǒng)和多種技術(shù)之間的
8、資源共享,最終組成資源豐富、功能強大的服務(wù)系統(tǒng),最大限度地發(fā)揮物聯(lián)網(wǎng)系統(tǒng)的作用。 物聯(lián)網(wǎng)中間件的主要作用主要作用在于將實體對象轉(zhuǎn)換為信息環(huán)境下的虛擬對象,因此數(shù)據(jù)處理是中間件最重要的功能。同時,中間件具有數(shù)據(jù)的搜集、過濾、整合與傳遞等特性,以便將正確的對象信息傳到后端的應用系統(tǒng)。TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)97.5.1 中間件概述物聯(lián)網(wǎng)中間件的特點(1)獨立于架構(gòu)。中間件獨立于物聯(lián)網(wǎng)設(shè)備與后端應用程序之間,并能與多個后端應用程序連接,降低維護的復雜性;(2)數(shù)據(jù)流。物聯(lián)網(wǎng)的目的是將實體對象轉(zhuǎn)換為信息環(huán)境下的虛擬
9、對象,因此數(shù)據(jù)處理是中間件最重要的功能。(3)處理流。物聯(lián)網(wǎng)中間件采用程序邏輯及存儲轉(zhuǎn)發(fā)功能提供順序信息流,具有數(shù)據(jù)流設(shè)計與管理的能力。(4)標準化。TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)107.5.1 中間件概述 按照技術(shù)發(fā)展的階段劃分,物聯(lián)網(wǎng)中間件發(fā)展主要分成3個階段應用程序中間件應用程序中間件階段;架構(gòu)中間件架構(gòu)中間件階段;解決方案中間件解決方案中間件階段; 目前,物聯(lián)網(wǎng)中間件最主要的代表是RFID中間件,其他的還有嵌入式中間件、數(shù)字電視中間件、通用中間件等。TaiYuan University of Techno
10、logy7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)117.5.1 中間件概述 RFID中間件RFID中間件是RFID標簽和應用程序之間的中介,從應用程序端使用中間件提供的一組通用的API,能夠讀寫RFID標簽。RFID中間件在系統(tǒng)中的位置和作用參見下圖7-17所示。RFID中間件是為了實現(xiàn)每個小的應用環(huán)境或系統(tǒng)的標準化以及它們之間的通信,在后臺應用軟件和讀寫器之間設(shè)置的一個通用的平臺和接口。TaiYuan University of Technology圖7-18 典型的嵌入式Web服務(wù)器系統(tǒng)模型7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)127.5.1 中間件概述 嵌入式中間件位于
11、嵌入式操作系統(tǒng)、數(shù)據(jù)庫與應用軟件之間的一種軟件,使用嵌入式操作系統(tǒng)所提供的基本功能和服務(wù),并為上層的應用系統(tǒng)提供運行開發(fā)環(huán)境。嵌入式系統(tǒng)的優(yōu)點在于軟件和硬件的可裁剪性,結(jié)構(gòu)靈活性、穩(wěn)定性和經(jīng)濟性。嵌入式中間件有兩個重要的平臺:嵌入式Web和Java VM平臺。TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)137.5.1 中間件概述 數(shù)字電視中間件指位于數(shù)字電視機頂盒內(nèi)部實時操作系統(tǒng)與應用程序之間的軟件部分;以應用程序接口API的形式存在,整個API集合被存儲在機頂盒的閃存FLASH中,針對機頂盒的應用程序基于API進行開發(fā),能夠
12、支持豐富的應用。TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)147.5.1 中間件概述下面以RFID中間件的發(fā)展為例,簡單介紹其3個發(fā)展階段:應用程序中間件階段應用程序中間件階段多以整合、串接RFID讀寫器為目的,RFID廠商提供簡單的API,以供用戶將后端與RFID讀寫器串接,用戶需要花費較多成本處理前后端之間的連接問題;架構(gòu)中間件階段架構(gòu)中間件階段是RFID中間件發(fā)展的關(guān)鍵階段,不但已經(jīng)具備基本的數(shù)據(jù)搜索、過濾功能,同時也滿足企業(yè)多對多的連接需求,并具備平臺的管理與維護功能;解決方案中間件階段解決方案中間件階段是在RFID
13、標簽、讀寫器與中間件發(fā)展成熟過程中,各廠商針對不同領(lǐng)域提出的創(chuàng)新應用解決方案,如Manhattan Associates提出的RFID in a Box,企業(yè)不需再為前端的RFID硬件和后端應用系統(tǒng)的連接而煩惱,該公司與Alien Technology Corp在RFID硬件端合作,發(fā)展中間件,針對該公司的900多家已有的供應鏈客戶群發(fā)展供應鏈執(zhí)行方案。TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)157.5.2 物聯(lián)網(wǎng)中間件分類按物聯(lián)網(wǎng)底層感知及互聯(lián)互通,和面向大規(guī)模物聯(lián)網(wǎng)應用兩方面介紹當前物聯(lián)網(wǎng)中間件的相關(guān)研究現(xiàn)狀:物聯(lián)網(wǎng)底
14、層感知與互聯(lián)互通方面: EPC中間件相關(guān)規(guī)范、OPC中間件相關(guān)規(guī)范已經(jīng)過多年的發(fā)展,相關(guān)商業(yè)產(chǎn)品在業(yè)界已被廣泛接受和使用;WSN中間件,以及面向開放互聯(lián)的OSGi中間件,正處于研究熱點;大規(guī)模物聯(lián)網(wǎng)應用方面:面對海量數(shù)據(jù)實時處理等的需求,傳統(tǒng)面向服務(wù)的中間件技術(shù)將難以發(fā)揮作用,而事件驅(qū)動架構(gòu)、復雜事件處理CEP中間件則是物聯(lián)網(wǎng)大規(guī)模應用的核心研究內(nèi)容之一。TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)167.5.2 物聯(lián)網(wǎng)中間件分類 (一)EPC(Electronic Product Code) 中間件EPC中間件是電子產(chǎn)品標簽
15、和應用程序之間的中介。應用程序使用EPC中間件所提供的一組通用應用程序接口,讀取RFID標簽數(shù)據(jù)。EPC中間件的標準接口,可以解決應用程序和RFID標簽之間多對多連接的維護復雜性等問題。EPC電子標簽標準化標準化方面,美國在世界領(lǐng)先成立了EPC Global(電子產(chǎn)品代碼環(huán)球協(xié)會)。EPC Global主要針對RFID編碼及應用開發(fā)規(guī)范方面進行研究,其主要職責主要職責是在全球范圍內(nèi)對各個行業(yè)建立和維護EPC網(wǎng)絡(luò),保證供應鏈各環(huán)節(jié)信息的自動、實時識別采用全球統(tǒng)一標準。國際上,目前比較知名的EPC中間件廠商有IBM、Oracle、SAP、Microsoft、Sun(Oracle)、Sybase、B
16、EA(Oracle)等的相關(guān)產(chǎn)品。TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)177.5.2 物聯(lián)網(wǎng)中間件分類(二)OPC(OLE for Process Control, 用于過程控制的OLE)中間件OPC是一個面向開放工控系統(tǒng)的工業(yè)標準,基于微軟的OLE(Active X)、COM (構(gòu)件對象模型)和DCOM (分布式構(gòu)件對象模型)技術(shù),包括一整套接口、屬性和方法的標準集,用于過程控制和制造業(yè)自動化系統(tǒng),現(xiàn)已成為工業(yè)界系統(tǒng)互聯(lián)的默認方案。OPC是連接數(shù)據(jù)源(OPC服務(wù)器)和數(shù)據(jù)使用者(OPC應用程序)之間的軟件接口標準。
17、OPC Client/Server運行關(guān)系示意圖TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)187.5.2 物聯(lián)網(wǎng)中間件分類(三)WSN中間件相比RFID和OPC中間件產(chǎn)品的成熟度和業(yè)界廣泛應用程度,WSN中間件還處于初級研究階段,所需解決的問題也更為復雜。WSN中間件主要用于支持基于無線傳感器應用的開發(fā)、維護、部署和執(zhí)行,其中包括復雜高級感知任務(wù)的描述機制,傳感器網(wǎng)絡(luò)通信機制,傳感器節(jié)點之間協(xié)調(diào)以在各傳感器節(jié)點上分配和調(diào)度該任務(wù),對合并的傳感器感知數(shù)據(jù)進行數(shù)據(jù)融合以得到高級結(jié)果,并將所得結(jié)果向任務(wù)指派者進行匯報等機制。Tai
18、Yuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)197.5.2 物聯(lián)網(wǎng)中間件分類(三)WSN中間件針對WSN中間件的上述目標,目前的WSN中間件研究提出了諸如分布式數(shù)據(jù)庫、虛擬共享元組空間、事件驅(qū)動、服務(wù)發(fā)現(xiàn)與調(diào)用、移動代理等許多不同的設(shè)計方法。1、分布式數(shù)據(jù)庫基于分布式數(shù)據(jù)庫設(shè)計的WSN中間件把整個WSN網(wǎng)絡(luò)看成一個分布式數(shù)據(jù)庫,用戶使用類SQL的查詢命令以獲取所需的數(shù)據(jù)。分布式數(shù)據(jù)庫方法把整個網(wǎng)絡(luò)抽象為一個虛擬實體,屏蔽了系統(tǒng)分布式問題,使開發(fā)人員擺脫了對底層問題的關(guān)注和繁瑣的單節(jié)點開發(fā)。然而,建立和維護一個全局節(jié)點和網(wǎng)絡(luò)抽象需要整
19、個網(wǎng)絡(luò)信息,這也限制了此類系統(tǒng)的擴展。TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)207.5.2 物聯(lián)網(wǎng)中間件分類(三)WSN中間件2、虛擬共享元組空間指分布式應用利用一個共享存儲模型,通過對元組的讀、寫和移動以實現(xiàn)協(xié)同。在虛擬共享元組空間中,數(shù)據(jù)被表示為稱為元組的基本數(shù)據(jù)結(jié)構(gòu),所有的數(shù)據(jù)操作與查詢看上去像是本地查詢和操作一樣。虛擬共享元組空間通信范式在時空上都是去耦的,不需要節(jié)點的位置或標志信息,非常適合具有移動特性的WSN,并具有很好的擴展性。但它的實現(xiàn)對系統(tǒng)資源要求也相對較高,與分布式數(shù)據(jù)庫類似,考慮到資源和移動性等的約
20、束,把傳感器網(wǎng)絡(luò)中所有連接的傳感器節(jié)點映射為一個分布式共享元組空間并非易事。典型實現(xiàn)包括TinyLime,Agilla等。TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)217.5.2 物聯(lián)網(wǎng)中間件分類(三)WSN中間件3、事件驅(qū)動基于事件驅(qū)動的WSN中間件支持應用程序指定感興趣的某種特定的狀態(tài)變化。當傳感器節(jié)點檢測到相應事件的發(fā)生就立即向相應程序發(fā)送通知。應用程序也可指定一個復合事件,只有發(fā)生的事件匹配了此復合事件模式才通知應用程序。4、服務(wù)發(fā)現(xiàn)基于服務(wù)發(fā)現(xiàn)機制的WSN中間件,可使得上層應用通過使用服務(wù)發(fā)現(xiàn)協(xié)議,來定位可滿足物聯(lián)
21、網(wǎng)應用數(shù)據(jù)需求的傳感器節(jié)點。TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)227.5.2 物聯(lián)網(wǎng)中間件分類(三)WSN中間件-5、移動代理移動代理(或移動代碼)可以被動態(tài)注入并運行在傳感器網(wǎng)絡(luò)中。這些可移動代碼可以收集本地的傳感器數(shù)據(jù),然后自動遷移或?qū)⒆陨砜截愔疗渌麄鞲衅鞴?jié)點上運行,并能夠與其他遠程移動代理(包括自身拷貝)進行通信。除上述提到的WSN中間件類型外,還有許多針對WSN特點而設(shè)計的其他方法。另外,在無線傳感器網(wǎng)絡(luò)環(huán)境中,WSN中間件和傳感器節(jié)點硬件平臺(如ARM,Atmel等)、適用操作系統(tǒng)(TinyOS,ucLin
22、ux,Contiki OS,Mantis OS,SOS,SenOS,MagnetOS,PEEROS,AmbitentRT,Bertha等)、無線網(wǎng)絡(luò)協(xié)議棧(包括鏈路、路由、轉(zhuǎn)發(fā)、節(jié)能)、節(jié)點資源管理(時間同步、定位、電源消耗)等功能聯(lián)系緊密。但由于篇幅關(guān)系,本文對上述內(nèi)容不做贅述。TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)237.5.2 物聯(lián)網(wǎng)中間件分類(四)OSGi(Open Services Gateway initiative)中間件OSGi是一個1999年成立的開放標準聯(lián)盟,旨在建立一個開放的服務(wù)規(guī)范,一方面,為通過
23、網(wǎng)絡(luò)向設(shè)備提供服務(wù)建立開放的標準,另一方面,為各種嵌入式設(shè)備提供通用的軟件運行平臺,以屏蔽設(shè)備操作系統(tǒng)與硬件的區(qū)別。OSGi規(guī)范基于JAVA技術(shù),可為設(shè)備的網(wǎng)絡(luò)服務(wù)定義一個標準的、面向組件的計算環(huán)境,并提供已開發(fā)的象HTTP服務(wù)器、配置、日志、安全、用戶管理、XML等很多公共功能標準組件。OSGi組件可以在無需網(wǎng)絡(luò)設(shè)備重啟下被設(shè)備動態(tài)加載或移除,以滿足不同應用的不同需求。TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)247.5.2 物聯(lián)網(wǎng)中間件分類(五)復雜事件處理CEP中間件復雜事件處理(Complex Event Progr
24、essing)技術(shù)是90 年代中期由斯坦福大學的David Luckham 教授所提出是一種新興的基于事件流的技術(shù),它將系統(tǒng)數(shù)據(jù)看作不同類型的事件,通過分析事件間的關(guān)系如:成員關(guān)系、時間關(guān)系以及因果關(guān)系,包含關(guān)系等,建立不同的事件關(guān)系序列庫,即規(guī)則庫,利用過濾、關(guān)聯(lián)、聚合等技術(shù),最終由簡單事件產(chǎn)生高級事件或商業(yè)流程。不同的應用系統(tǒng)可以通過它得到不同的高級事件。TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)257.5.2 物聯(lián)網(wǎng)中間件分類(五)復雜事件處理CEP中間件(續(xù))復雜事件處理代表一個新的開發(fā)理念和架構(gòu),具有很多特征,例如
25、分析計算是基于數(shù)據(jù)流而不是簡單數(shù)據(jù)的方式進行的。它不是數(shù)據(jù)庫技術(shù)層面的突破,而是整個方法論的突破。目前,復雜事件處理中間件主要面向金融、監(jiān)控等領(lǐng)域,包括IBM流計算中間件InfoSphere Streams,以及Sybase、Tibico等的相關(guān)產(chǎn)品。TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)267.5.2 物聯(lián)網(wǎng)中間件分類(六)其他相關(guān)中間件國際電信聯(lián)盟對物聯(lián)網(wǎng)提出的任何時刻、任何地點、任意物體之間互聯(lián),無所不在的網(wǎng)絡(luò)和無處不在的計算的發(fā)展愿景,在某種程度上,與普適計算的核心思想是一致的。普適計算(Ubiquitous c
26、omputing 或 pervasive computing),是一個強調(diào)和環(huán)境融為一體的計算概念,而計算機本身則從人們的視線里消失。在普適計算的模式下,人們能夠在任何時間、任何地點、以任何方式進行信息的獲取與處理。有關(guān)普適計算中間件及物聯(lián)網(wǎng)應用方面的研究內(nèi)容,可參閱其他相關(guān)文獻。另外,由于行業(yè)應用的不同,即使是RFID應用,也可能因其在商場、物流、健康醫(yī)療、食品回溯等領(lǐng)域的不同,而具有不同的應用架構(gòu)和信息處理模型。針對智能電網(wǎng),智能交通,智能物流,智能安防,軍事應用等領(lǐng)域的物聯(lián)網(wǎng)中間件,也是當前物聯(lián)網(wǎng)中間件研究的熱點內(nèi)容。TaiYuan University of Technology7.5
27、 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)277.5.2 物聯(lián)網(wǎng)中間件分類(七)物聯(lián)網(wǎng)國際研究項目中間件 ASPIREASPIRE旨在將RFID應用滲透到中小型企業(yè)。為了達到這樣的目的,ASPIRE完全改變了現(xiàn)有的RFID應用開發(fā)模式,它引入并推進一種完全開放的中間件(即設(shè)置一個通用的平臺和接口,以實現(xiàn)每個小的應用環(huán)境或系統(tǒng)的標準化以及它們之間的通信),同時完全有能力支持原有模式中核心部分的開發(fā)。ASPIRE的解決辦法是完全開源和免版權(quán)費用,這大大降低了總的開發(fā)成本。 歐盟歐盟HydraHydra物聯(lián)網(wǎng)中間件項目致力于開發(fā)可廣泛部署的智能網(wǎng)絡(luò)嵌入式中間件平臺,使之可運行于新的或已存在的分布式有
28、線/無線網(wǎng)絡(luò)設(shè)備中。HydraHydra是定位于操作系統(tǒng)和應用之間的中間件,包含了設(shè)計用于處理各種任務(wù)的眾多軟件組成成分,以完成一個有效利用成本低智能物聯(lián)網(wǎng)應用開發(fā)過程。TaiYuan University of Technology7.5 7.5 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)287.5.2 物聯(lián)網(wǎng)中間件分類(七)物聯(lián)網(wǎng)國際研究項目中間件歐洲IOT-A(Internet of Things Architecture)項目致力于當前物連網(wǎng)向未來物聯(lián)網(wǎng)的轉(zhuǎn)變,以及物聯(lián)網(wǎng)業(yè)務(wù)流程建模、原型實現(xiàn),并對物聯(lián)網(wǎng)工業(yè)應用作出貢獻。其具體內(nèi)容包括搭建物聯(lián)網(wǎng)系統(tǒng)互操作模型,建立有效的服務(wù)層響應機制,提供基于
29、開放協(xié)議的服務(wù)協(xié)議,定義官方物聯(lián)網(wǎng)體系結(jié)構(gòu)以及設(shè)備平臺組件等。TaiYuan University of Technology7.6 7.6 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)297.5.3 基于中間件的物聯(lián)網(wǎng)應用軟件設(shè)計案例基于中間件的體系結(jié)構(gòu)基于中間件的體系結(jié)構(gòu)指的是通過中間件隱藏硬件和網(wǎng)絡(luò)平臺的復雜性和異質(zhì)性的架構(gòu)。本節(jié)針對醫(yī)療保健應用提供了一個基于中間件的物聯(lián)網(wǎng)體系架構(gòu),為嵌入式設(shè)備和節(jié)點,如計算機或數(shù)據(jù)服務(wù)器,提供簡單、統(tǒng)一的配置和操作。該模型把整個系統(tǒng)看作一個分布式系統(tǒng),把任何計算設(shè)備,無論硬件還是操作系統(tǒng),都看作為一個節(jié)點,該架構(gòu)要求每個節(jié)點有必須包含一個獨立于設(shè)備的中間件,并給出
30、基于該中間件進行應用實例開發(fā)的架構(gòu)和方法。TaiYuan University of Technology7.6 7.6 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)307.5.3 基于中間件的物聯(lián)網(wǎng)應用軟件設(shè)計案例一個簡單的醫(yī)療保健應用場景:(中間件需求)在醫(yī)療保健這個特殊場景中,通常需要在被治療者身上設(shè)置包含若干傳感器的嵌入式設(shè)備節(jié)點,在某個突發(fā)實例觸發(fā)對數(shù)據(jù)的使用需求之前,每個節(jié)點都需要存儲數(shù)據(jù)。該場景中,節(jié)點的存儲和處理能力是最重要的方面,以供決策支持系統(tǒng)使用。例如,如果患者去醫(yī)院并使用人體感應器來監(jiān)測一天的心跳,節(jié)點必須能存儲它一天收集的數(shù)據(jù),并且只有當患者返回醫(yī)院時才卸載檢節(jié)點測到的數(shù)據(jù)。考慮
31、上面的場景,我們可從中提取出幾個中間件需求:數(shù)據(jù)采數(shù)據(jù)采集和處理集和處理、系統(tǒng)配置系統(tǒng)配置作為功能性需求,而異質(zhì)性、互操作性和適應性被視為非功能性需求。TaiYuan University of Technology7.6 7.6 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)317.5.3 基于中間件的物聯(lián)網(wǎng)應用軟件設(shè)計案例數(shù)據(jù)采集和處理數(shù)據(jù)采集和處理:數(shù)據(jù)必須被獲取和存儲、處理(例如,格式適應、過濾),轉(zhuǎn)移、進一步加工或合并并交付給用戶。異質(zhì)性異質(zhì)性:中間件應當模塊化并基于驅(qū)動程序和接口,這些允許它運行在不同的硬件和軟件平臺?;ゲ僮餍曰ゲ僮餍裕罕仨殲樗械墓?jié)點提供標準的接口來訪問數(shù)據(jù)(不同的節(jié)點必須被抽
32、象并使用通用API以相同的方式訪問)。靈活性靈活性:中間件必須具有靈活性和適應性。每個應用上下文(例如血壓、血糖水平的測量)將要求一個稍微不同的操作、采樣率和響應時間的組合。系統(tǒng)配置系統(tǒng)配置和適應性適應性:部署系統(tǒng)應該是必要的,配置系統(tǒng),系統(tǒng)應該就啟動和運行。在其他情況下,可能有必要使用共同的方言和調(diào)用標準API函數(shù),編程應用程序的一部分。針對上述醫(yī)療保健應用場景及中間件需求的物聯(lián)網(wǎng)體系結(jié)構(gòu)TaiYuan University of Technology7.6 7.6 物聯(lián)網(wǎng)物聯(lián)網(wǎng)中間件技術(shù)中間件技術(shù)327.5.3 基于中間件的物聯(lián)網(wǎng)應用軟件設(shè)計案例架構(gòu)中定義了節(jié)點構(gòu)件(NCeH),該節(jié)點構(gòu)件
33、必須被包括在所有節(jié)點裝置,包括計算機和數(shù)據(jù)服務(wù)器中。該節(jié)點構(gòu)件NCeH主要目的是提供一些機制來處理節(jié)點的引用、異質(zhì)性和平臺和通信協(xié)議的獨立性。該例中血糖儀裝備有節(jié)點組件NCeH二進制文件,運行Android的智能手機裝備有面向Android的NCeH,而服務(wù)器運行NCeH的Linux版本。用戶發(fā)送配置命令(每秒讀葡萄糖;發(fā)送到智能手機,存儲1天;發(fā)送到服務(wù)器)。每個關(guān)鍵詞 - 葡萄糖、智能手機、服務(wù)器 - 使用一種簡單的機制來定義。其中物聯(lián)網(wǎng)中間件NCeH的一種體系結(jié)構(gòu)可以參考下圖所示。TaiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件
34、及服務(wù)的設(shè)計技術(shù)技術(shù) 構(gòu)件構(gòu)件是系統(tǒng)中實際存在的可更換部分,代表系統(tǒng)中的一部分物理實施,其發(fā)展在某種程度上極大依賴于中間件技術(shù),同時,構(gòu)件技術(shù)是支持復用的核心技術(shù)。 服務(wù)服務(wù)相當于構(gòu)件化編程模型中的構(gòu)件。面向服務(wù)的架構(gòu)是一種松耦合的軟件構(gòu)件技術(shù),將應用程序的不同功能模塊化,并通過標準化的接口和調(diào)用方式聯(lián)系起來,實現(xiàn)快速可重用的系統(tǒng)開發(fā)和部署。面向服務(wù)的架構(gòu)模型使得構(gòu)建在不同系統(tǒng)中的同類服務(wù)可以通過統(tǒng)一和通用的方式進行交互。 本節(jié)討論構(gòu)件化架構(gòu)構(gòu)件化架構(gòu)或面向服務(wù)架構(gòu)面向服務(wù)架構(gòu)方式設(shè)計開發(fā)物聯(lián)網(wǎng)系統(tǒng)時的相關(guān)設(shè)計技術(shù)。337.6.1 面向構(gòu)件的物聯(lián)網(wǎng)應用設(shè)計7.6.2 面向服務(wù)的物聯(lián)網(wǎng)應用設(shè)計T
35、aiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件及服務(wù)的設(shè)計技術(shù)技術(shù)347.6.1 面向構(gòu)件的物聯(lián)網(wǎng)應用設(shè)計構(gòu)件具有以下幾個特點:(1)自描述自描述:構(gòu)件必須能夠識別其屬性、存取方法和事件,這些信息可以使開發(fā)環(huán)境將第三方軟件構(gòu)件無縫地結(jié)合起來;(2)可定制可定制:允許提供一個典型的圖形方式環(huán)境,軟件構(gòu)件的屬性只能通過控制面板來設(shè)置;(3)可集成可集成:構(gòu)件必須可以被編程語言直接控制。構(gòu)件也可以和腳本語言或者與從代碼級訪問構(gòu)件的環(huán)境連接,這個特點使得軟件構(gòu)件可以在非可視化開發(fā)項目中使用;(4)連接機制連接機制:構(gòu)件必須能產(chǎn)生事件或者具有讓
36、程序員從語義上實現(xiàn)相互連接的其他機制。TaiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件及服務(wù)的設(shè)計技術(shù)技術(shù)357.6.1 面向構(gòu)件的物聯(lián)網(wǎng)應用設(shè)計構(gòu)件技術(shù)是由基于面向?qū)ο蠹夹g(shù)而發(fā)展起來的,與面向?qū)ο蟮脑O(shè)計中的對象相類似,但它們之間存在很大差異,構(gòu)件不是對象,只是與對象類似。物聯(lián)網(wǎng)應用范圍、規(guī)模及種類的多樣性使得物聯(lián)網(wǎng)應用環(huán)境具有開放、動態(tài)和難控等特性,也造成構(gòu)成系統(tǒng)的軟件實體也具有異構(gòu)、智能和自主等特點。我們把適應環(huán)境變化,且能夠自主進行決策的構(gòu)件稱為自主構(gòu)件自主構(gòu)件一方面,從構(gòu)件角度來看,自主構(gòu)件與普通構(gòu)件相同,它具有相對獨立的功能
37、,能夠被復用和組裝,成為系統(tǒng)的有機構(gòu)成成分。另一方面,從自主性的角度來看,自主構(gòu)件行為受到自身策略的驅(qū)動向外提供服務(wù),并且可以在運行時刻收集系統(tǒng)的信息,感知變化從而做出決策。TaiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件及服務(wù)的設(shè)計技術(shù)技術(shù)367.6.1 面向構(gòu)件的物聯(lián)網(wǎng)應用設(shè)計針對物聯(lián)網(wǎng)應用環(huán)境的特點,構(gòu)成物聯(lián)網(wǎng)應用的構(gòu)件不能只被看作被動的受管對象,而應將其建模為具有主動能力的軟件實體,即自主構(gòu)件自主構(gòu)件。自主構(gòu)件同時具備了構(gòu)件以及 Agent的關(guān)鍵性質(zhì),從能力要求來看,除了對外提供服務(wù),自主構(gòu)件區(qū)別于傳統(tǒng)構(gòu)件的能力主要:(1)功
38、能性功能性:能對外提供服務(wù),可以通過調(diào)用外部構(gòu)件的服務(wù)來實現(xiàn)自身的功能性需求;并具有質(zhì)量屬性評估的功能。(2)自決策性自決策性:對功能性和非功能性目標的實現(xiàn)和改進具有決策能力。(3)自適應性自適應性:自主構(gòu)件對于不同應用環(huán)境具有適應能力,在不同場景下,對外所展現(xiàn)的行為會有所不同。 能夠決定如何選擇和使用外部資源(依賴服務(wù)),并規(guī)范依賴服務(wù)的行為。(4) )交互性交互性和協(xié)同性協(xié)同性:能參與交互和合作,多個自主構(gòu)件可以協(xié)作完成復雜的任務(wù)。TaiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件及服務(wù)的設(shè)計技術(shù)技術(shù)377.6.1 面向構(gòu)件的物聯(lián)網(wǎng)
39、應用設(shè)計自主構(gòu)件的功能模塊自主構(gòu)件的功能模塊構(gòu)成一個執(zhí)行循環(huán):“監(jiān)控分析決策執(zhí)行”來動態(tài)的監(jiān)控環(huán)境變化并做出實時響應。以上4部分使用的數(shù)據(jù)作為共享的知識存儲在知識庫中,共享的知識包括網(wǎng)絡(luò)拓撲信息、系統(tǒng)日志、策略庫等。在開放物聯(lián)網(wǎng)環(huán)境中,構(gòu)件所依賴的服務(wù)質(zhì)量和數(shù)量、鏈接的狀態(tài)等都是動態(tài)變化的。理想狀態(tài)下,具有自適應能力的構(gòu)件能夠在網(wǎng)絡(luò)環(huán)境不斷變化的情況下,無需外界進行顯式控制,就能調(diào)整其自身內(nèi)部行為或結(jié)構(gòu)保證正常對外提供服務(wù)。自主構(gòu)件將數(shù)據(jù)、操作、質(zhì)量屬性封裝在一起。自主構(gòu)件是部署在網(wǎng)絡(luò)上、能被第三方復用的軟件實體。TaiYuan University of Technology7.6 7.6
40、面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件及服務(wù)的設(shè)計技術(shù)技術(shù)387.6.1 面向構(gòu)件的物聯(lián)網(wǎng)應用設(shè)計自主構(gòu)件自主構(gòu)件主要由以下 8 個部分組成:(1)接口接口:即自主構(gòu)件對外部提供的服務(wù)接口。主要由感知器和效應器 2 個接口組成,用于感知環(huán)境和作用于環(huán)境。(2)質(zhì)量屬性質(zhì)量屬性:影響質(zhì)量的各種因素的評估函數(shù);(3)內(nèi)部數(shù)據(jù)內(nèi)部數(shù)據(jù):由數(shù)據(jù)名、類型,以及允許的取值范圍定義。往往用于記錄自主構(gòu)件內(nèi)部和外部環(huán)境的動態(tài)變化。(4)外部依賴服務(wù)外部依賴服務(wù):定義了自主構(gòu)件對外部計算資源的依賴,以及對計算資源的計算能力和服務(wù)質(zhì)量的期待。(5)交互對象交互對象:定義了自主構(gòu)件在合作過程中,對交互對象的期望列表。(6)交
41、互協(xié)議交互協(xié)議:定義自主構(gòu)件能夠支持的交互方式。(7)動作動作:定義了自主構(gòu)件的具體行為。(8)決策決策:決定是否采取行動,以及如何采取行動,以便更好地實現(xiàn)自身的目標。TaiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件及服務(wù)的設(shè)計技術(shù)技術(shù)397.6.1 面向構(gòu)件的物聯(lián)網(wǎng)應用設(shè)計自主構(gòu)件自主構(gòu)件的基本構(gòu)成及其運行機理TaiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件及服務(wù)的設(shè)計技術(shù)技術(shù)407.6.1 面向構(gòu)件的物聯(lián)網(wǎng)應用設(shè)計自主構(gòu)件自主構(gòu)件的生命周期經(jīng)過設(shè)計、實施、測試、驗證,經(jīng)過
42、安裝和配置,自主構(gòu)件需要向系統(tǒng)注冊安裝和配置信息,以便在進行后續(xù)自決策時使用。安裝配置完成后,自主構(gòu)件進入自己的生命周期。TaiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件及服務(wù)的設(shè)計技術(shù)技術(shù)417.6.2 面向服務(wù)的物聯(lián)網(wǎng)應用設(shè)計面向服務(wù)的體系結(jié)構(gòu)(Service Oriented Architecture, SOA)是一種構(gòu)件模型,可以根據(jù)需求通過網(wǎng)絡(luò)對松散耦合的粗粒度應用構(gòu)件進行分布式部署、組合和使用。服務(wù)層是SOA的基礎(chǔ),可以直接被應用調(diào)用,從而有效控制系統(tǒng)中與軟件代理交互的人為依賴性。SOA是軟件工程中提出來旨在提高軟件構(gòu)件重
43、用功能的體系架構(gòu),但其特征無疑同樣適合于物聯(lián)網(wǎng)系統(tǒng)的體系結(jié)構(gòu)設(shè)計與開發(fā)。SOA的5大基本特征為構(gòu)件的功能重用提供了解決的辦法。TaiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件及服務(wù)的設(shè)計技術(shù)技術(shù)427.6.2 面向服務(wù)的物聯(lián)網(wǎng)應用設(shè)計服務(wù)之間通過簡單、精確定義的接口進行通信服務(wù)之間通過簡單、精確定義的接口進行通信,不涉及底層編程接口和通信模型。粗粒度性粗粒度性:粗粒度服務(wù)提供一項特定的業(yè)務(wù)功能,采用粗粒度服務(wù)接口的優(yōu)點在于使用者和服務(wù)層之間不必再進行多次的往復,一次往復就足夠了。松耦合性松耦合性:松耦合性要求SOA架構(gòu)中的不同服務(wù)之間
44、應該保持一種松耦合的關(guān)系。位置透明性位置透明性:位置透明性要求SOA系統(tǒng)中的所有服務(wù)對于其調(diào)用者來說都是位置透明的。協(xié)議無關(guān)性協(xié)議無關(guān)性:協(xié)議無關(guān)性要求每一個服務(wù)都可以通過不同的協(xié)議來調(diào)用。TaiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件及服務(wù)的設(shè)計技術(shù)技術(shù)437.6.2 面向服務(wù)的物聯(lián)網(wǎng)應用設(shè)計本節(jié)以一個基于服務(wù)的物聯(lián)網(wǎng)EPCIS設(shè)計來介紹面向服務(wù)的物聯(lián)網(wǎng)應用設(shè)計。 本節(jié)的物聯(lián)網(wǎng)流程即按照EPCglobal框架設(shè)計 RFID讀寫器讀取商品標簽中的EPC碼并傳送到RFID過濾收集中間件,中間件負責收集從識讀器上傳的數(shù)據(jù)。在EPCIS捕
45、獲應用程序和EPCIS存儲系統(tǒng)之間定義EPCIS信息捕獲接口,捕獲中間件的事件報告,并存儲到EPCIS存儲系統(tǒng),在EPCIS存儲系統(tǒng)和EPCIS訪問系統(tǒng)之間定義EPCIS查詢接口,負責查詢EPCIS事件報告。 上述流程可知,EPC信息系統(tǒng)處于系統(tǒng)最高抽象層次,負責和RFID過濾收集中間件進行交互TaiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件及服務(wù)的設(shè)計技術(shù)技術(shù)447.6.2 面向服務(wù)的物聯(lián)網(wǎng)應用設(shè)計分析:EPCIS訪問系統(tǒng)相當于電子商務(wù)中的供應商,EPCIS存儲系統(tǒng)相當于電子商務(wù)中經(jīng)營規(guī)模較大的經(jīng)銷商,經(jīng)銷商從供應商購買商品后出售,
46、售出商品后,經(jīng)銷商的系統(tǒng)接收RFID過濾收集中間件從讀寫器讀來的數(shù)據(jù)存到數(shù)據(jù)庫,為經(jīng)銷商查詢商品銷售情況提供依據(jù),供應商可以從經(jīng)銷商處及時、準確了解到自己所訂閱商品的銷售情況,從而及時調(diào)整生產(chǎn),避免產(chǎn)量過剩或者不足。TaiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件及服務(wù)的設(shè)計技術(shù)技術(shù)457.6.2 面向服務(wù)的物聯(lián)網(wǎng)應用設(shè)計設(shè)計:用兩個系統(tǒng)分別代表供應商和經(jīng)銷商。在EPCIS的實現(xiàn)中引入面向服務(wù)的架構(gòu)設(shè)計后,經(jīng)銷商經(jīng)銷商登錄供應商的系統(tǒng)選購完商品并提交訂單后,訂單中的商品信息自動存儲在以本次訂單號為文件名的XML文件中,系統(tǒng)將根據(jù)訂單號
47、獲取訂單中商品信息的操作發(fā)布為服務(wù),經(jīng)銷商根據(jù)訂單號去調(diào)用這個服務(wù)就可以獲取本次購物袋商品信息。TaiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件及服務(wù)的設(shè)計技術(shù)技術(shù)467.6.2 面向服務(wù)的物聯(lián)網(wǎng)應用設(shè)計設(shè)計(續(xù)):供應商供應商登錄經(jīng)銷商的系統(tǒng),填寫訂閱請求表單,需要填寫的訂閱信息為商品編號、商品名稱、開始時間、結(jié)束時間,提交訂閱表單后得到一個訂閱號。經(jīng)銷商端的系統(tǒng)跟過濾收集中間件相連,售出商品時,識讀器掃描售出商品的標簽中的商品信息,經(jīng)過ALE中間件的處理后傳遞到經(jīng)銷商,經(jīng)銷商系統(tǒng)根據(jù)供應商的訂閱信息,將訂閱商品的信息存儲在以訂閱單
48、號為文件名的XML文件中,并根據(jù)訂閱單號獲取訂閱商品信息,發(fā)布為服務(wù),供應商根據(jù)訂閱單號直接調(diào)用該服務(wù)就可以得到該訂閱商品信息。供應商和經(jīng)銷商這兩個系統(tǒng)之間交互是以相互調(diào)用服務(wù)的形式進行交互,真正實現(xiàn)了SOA中的松耦合。TaiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件及服務(wù)的設(shè)計技術(shù)技術(shù)477.6.2 面向服務(wù)的物聯(lián)網(wǎng)應用設(shè)計實現(xiàn):經(jīng)銷商系統(tǒng)中需要錄入商品的屬性為商品編碼、商品名稱、商品種類、商品價格、商品數(shù)量,則供應商在暴露的獲取商品清單的服務(wù)中的商品應包括這些內(nèi)容,由于這個服務(wù)中商品的屬性來自商品清單XML文件,則商品清單XML文
49、件里也應包括這些屬性,并以元素名代表這些屬性,元素的內(nèi)容為商品的屬性。供應商系統(tǒng)中需要訂閱的商品屬性為商品編碼、商品名稱、商品種類、商品價格、商品數(shù)量、交易地點、交易時間。則經(jīng)銷商在獲取訂閱商品信息的服務(wù)中也應該包括這些內(nèi)容,由于該服務(wù)中商品的屬性來自訂閱商品XML文件,則訂閱商品XML文件也應包括這些屬性,以元素名代表這些屬性,元素的內(nèi)容為商品的屬性。TaiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件及服務(wù)的設(shè)計技術(shù)技術(shù)487.6.2 面向服務(wù)的物聯(lián)網(wǎng)應用設(shè)計實現(xiàn)(續(xù)):Web Services作為SOA的實現(xiàn)技術(shù),充分利用Web分布
50、式編程模型的松散耦合性,允許各種平臺和各種編程語言的應用程序彼此交換數(shù)據(jù),從而將其無縫地整合在一起。Web Services涉及到的技術(shù)有SOAP,WSDL和UDDI。SOAP基于兩種已經(jīng)廣泛使用的技術(shù):HTTP和XML,其中HTTP用于SOAP消息傳輸,而XML文檔則是SOAP的編碼模式,SOAP可以非常方便地解決異構(gòu)系統(tǒng)中互相通信的問題。一條SOAP消息就是一份特定的XML文檔,包含如下三個元素:必需的根元素,可選的元素,包含SOAP消息的頭消息,必需的元素,包括所有的調(diào)用和響應消息。TaiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)
51、件及服務(wù)的設(shè)計技術(shù)技術(shù)497.6.2 面向服務(wù)的物聯(lián)網(wǎng)應用設(shè)計實現(xiàn)(續(xù)):WSDL文檔是一份與平臺無關(guān)的XML文檔,詳細定義了Web Services的位置、所提供的操作以及調(diào)用這些操作的方式,Web Services調(diào)用者根據(jù)該WSD文檔調(diào)用Web Services的服務(wù)。WSDL模型充分運用了規(guī)范和實現(xiàn)分離的原則,將Web Services的服務(wù)和實現(xiàn)分成兩個部分定義。第一部分定義了服務(wù)接口,由元素和元素組成,而元素則包含任意數(shù)量的子元素,每個子元素代表一個允許遠程調(diào)用的操作。第二部分定義了服務(wù)實現(xiàn),由和兩個元素組成,其中元素定義了使用特定的通信協(xié)議,而元素則包含了一系列的元素,把綁定機制
52、、服務(wù)訪問協(xié)議和端點地址結(jié)合在一起。TaiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件及服務(wù)的設(shè)計技術(shù)技術(shù)507.6.2 面向服務(wù)的物聯(lián)網(wǎng)應用設(shè)計實現(xiàn)(續(xù)):基于服務(wù)的EPCIS實現(xiàn)可以采用Apache的CXF開源框架來簡化用戶開發(fā)Web Services操作,并可與JavaEE項目實現(xiàn)無縫整合,因此選用Java中的Struts2+Spring3+Hiberate3框架實現(xiàn)供應商和經(jīng)銷商這兩個系統(tǒng),并通過CXF框架為這兩個系統(tǒng)增加Web服務(wù)功能來實現(xiàn)上述設(shè)計。其中,Web服務(wù)的發(fā)布需要首先聲明一個接口,再通過具體類來實現(xiàn)該接口。接口和實
53、現(xiàn)類的代碼如下所示:/獲取商品清單服務(wù)的接口WebServicepublic interface OrderWs public List getCommodities(String id, String username, String password); TaiYuan University of Technology7.6 7.6 面向構(gòu)件及服務(wù)的設(shè)計面向構(gòu)件及服務(wù)的設(shè)計技術(shù)技術(shù)517.6.2 面向服務(wù)的物聯(lián)網(wǎng)應用設(shè)計實現(xiàn)(續(xù)):/獲取商品清單服務(wù)的實現(xiàn)WebService(endpointInterface = “com.service.ws.order.OrderWs”, servi
54、ceName = “OrderWs”)public class OrderWsImp implements OrderWs public List getCommodities (String orderid, String username, String password) /具體實現(xiàn)代碼(略) 其中具體實現(xiàn)代碼就是解析文件“訂單號.xml”中元素的內(nèi)容,得到訂單中的商品信息。在Spring配置文件ApplicationContex.xml中利用CFX框架提供的元素,用下面一行代碼 就能將getCommodities方法暴露成獲取清單的服務(wù)(前提是將該元素的元素包含在配置文件Applica
55、tionContex.xml中)TaiYuan University of Technology7.7 7.7 以以APPAPP為中心的為中心的物聯(lián)網(wǎng)物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)軟件生態(tài)系統(tǒng)以APP應用程序為中心的軟件生態(tài)系統(tǒng)指的是使用軟件生態(tài)系統(tǒng)作為軟件架構(gòu)。這種架構(gòu)有兩部分主要的構(gòu)成要素,一部分是基礎(chǔ)軟件模塊APP應用程序;另一部分是管理和運行這些應用程序的環(huán)境。其中,APP也表示最主要的實體類型。以APP為中心的軟件生態(tài)系統(tǒng)當前最成功的應用是在移動領(lǐng)域。然而,這些平臺的成功已經(jīng)導致建立應用商店的一個廣泛的領(lǐng)域,并通過一系列的產(chǎn)品,甚至延伸到近期SMART平臺的電子病歷(EMR)領(lǐng)域。527.7.1
56、 以APP為中心的軟件生態(tài)系統(tǒng)架構(gòu)7.7.2 APP與構(gòu)件之間的比較7.7.3 APP與服務(wù)之間的比較7.7.4 APP環(huán)境7.7.5 以APP為中心的物聯(lián)網(wǎng)軟件系統(tǒng)實例TaiYuan University of Technology7.7.1 以APP為中心的軟件生態(tài)系統(tǒng)架構(gòu)以APP為中心的軟件生態(tài)系統(tǒng)的眾多組成中,存在兩個普通的元素:一組一組APP以及用來管理和執(zhí)行這些APP的環(huán)境環(huán)境。這兩個子系統(tǒng)構(gòu)成了以APP為中心的軟件生態(tài)系統(tǒng)的體系結(jié)構(gòu)。一個應用程序APP是一種小型、單一用途的軟件工具。APP在概念上與大型、單一廠商的軟件即服務(wù)(SaaS)所提供的產(chǎn)品的模塊或插件類似。但是,一個AP
57、P比插件或模塊更加獨立于其環(huán)境:APP一般與APP環(huán)境中的基礎(chǔ)的、通用的功能沒有沒有依賴。537.7 7.7 以以APPAPP為中心的為中心的物聯(lián)網(wǎng)物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)軟件生態(tài)系統(tǒng)TaiYuan University of Technology7.7.1 以APP為中心的軟件生態(tài)系統(tǒng)架構(gòu)一般地,如果一個模塊或插件滿足以下要求,就可以被認為是APP:(1)APP具有用戶界面。也就是說,APP的設(shè)計是為與系統(tǒng)的人類用戶交互的。他們還可以通過該APP環(huán)境彼此互動。(2)APP在其生態(tài)系統(tǒng)中服務(wù)于一個或幾個目的(如電子郵件,日歷,待辦事項列表)。(3)APP是可以被APP環(huán)境發(fā)現(xiàn)和加載的。這些因素也有助
58、于從組件和服務(wù)中區(qū)分APP。在軟件模塊的抽象層次,APP可能被認為是在和服務(wù)相似的抽象層次,而組件存在于較低層。547.7 7.7 以以APPAPP為中心的為中心的物聯(lián)網(wǎng)物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)軟件生態(tài)系統(tǒng)TaiYuan University of Technology7.7.2 APP與構(gòu)件之間的比較APP對構(gòu)件就像構(gòu)件和對象的對比:是上面抽象的統(tǒng)一層次。APP可以由構(gòu)件,以及對象、功能和原始程序代碼來組成。構(gòu)件存儲他們的大部分數(shù)據(jù),而APP幾乎不存儲自己的數(shù)據(jù)。不是在內(nèi)部存儲數(shù)據(jù),APP操作的數(shù)據(jù)是存儲在共享數(shù)據(jù)總線上,由APP環(huán)境提供,以方便與類似用途的APP之間共享。不像構(gòu)件,APP通過在一
59、個APP環(huán)境中托管以組合成更大的軟件系統(tǒng)。構(gòu)件的組合通常需要在各個構(gòu)件之間配置一系列的接口調(diào)用。557.7 7.7 以以APPAPP為中心的為中心的物聯(lián)網(wǎng)物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)軟件生態(tài)系統(tǒng)TaiYuan University of Technology7.7.3 APP與服務(wù)之間的比較APP和服務(wù)在軟件模塊抽象層次中處于同一層。然而,APP和服務(wù)在鏈接數(shù)據(jù)和可執(zhí)行代碼時采用相反的方法。服務(wù)一般要求數(shù)據(jù)在服務(wù)之間來回傳輸;在Web服務(wù)的情況下,這種傳輸?shù)陌l(fā)生是通過數(shù)據(jù)網(wǎng)絡(luò)向遠程服務(wù)的主機。另一方面,使用APP需要傳送可執(zhí)行代碼,即APP,到包含數(shù)據(jù)的執(zhí)行環(huán)境。 APP和服務(wù)這兩者都是由對象、組件、功
60、能和源程序代碼組成。和APP不同,服務(wù)是通過一組數(shù)據(jù)的鏈接的轉(zhuǎn)換而集成和組合成較大的解決方案。567.7 7.7 以以APPAPP為中心的為中心的物聯(lián)網(wǎng)物聯(lián)網(wǎng)軟件生態(tài)系統(tǒng)軟件生態(tài)系統(tǒng)TaiYuan University of Technology7.7.4 APP環(huán)境一個以APP為中心的軟件生態(tài)系統(tǒng)的APP環(huán)境提供發(fā)現(xiàn)、管理和執(zhí)行APP的必要資源。APP的發(fā)現(xiàn)往往是通過一個集中的Web服務(wù)-APP商店來管理。App Store中包含的環(huán)境的安裝,配置和刪除APP的能力構(gòu)成了它來管理它所包含的APP的能力。而APP被執(zhí)行時,環(huán)境提供到共享數(shù)據(jù)存儲、外部通信(如網(wǎng)絡(luò)服務(wù))、以及訪問連接到該應用環(huán)境
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 22765:2025 EN Nuclear fuel technology - Sintered (U,Pu)O2 pellets - Guidance for ceramographic preparation for microstructure examination
- 紋身配樂課程設(shè)計
- 自動裝料系統(tǒng)plc課程設(shè)計
- 藝術(shù)課體驗課課程設(shè)計
- 大地測量GPS課程設(shè)計
- 《刮痧西學中》課件
- 九年級歷史下冊期末綜合檢測課件
- 制造企業(yè)員工手冊
- 數(shù)據(jù)化課程設(shè)計
- 流水燈課程設(shè)計概述
- 熱動復習題材料熱力學與動力學
- 馬工程-公共財政概論-課程教案
- GB/T 38058-2019民用多旋翼無人機系統(tǒng)試驗方法
- GB/T 30902-2014無機化工產(chǎn)品雜質(zhì)元素的測定電感耦合等離子體發(fā)射光譜法(ICP-OES)
- GB/T 22638.2-2016鋁箔試驗方法第2部分:針孔的檢測
- GB/T 13275-1991一般用途離心通風機技術(shù)條件
- 千年菩提路解說詞
- 田中靖久頸椎病癥狀量表20分法
- 配氣機構(gòu)的設(shè)計
- 鹿茸血與養(yǎng)生課件
- 軟件開發(fā)-項目-監(jiān)理細則
評論
0/150
提交評論