基于SOA的軟件架構將對RFID技術的普及起到一定的積極作用
射頻識別(radio frequency identificaTIon,RFID)技術,是一種利用射頻通信實現(xiàn)的非接觸式自動識別技術,能夠實現(xiàn)對高速移動物體的自動識別和多目標識別。面向服務架構(service-oriented architecture,SOA)是新一代的架構思想,主要用于分布式軟件開發(fā)。目前國外知名的大企業(yè)都加大了對RFID中間件的研發(fā),較有影響的有IBM、Microsoft、BEA等大型軟件公司,如BEA通過Edge Server和Enterprise Server實現(xiàn)其RFID中間件,前者連接讀寫器并對其控制,按既定規(guī)則對數(shù)據進行過濾并上傳給應用系統(tǒng);后者介于Edge Server和上層應用之間,能夠集中管理所有的Edge Server、集中管理各類RFID事件并可以與各種現(xiàn)有應用系統(tǒng)進行很好的集成。但這些軟件公司多是將RFID納入其現(xiàn)有中間件產品中,如IBM將RFID納入Web Sphere架構中,使得RFID中間件產品變得復雜而昂貴,并對系統(tǒng)的依賴性比較大。
國內隨著“十一五”規(guī)劃和863計劃對射頻識別技術的推廣應用,相關企業(yè)也都推出了各具特色的中間件產品。但是目前專用的RFID中間件產品較少,從而限制了射頻識別技術在中小企業(yè)中的推廣。作者重點研究如何設計獨立的RFID專用中間件,并采用SOA的架構思想進行系統(tǒng)設計,以實現(xiàn)專門用于RFID應用系統(tǒng)的中間件軟件。實際應用中方便部署,開發(fā)周期短,復用程度強且開發(fā)成本相對較低。該系統(tǒng)的研究及完善將對RFID技術的普及起到一定的積極作用。
1 基于SOA的軟件架構設計分布式RFID中間件
1.1 分布式RFID中間件功能定義及技術路線
基于定位于中小企業(yè)RFID應用的需求,中間件必須要具備通用性、易用性以及明確的模塊化設計等要求。對于通用性要求,系統(tǒng)采用SOA的實現(xiàn)技術,Web Services服務的形式接受上層應用系統(tǒng)的定制要求并提供相應服務,通過讀寫器適配器提供通用的適配接口以“即插即用”的方式接收讀寫器進入系統(tǒng),同時提供給上層應用的數(shù)據采用XML格式;對于易用性要求,系統(tǒng)采用B/S結構,以Web服務器作為系統(tǒng)的控制樞紐,以web瀏覽器作為系統(tǒng)的控制終端,可以遠程控制中間件系統(tǒng)以及下屬的讀寫器。
綜合上述要求,在技術驗證基礎上,定義中間件系統(tǒng)具備功能:數(shù)據的實時采集功能;數(shù)據底層處理功能;讀寫器適配功能;數(shù)據高級處理功能,即事件處理功能;網絡通信功能;信息存儲功能;瀏覽器控制功能;數(shù)據服務接口功能;配置管理功能。
根據上述功能定義,并綜合跨平臺通用性方面的系統(tǒng)需求,系統(tǒng)開發(fā)采用J2EE作為本RFID中間件的開發(fā)平臺。系統(tǒng)測試的RFID讀寫器采用UHF(ultra high frequency,超高頻)的RFID讀寫器,測試型號為江蘇瑞福科技的RFS-2312型讀寫器和美國Alien科技公司的ALR-9800型讀寫器,標簽數(shù)據均按照實驗要求有效地傳遞到上層應用系統(tǒng)。
1.2 中間件架構設計
按照SOA的類型劃分層次以適合于使用和構建服務,也是采用SOA架構的重要前提。設計RFID中間件按照SOA類型來劃分層次,每一層都有一組獨立的功能以及定義明確的接口,而且都利用定義明確的規(guī)范接口與相鄰層進行交互。如此設計便于把功能組件合理劃分為相對獨立的模塊,使系統(tǒng)具備更好的可維護性及可擴展性。如圖1所示,將中間件系統(tǒng)按照數(shù)據流程劃分為3層:數(shù)據采集及預處理、應用層事件處理以及數(shù)據服務接口。
根據具體功能模塊的劃分需求和數(shù)據分層處理及傳輸?shù)囊?,同時考慮到實際應用的需求,經過系統(tǒng)研究,將系統(tǒng)劃分為5個相對獨立的功能模塊,并采用由總控子系統(tǒng)和設備管理子系統(tǒng)組成的兩級樹形結構,其系統(tǒng)架構如圖2所示。
1)總控子系統(tǒng)
總控子系統(tǒng)是整個系統(tǒng)的控制樞紐,具體功能劃分為4部分:數(shù)據高級處理、配置資源數(shù)據庫、web控制服務器以及數(shù)據服務接口。實現(xiàn)的功能分為數(shù)據和系統(tǒng)控制兩方面。數(shù)據方面,進一步優(yōu)化采集到的RFID數(shù)據,包括對來自不同設備管理子系統(tǒng)的標簽進行冗余過濾,同時添加對應的邏輯閱讀器,并且依照事件周期定義ECSpec,生成標準的事件周期報告ECReport,該報告通過數(shù)據服務接口發(fā)送到企業(yè)應用系統(tǒng);系統(tǒng)控制方面,指基于web的設備管理器及讀寫器的控制,以及系統(tǒng)所有配置信息的存儲。
2)設備管理子系統(tǒng)
設備管理子系統(tǒng)實現(xiàn)的主要功能:一是為網絡上的讀寫器進行適配,并按照上層的配置建立實時的UDP連接并做好接收標簽數(shù)據的準備;二是對接收到的數(shù)據進行預處理。讀寫器傳遞上來的大量數(shù)據存在著大量的冗余信息以及一些誤讀的標簽信息,所以要對數(shù)據進行過濾,消除冗余數(shù)據。預處理內容包括集中處理所屬讀寫器采集到的標簽數(shù)據,并統(tǒng)一進行冗余過濾、平滑處理、標簽解讀等工作。經過處理后,每條標簽內容包含的信息有標準EPC格式數(shù)據、采集的讀寫器編號、首次讀取時間、末次讀取時間等,并以一個讀周期為時間間隔,分時向上層總控子系統(tǒng)發(fā)送,為進一步的數(shù)據高級處理做好必要準備。
3)樹形結構的優(yōu)點
采取這種集中與分布相結合的模式建立兩級樹形結構,可實現(xiàn)設備與控制的互連互通:能夠通過統(tǒng)一協(xié)調的調度策略實現(xiàn)產品信息的綜合管理,構成產品信息查詢、實時跟蹤、數(shù)據更新及統(tǒng)一管理的平臺;同時能夠集中管理所有型號各異的信息采集設備并實時監(jiān)控整個系統(tǒng)的運行狀態(tài)。
2 系統(tǒng)控制和數(shù)據處理
系統(tǒng)的工作流程主要集中在3個方面:
一是上行標簽數(shù)據的流向
二是下行控制命令的流向
三是應用層事件(applicaTIon level events,ALE)相關的處理流程。
采集到的數(shù)據,經過處理后最終發(fā)送到上層應用系統(tǒng),達到信息采集的目的。數(shù)據處理由設備管理子系統(tǒng)處理和總控系統(tǒng)處理兩部分構成。最終標簽數(shù)據的生成過程依次經過過濾、標準化處理、中間傳輸、二次過濾、數(shù)據標準化處理、EC處理及信息發(fā)送,直至標簽數(shù)據達到企業(yè)信息系統(tǒng)。數(shù)據在中間件系統(tǒng)中的流程是自下而上依次處理的,各處理模塊間信息的傳遞通過JAVA中的消息bean實現(xiàn)。
對讀寫器進行控制的內容包括:新建、刪除及修改讀寫器,相關的設備管理子系統(tǒng)的新建、刪除及參數(shù)的修改。以新建一個讀寫器為例,系統(tǒng)管理員將配置信息發(fā)動到總控子系統(tǒng),在存儲到配置數(shù)據庫中的同時通過數(shù)據發(fā)送端口發(fā)送到對應設備管理子系統(tǒng)的讀寫器適配模塊中進行處理,并依照對應的地址將配置參數(shù)傳送到讀寫器中進行配置。配置完成后的反饋信息依照相反的路徑向管理員進行反饋并記錄到日志中。
應用層事件的目的是整合標簽數(shù)據,提取出用戶需求的信息并進行標準化處理,正確發(fā)送到企業(yè)應用系統(tǒng)中,重點在于屏蔽企業(yè)應用系統(tǒng)的差異性,提供有價值的標簽分析數(shù)據,其控制流程主要對應于事件周期定義與事件周期報告。授權用戶通過定義、查詢、修改及刪除事件周期報告來制定所需數(shù)據的規(guī)格,并能通過系統(tǒng)數(shù)據服務接口訂閱或取消訂閱事件周期報告ECReport,同時接受RFID中間件發(fā)送的ECReport。
3 總結
分布式RFID中間件系統(tǒng)成功地將RFID數(shù)據采集與數(shù)據應用進行了分離,使應用系統(tǒng)專注于業(yè)務的流程和處理而不再陷于修改適應各種不同的數(shù)據采集方式。由于系統(tǒng)散布于分布式網絡上,使得系統(tǒng)的配置不再局限于物理地點的限制,系統(tǒng)能夠借助于局域網甚至互聯(lián)網直接訂閱標簽數(shù)據。RFID中間件在整個系統(tǒng)中起到承上啟下的關鍵作用。可以預見,隨著專用的RFID中間件技術的不斷成熟,RFID應用系統(tǒng)定會在中小型企業(yè)中得到迅速普及。