1 引言
1.1 RFID中間件概述
RFID(Radio Frequency Identification,簡稱RFID無線射頻識別具有無線非接觸,高速、大量的自動目標識別特點,可以將現實世界里的實體對象轉換為信息環(huán)境下具有唯一標識符的虛擬對象,被廣泛應用于資產管理、商品識別與防偽等領域,尤其在物流管理行業(yè)應用中凸顯優(yōu)勢,涵蓋貨物從生產、配送、運輸到銷售等諸多環(huán)節(jié)。利用RFID對實體對象進行標識后的數據收集、處理并轉換為信息再進行分析是RFID應用系統(tǒng)的核心功能。目前市場上已開發(fā)了大量的、面向各種行業(yè)、各類應用的RFID解決方案和RFID應用系統(tǒng)。在企業(yè)已有的ERP,WMS等系統(tǒng)基礎上構建RFID應用系統(tǒng),目的是將RFID數據正確、有效率地導入企業(yè)管理系統(tǒng),并利用RFID技術在物流跟蹤與追溯中的優(yōu)勢,以改進企業(yè)的業(yè)務流程,提升競爭能力。RFID中間件基于上述考慮,嘗試為RFID應用與ERP,WMS等系統(tǒng)的集成提供一個靈活的體系架構。
RFID中間件需要管理和監(jiān)控連接至中間件的讀寫器、屏蔽設備差異性和復雜性,提供RFID標簽讀寫、數據過濾等功能,經過標簽平滑、規(guī)則過濾、標簽格式裝換等處理的RFID數據可以作為中間件與企業(yè)應用系統(tǒng)集成模塊的輸入,在確定的業(yè)務上下文中被進一步分析。EPCglobal定義了讀寫器協(xié)議和讀寫器管理協(xié)議,這就使得RFID中間件以統(tǒng)一的方式讀取來自不同讀寫器的數據和管理這些讀寫器在技術上存在可行性。在EPCgIobal組織的RFID中間件體系結構中,還要求實現ALE和EPCIS接口,通過ALE接口,應用程序可以在標簽級別上進行數據讀寫等操作,獲取RFID事件,而EPCIS接口則允許應用程序查詢RFID事件,以實現物流跟蹤與追溯。RFID中間件是RFID應用系統(tǒng)的樞紐,可以作為RFID硬件設備與企業(yè)應用系統(tǒng)連接的橋梁。通過RFID中間件的硬件設備管理及數據采集功能,應用系統(tǒng)可以與RFID硬件設備層分離,實現AIE接口的RFID中間件可以使應用系統(tǒng)以統(tǒng)一的方式訪問標簽數據,RFID硬件設備、RFID中間件與應用系統(tǒng)間的這種靈活、松散的藕合方式保證了整個RFID應用系統(tǒng)在架構上的靈活性。
RFID中間件對RFID技術的應用起著關鍵的作用。到目前為止,在RFID中間件技術方面的研究和產品開發(fā)取得很多成就。美國MIT大學和ETH合作提出面向RFID應用的開源Accada中間件平臺,針對數據分布、數據整合、數據過濾、外圍傳感器驅動讀寫器、事件封裝、編碼管理等問題進行了深入研究。國內主要的RFID中間件產品為上海交通大學RFID中間件SRM、華南理工大學的GDIX-RFID中間件、清華同方的ezRFID中間件等,主要是面向可重構RFID中間件、基于SOA架構的中間件一。對RFID中間件技術的研究,主要集中在硬件設備集成、RFID事件管理、RFID信息服務、RFID中間件體系架構等方面。張潔豪研究分析了SNMP,EPCglobal讀寫器協(xié)議和讀寫器管理協(xié)議等RFID中間件硬件設備集成技術,在此基礎上,為上海交通大學RFID中間件SRM實現了基于J2FF平臺的RFID硬件設備管理模塊;國卿采用配置XMI文件在TCP/IP通信協(xié)議下實現了多協(xié)議RFID讀寫器適配器;趙離研究和設計了RFID中間件事件管理系統(tǒng),通過將有效的RFID事件進行Manchester編碼,進行模式識別、內容過濾后與業(yè)務規(guī)則做匹配,根據匹配結果調用預定義的倉儲系統(tǒng)SOAP服務,整個過程實現了RFID中間件事件管理系統(tǒng)與倉儲系統(tǒng)的交互,該方案需要倉庫系統(tǒng)進行較多的重構;許強借鑒Java事件模型,設計并實現了RFID中間件實時事件管理機制;楊孝鋒研究了讀寫器網絡管理、標簽數據平滑處理、RFID數據加密和壓縮,RFID事件過濾、聚合、報告以及共享等方面的內容; Floerkemerier C等在設計RFID中間件時使用JMS作為中間件與應用系統(tǒng)信息交換的手段。
1.2 RFID系統(tǒng)與企業(yè)應用系統(tǒng)集成
企業(yè)應用系統(tǒng)要充分發(fā)揮其優(yōu)勢,往往需要獲取準確、實時的業(yè)務數據,如FRP系統(tǒng)就需要實時獲取各個生產環(huán)節(jié)中的基礎數據才能更精確地制定和調整生產經營活動,而采用人工采集輸入等傳統(tǒng)方式則很難準確獲取實時數據,阻礙著企業(yè)應用系統(tǒng)最大限度地發(fā)揮作用。因此,利用RFID技術完成基礎數據輸入、信息采集則成了企業(yè)應用系統(tǒng)集成RFID技術的基本目標,而隨著產品供應鏈管理等領域的興起和被重視,實現產品跟蹤與追溯也成為RFID技術與企業(yè)應用系統(tǒng)集成的關注點。
由于大多數企業(yè)應用系統(tǒng)在設計與實現時,并未充分考慮為使用RFID技術提供支持,比如沒有單品序列號管理、無法監(jiān)控RFID硬件設備等。在上述應用系統(tǒng)中使用RFID技術,往往需要借助RFID中間件的橋梁作用。現有RFID中間件主要實現了對多種RFID讀寫器的驅動程序管理和設備監(jiān)控,解決了RFID數據的采集、過濾和收集問題。但是,缺乏RFID數據與應用系統(tǒng)間的業(yè)務互操作和業(yè)務集成功能,需要企業(yè)應用系統(tǒng)承擔RFID事件與業(yè)務數據的集成和業(yè)務邏輯處理,造成RFID應用系統(tǒng)的緊密藕合,降低系統(tǒng)架構的靈活性,同時還需要上層的應用做較大的系統(tǒng)重構,以便加人對RFID數據與業(yè)務數據的邏輯處理。RFID系統(tǒng)可以直接將數據發(fā)送給企業(yè)應用系統(tǒng)數據,完成簡單的數據集成。通過對RFID數據進行事件建模,制定靈活的處理規(guī)則將其轉換為應用系統(tǒng)可識別的需求信息,可利用EPCIS和消息隊列等方式達到向應用系統(tǒng)推送數據的目的。基于RFID中間件的業(yè)務集成重點在于,在不進行應用系統(tǒng)重大重構的前提下,將業(yè)務規(guī)則有效融入RFID事件過濾、識別、聚合等管理過程中;然后在具體的業(yè)務過程上下文中處理這些RFID事件,生成業(yè)務數據回寫至應用系統(tǒng),實現RFID中間件與應用系統(tǒng)數據交換與業(yè)務集成。劉發(fā)貴等在IYMRFID中間件基礎上研究和設計了面向物聯(lián)網的倉儲管理系統(tǒng),并適當考慮了與其他企業(yè)應用系統(tǒng)間的集成。杜亞江等研究和設計了基于RFID的倉儲管理業(yè)務流程及系統(tǒng)模型,采用綜合運用RFID與條碼技術的方式,分析和比較了RFID技術的優(yōu)勢。劉衛(wèi)寧等利用RFID標識小批量生產環(huán)境下的重要生產對象,實時獲取生產車間物理環(huán)境信息,設計和構建生產管理系統(tǒng),在企業(yè)實際生產線中成功運行。在RFID技術實時采集數據的基礎上,制造執(zhí)行系統(tǒng)與企業(yè)資源計劃系統(tǒng)的數據和業(yè)務集成可以更有效,有助于實現制造和質量的可視化和數字化管理。
1.3本文的工作
針對RFID系統(tǒng)與企業(yè)應用系統(tǒng)的集成問題,設計并實現了面向企業(yè)應用的RFID集成中間件。中間件以業(yè)務單據作為其與企業(yè)應用系統(tǒng)間數據交換的載體,采用數據流技術過濾和封裝RFID數據,使用規(guī)則解析技術控制業(yè)務流程,實現了RFID數據事件與應用系統(tǒng)松散藕合與集成,同時,中間件各個模塊間基于.NET Remoting技術的分布式架構以及模塊內組件采用IoC注入式管理,保證了中間件的架構靈活性和參數可配置性。
2 RFID集成中間件框架
RFID集成中間件框架如圖1所示。
RFID集成中間件分為以下六大模塊:
(1)硬件服務器。
負責異構讀寫器管理、監(jiān)控和整合,為其他模塊訪問RFID標簽提供統(tǒng)一的接口;通過對多樣化的硬件設備進行注冊,以及較為完善的配置提高中間件對設備的監(jiān)控能力;根據業(yè)務流程的需要動態(tài)配置相關讀寫器,通過控制命令監(jiān)控硬件設備采集數據;及時探測各種異常情況,并根據預定義規(guī)則進行異常差錯自動處理以及狀態(tài)監(jiān)控事件上報。
(2)數據處理引擎。
針對RFID數據實時、持續(xù)到達的特性,結合數據流管理技術對RFID數據進行包括冗余數據清理、標簽信息過濾和數據整合匯總等處理,以邏輯讀寫器為單位對有價值的數據進行基本事件封裝;把通過容錯過濾的真實、有效、正確的數據和事件提供給后續(xù)操作。
(3)單據服務器。
負責中間件與企業(yè)應用系統(tǒng)間以XMI格式的業(yè)務單據作為載體的數據交換,包括通過企業(yè)應用系統(tǒng)提供的數據交換接口導出和寫入業(yè)務單據。企業(yè)應用系統(tǒng)業(yè)務單據依賴于特定的編碼體系,在將單據進行對象化的解析單據時,需要建立相關的編碼環(huán)境。此外,單據服務器需要屏蔽來自不同應用系統(tǒng)的XMI業(yè)務單據在文檔結構上的差別。
(4)業(yè)務流程控制引擎。
中間件的核心模塊,由業(yè)務單據驅動。當單據到來時,通知硬件服務器讀寫RFID標簽,并將讀取到的RFID數據輸入至數據處理模塊,進行過濾、匯總,最后將處理得到的RFID數據與單據進行核對,根據定義的業(yè)務規(guī)則用相應的業(yè)務邏輯操作,比如生成回寫的業(yè)務單據或者封裝上傳RFID事件。上述的業(yè)務邏輯和業(yè)務規(guī)則定義在可配置的規(guī)則文件中,中間件可根據不同的業(yè)務場景配置相應的邏輯和規(guī)則。
(5)數據庫管理。
圖1 HFID集成中間件架構
數據庫管理模塊負責維護存儲業(yè)務單據和相應解析編碼環(huán)境的系統(tǒng)數據庫,以及用于存儲RFID事件以提供產品電子標簽信息服務的EPCIS數據庫。
(6)RFID公共信息服務。
集成中間件提供可拓展的公共信息服務平臺,其中包含一個遵循EPCglobal規(guī)范的本地ONS子系統(tǒng),為實現物聯(lián)網相關服務提供支持。
3 RFID集成中間件設計與實現
3.1硬件服務器
硬件服務器模塊負責管理中間件范圍內的RFID硬件設備,并在此基礎上為其他模塊訪問物理設備提供一組通用、標準的接口,其結構如圖2所示。在大規(guī)模的企業(yè)級RFID部署環(huán)境中,通常需要分布式RFID設備進行協(xié)同工作,因此在設計該模塊時引入讀寫適配器的概念。讀寫適配器擁有唯一的標識符,可以對應多個實際的物理設備,而同時任何單一的物理設備可以屬于多個讀寫適配器,這樣的映射關系可以由硬件服務器提供的配置界面維護。通過預定義或中間件運行時動態(tài)配置的讀寫適配器,硬件服務器為其他模塊提供了分布式設備協(xié)同工作的可行性和靈活性。采用.NFT Remoting技術實現中間件分布式架構時,讀寫器服務提供一組包含可供客戶端遠程調用方法的接口而使客戶端能夠完成對硬件設備的協(xié)同操作,由于實現這些接口的對象駐守在硬件服務器進程中,因而對硬件設備的實際操作是在硬件服務器進程內完成。分布式機制保證了中間件在部署時的靈活性。
圖2 硬件服務器結構示意圖
3. 2單據服務器
中間件方案中涉及到的業(yè)務單據都是結構定義良好的XML文檔。一般來說,XMI解析程序需要通過Xpath來訪問XML文檔的數據節(jié)點,這就要求在解析程序時要對XMI文檔的結構十分清楚,從一定程度來上來說,這造成了程序的硬編碼,一旦XML文檔結構發(fā)生變化,解析程序便需要重構,影響了方案的可拓展性。更值得注意的是,不同企業(yè)信息系統(tǒng)導出的XML業(yè)務單據必然具有不同的文檔結構,盡可能以統(tǒng)一的方式解析這些單據不但可以大量減少XML解析的代碼編寫,也有利于降低系統(tǒng)的復雜度,提高可維護性。此外,不同系統(tǒng)的業(yè)務單據中的節(jié)點數據依賴于特定的編碼體系,如到貨通知單中的存貨、部門編碼等,正確地解析業(yè)務單據需要信息系統(tǒng)相關基礎數據,因此單據服務器需要考慮這些基礎數據的獲取與同步。基于汀閱機制和文檔節(jié)點配置信息的單據解析方法可以有效解決上述問題,在該方法中,不同系統(tǒng)的同類業(yè)務單據的共同屬性被抽象成業(yè)務對象,利用配置文件中業(yè)務對象屬性與實際單據節(jié)點的映射關系和高級程序語言提供的反射機制,解析程序可以有效率地獲取單據節(jié)點信息,動態(tài)構建業(yè)務對象。
圖3 單據服務器結構圖
由于單據服務器需要與不同的企業(yè)應用系統(tǒng)進行以單據為載體的數據交互,這往往需要借助應用系統(tǒng)提供的特定接口,然而企業(yè)系統(tǒng)接口千差萬別,通過對這些接口進行適配處理,可以使單據服務器以統(tǒng)一的方式訪問企業(yè)系統(tǒng),盡可能降低系統(tǒng)間的藕合度。
在集成中間件框架中,單據服務器還需要為其他模塊提供遠程調用接口,以使其他模塊可以獲取解析后的單據對象,并將業(yè)務數據回寫至單據服務器,由單據服務器負責生成業(yè)務單據調用接口適配器完成數據向企業(yè)應用系統(tǒng)的回寫。業(yè)務單據是集成中間件的驅動因子,業(yè)務單據的到來將觸發(fā)包括單據解析與單據數據遠程調用參數傳遞、讀寫器讀寫標簽數據、數據處理模塊過濾封裝標簽數據、業(yè)務數據向單據服務器的回傳以及單據服務器生成并回寫業(yè)務單據等在內的任務單元。在文章的余下章節(jié)中,我們將了解到這樣的任務單元可以通過XML語言進行描述與配置。
3. 3數據過濾與封裝
考慮到RFID數據具有實時、快速到達等數據流特點,在實現中間件數據過濾時,使用數據流技術是合理的。本節(jié)內容主要闡述RFID業(yè)務中間件采用Esper引擎將數據流技術應用于中間件的數據過濾與封裝的方案,并不對數據流技術進行深入探討。
圖4描述了數據處理模塊的結構與流程圖。從業(yè)務流程控制模塊向單據服務器發(fā)出以邏輯讀寫器為參數的遠程讀寫調用開始,單據服務器響請求完成讀寫操作并將數據發(fā)送至數據處理模塊,原始數據經過轉換后,形成具有(EPC,ReaderAdater,Timestamp,TaskID)形式的數據流在數據流引擎上下文中被處理。
圖4 數據處理結構與流程圖
Esper在開始處理RFID數據流前需要進行初始化,通過調用靜態(tài)方法GetProvider創(chuàng)建類型為EPServiceProviderManager的服務實例,并在該實例上創(chuàng)建表示FPI查詢的EPStatement對象,通過EPL查詢可以讓數據流引擎對持續(xù)到達的數據流進行持續(xù)查詢并返回符合條件的數據流對象,集成中間件可以定義EPL查詢,從而利用數據流引擎完成冗余數據刪除、模式匹配等過濾操作。Esper通過UpdateListener接口中的Update方法返回EPI查詢結果,因而結果處理組件便可以理解成為實現UpdateListener接口并包含特定數據封裝邏輯的程序片段。上述過程可以通過圖5所示的交互圖來進行描述。
圖5 數據處理時序圖
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/