物聯網中間件是系統軟件與應用系統之間的連接件,它的主要功能是利用系統軟件的相關功能連接應用系統的有關應用,實現數據資源共享和軟件功能共享。
物聯網中間件獲取了射頻識別技術采集來的信息后,會對這些信息進行處理,例如暫存數據、校驗數據以及平滑數據等,之后再將處理后的數據傳輸給應用程序接口,實現數據的有效應用。
物聯網應用層的搭建需要建立在一個彈性環境中,如果物聯網系統中的某個標準發生改變,或者數據格式發生了變化,需要重新搭建物聯網系統,那么我們不需要推翻原有系統,進行顛覆式的改變,只需要調整和修改系統中的中間件便可實現系統中某些應用和功能的升級。這種方法的好處在于,它不會改變物聯網數據庫的存儲方式,可以極大地降低物聯網應用系統維護的成本。因此,一個通用的物聯網中間件設計方案可以幫助人們解決物聯網應用系統中的諸多問題,為相關服務人員和日常應用提供更多更好的服務。
(1)系統機構設計
傳統的軟件系統是二層結構,隨著相關技術的發展,現階段的軟件系統一般都擁有多層結構。而傳統的應用系統擁有兩種模式,一種是“主機/終端”模式,另一種是“客戶機/服務器”模式。其中,“客戶機/服務器”模式中的服務器是一個大型的計算機應用系統,而客戶機是一個個相互獨立的子系統。作為應用系統的存儲和管理中心,服務器可以與多臺客服機連接,并為它們提供相應的信息服務。而每臺客戶機也有自我管理和自我服務的功能,這樣一來,就能形成一個以服務器為中心,以客戶機為單位的完整的應用系統。而在這個過程中,中間件的作用是連接服務器和客戶機,因此中間件也是物聯網完整應用系統的一部分。然而,隨著互聯網的發展,物聯網的新環境需要新的模式來適應。于是,新的分布式應用系統應運而生,新系統的結構模式包括“瘦客戶機”模式以及“瀏覽器/服務器”模式等。
傳統的“客戶機/服務器”結構模式之所以無法滿足全新物聯網的需要,是因為它存在以下弊端:
第一,以客戶機與服務器直接相連的模式構建物聯網應用系統的安全性比較低,網絡黑客可能通過客戶機控制服務器,進入中心數據庫,進而竊取相關信息,獲取不法利益,導致數據丟失或中心數據庫癱瘓。
第二,客戶機內的程序數量龐大且隨時需要更新,如果出現問題,就很容易加大維護工作量,從而增加維修成本。
第三,在網絡高峰期,海量的數據使網絡流量劇增,造成網絡堵塞。
新的分布式應用系統結構是傳統結構模式的升級,它由原來的兩層結構變化為三層或多層結構。在三層和多層體系結構中,客戶機內的軟件比較惟一,一般只有表示層軟件,而中間件服務器的應用比較多,專門的中間件服務器多用于Web服務、實時監控、信息排隊以及事物處理等業務邏輯,中心數據庫和其他應用系統多設置在后臺。分布式應用系統結構中的多層結構包括以下幾個層次:
①表示層
表示層的主要作用是:一方面可以交互用戶信息,另一方面可以顯示數據計算結果。客戶端一般由J2EE進行規范,它既可以基于Web,又可以是一個獨立的應用系統。若客戶端是基于Web的應用,則啟動瀏覽器后,用戶可以下載Web層中的靜態HTML頁面、JSP動態生成的網頁或者Servlet動態生成的網頁。
②Web層
JSP網頁Java Applets以及Servlet共同構成了Web層,在組裝過程中,創建Web組件需要通過這些基本元素通過打包才能實現。
③業務層
業務層中的EJB組件是企業信息系統中的代碼構件,該構件可用于解決或滿足特定商務領域的規則。
④企業信息系統層
該層包括三大系統,即關系數據庫系統、大型機事務處理系統、企業資源規劃系統。
(2)系統架構
物聯網中間件解決方案架構以SOA架構為基礎,它層層功能明確,每一層都可利用標準接口與其他層交互。該種架構可使組件分離,既可實現應用的可擴展性,又可實現應用的可維護性。與分布式應用系統結構相同,物聯網中間件的解決方案架構也可分為四個層次:
①表示層
表示層可為系統提供三類組件,分別是零售店門戶組件、配送中心組件、供應商門戶組件。這三類組件擁有同樣的作用,即作為系統接口。表示層整合了第三方EIS和服務,具有靈活的導航系統,使內容管理功能更加方便快捷,同時由于它的外觀可定制,可以為不同的用戶群體提供個性化的信息感受。
②業務流程層
工作流的所有需要在業務流程層中都有體現,該層可為系統架構提供兩種能力,一是減少和消除人工干預的能力,主要用于未完成業務流程時;二是實現業務流程自動化,主要是通過數據源、協調服務與人進行信息交互。業務流程層可為連接RFID提供重要接口,用于解決集成問題。物聯網中間件的解決方案架構擁有兩個關鍵組件,一個是RFID消息總線,另一個是事件模型。作為系統的主要接口,利用這兩個關鍵組件可以實現對系統的連接。其中,RFID消息總線的作用是為一個或多個接收者傳送放置總線中的消息,而事件模型的作用是監聽JMS事件和EDI、FTP等外部源事件。
③服務層
該層的功能有兩個,即進行數據處理和執行業務邏輯。常用的服務層組建有定制控件和EB,定制控件是Java結構,該結構的好處在于,在構建邏輯時可以避免進一步了解復雜的J2EE,實現意愿操作。服務層可用于獲取數據、存儲數據以及相關系統之間的信息交互,但一般要依賴集成層才能得以實現。
④集成層
除了RFID應用,集成層可以為其他企業應用系統提供訪問的功能。物聯網中間件解決方案架構中的集成層隱藏了訪問復雜性,這種訪問復雜性體現在架構高層訪問外部系統之中。RFID應用系統之外的其他外部系統包括信息管理系統(PIM),對象名稱服務系統(ONS)以及EPC-IS系統,集成層的各種數據庫管理系統在對這些外部系統進行訪問時存在多樣性。例如,集成層可以通過JDBC來訪問中心數據庫,可以通過LDAP應用編程接口訪問目錄服務,可以通過Web服務接口實現對ONS、EPC-IS等的訪問。另外,利用數據引擎、JCA適配器等也能實現對其他系統的訪問。