1. 引言
近年來,隨著技術(shù)的不斷完善和標(biāo)簽價(jià)格的持續(xù)下降,越來越多的RFID技術(shù)及產(chǎn)品被應(yīng)用于零售、物流、倉儲、生產(chǎn)制造、智能交通、動物識別、圖書館管理等領(lǐng)域,正在向人們?nèi)粘I詈凸ぷ鞯母鱾€方面快速滲透[1-3]。RFID技術(shù)應(yīng)用迅速發(fā)展的同時(shí),用戶也提出了不同設(shè)備與應(yīng)用系統(tǒng)之間的接口,海量而復(fù)雜的RFID數(shù)據(jù)處理和利用等問題,此外,新建系統(tǒng)與原有信息系統(tǒng)之間無縫集成,如何快速適應(yīng)未來業(yè)務(wù)需求和硬件設(shè)備的變化也對RFID系統(tǒng)的設(shè)計(jì)和集成提出了新的挑戰(zhàn)。解決這些問題的有效方法就是構(gòu)建并部署RFID中間件(Middleware)。對于應(yīng)用軟件開發(fā),中間件提供了具有可移植性的標(biāo)準(zhǔn)協(xié)議和標(biāo)準(zhǔn)接口,定義了一個相對穩(wěn)定的高層應(yīng)用環(huán)境,不管底層的計(jì)算機(jī)硬件和系統(tǒng)軟件怎樣更新?lián)Q代,只要將中間件升級更新,并保持中間件對外的接口定義不變,應(yīng)用軟件幾乎不需任何修改,從而保護(hù)了企業(yè)在應(yīng)用軟件開發(fā)和維護(hù)中的投資。此外,RFID中間件可以幫助企業(yè)解決RFID 數(shù)據(jù)采集、RFID 硬件設(shè)備兼容、RFID應(yīng)用系統(tǒng)與現(xiàn)有系統(tǒng)集成等問題,解決各種業(yè)務(wù)系統(tǒng)之間的數(shù)據(jù)共享與業(yè)務(wù)協(xié)同等問題[3-5]。
當(dāng)前,RFID 中間件平臺軟件主要是國外SUN、IBM、BEA等廠商提供相關(guān)產(chǎn)品,并在各自市場上居于壟斷的地位。這些國外產(chǎn)品的共同特點(diǎn)是功能覆蓋面寬、技術(shù)先進(jìn)、產(chǎn)品價(jià)格和服務(wù)成本高昂,只有很少的高端客戶才能夠負(fù)擔(dān)得起[6-9]。從自主創(chuàng)新的角度出發(fā),本研究將中間件技術(shù)、RFID技術(shù)、面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture,SOA)和企業(yè)服務(wù)總線(Enterprise Service Bus,ESB)架構(gòu)結(jié)合起來,研究和構(gòu)建一個基于ESB架構(gòu)的RFID 中間件產(chǎn)品。以增強(qiáng)RFID 應(yīng)用系統(tǒng)的業(yè)務(wù)適應(yīng)能力,簡化RFID應(yīng)用系統(tǒng)開發(fā)的復(fù)雜度。縮短RFID 項(xiàng)目的實(shí)施周期,降低RFID 應(yīng)用系統(tǒng)的開發(fā)成本,滿足RFID 應(yīng)用中涌現(xiàn)的信息資源交換、共享、整合等需求,提高RFID系統(tǒng)的開放性和可復(fù)用性;
2. 系統(tǒng)架構(gòu)
企業(yè)對 RFID 數(shù)據(jù)服務(wù)的要求簡單可以概括為RFID 數(shù)據(jù)的獲取、處理和維護(hù)。RFID中間件的主要作用是為企業(yè)提供RFID的數(shù)據(jù)服務(wù),使企業(yè)在開發(fā)RFID 應(yīng)用時(shí)進(jìn)行靈活的部署,減少重復(fù)開發(fā),共享RFID 中間件服務(wù)。RFID數(shù)據(jù)的獲取需要在數(shù)據(jù)產(chǎn)生的現(xiàn)場與各種硬件設(shè)備打交道,通過各種類型的RFID 讀寫設(shè)備讀取電子標(biāo)簽上的信息;由于RFID技術(shù)的特點(diǎn),多個RFID讀寫設(shè)備對電子標(biāo)簽進(jìn)行高頻率的讀取會產(chǎn)生重復(fù)、冗余的數(shù)據(jù),因此必須在數(shù)據(jù)獲取后盡快對這些數(shù)據(jù)進(jìn)行過濾、聚合等處理操作;維護(hù)的主要內(nèi)容是對數(shù)據(jù)進(jìn)行永久的存儲,并為應(yīng)用系統(tǒng)提供查詢的功能?;谏鲜隹紤],本研究將RFID中間件分成RFID 數(shù)據(jù)采集組件、RFID 數(shù)據(jù)管理組件、ESB 構(gòu)件三部分,如圖1 所示。
圖1 基于ESB 的RFID 中間件結(jié)構(gòu)圖
基于ESB 架構(gòu)的RFID 中間件的流程分析:
(1)RFID 數(shù)據(jù)采集組件的數(shù)據(jù)采集引擎和寫標(biāo)簽引擎被封裝為web 服務(wù),并注冊到ESB 中。
(2)RFID 數(shù)據(jù)采集組件的EPCIS 事件捕捉引擎、EPCIS 事件查詢引擎、EPC 碼分配服務(wù)均被封裝成web 服務(wù),注冊到ESB 中。
(3)RFID 數(shù)據(jù)采集組件通過硬件適配器與各種RFID 標(biāo)簽讀寫器連接,實(shí)現(xiàn)對電子標(biāo)簽的讀寫。
(4)應(yīng)用系統(tǒng)及EPCIS Capturing Application 角色應(yīng)用程序通過ESB 調(diào)用RFID數(shù)據(jù)采集組件的數(shù)據(jù)采集引擎服務(wù),獲取ALE 事件信息。
(5)EPCIS Capturing Application 角色應(yīng)用程序根據(jù)獲得的ALE 事件信息生成EPCIS事件信息,然后通過ESB調(diào)用RFID 中間件的EPCIS 事件捕捉引擎服務(wù)實(shí)現(xiàn)EPCIS 事件信息的存儲。
(6)各種應(yīng)用系統(tǒng),如SCM、PIM、ERP、WMS 等,通過ESB 調(diào)用RFID 數(shù)據(jù)管理組件的EPCIS 事件查詢引擎服務(wù)獲取EPCIS事件信息。
(7)應(yīng)用系統(tǒng)也可以通過ESB 調(diào)用RFID 數(shù)據(jù)管理組件的寫標(biāo)簽引擎服務(wù),向電子標(biāo)簽載體寫入EPC 代碼。
(8)RFID 數(shù)據(jù)管理組件通過ESB 調(diào)用RFID 數(shù)據(jù)采集組件的寫標(biāo)簽引擎服務(wù),訂閱或查詢寫引擎的EPC 緩存狀態(tài);當(dāng)寫引擎的EPC緩存中緩存數(shù)達(dá)到下限閥值或0 時(shí),RFID數(shù)據(jù)采集組件通過ESB 調(diào)用RFID 數(shù)據(jù)管理組件的EPC 碼分配服務(wù),為EPC 緩存添加新的可用條目。
3. 系統(tǒng)功能
在基于 ESB 的RFID 中間件中,RFID 數(shù)據(jù)采集組件和RFID 數(shù)據(jù)管理組件以及各種應(yīng)用系統(tǒng)通過把各自提供的功能封裝為web服務(wù)的方式集成到企業(yè)服務(wù)總線上,從而為企業(yè)的RFID 應(yīng)用提供RFID 的數(shù)據(jù)支持和集成支持。
3.1 RFID 數(shù)據(jù)采集組件
RFID 數(shù)據(jù)采集組件的主要功能包括:RFID 設(shè)備管理、RFID 數(shù)據(jù)采集和處理、EPC 代碼寫入RFID 電子標(biāo)簽等。
(1)硬件接口功能。如圖1所示,數(shù)據(jù)采集組件使用硬件適配器與底層不同的標(biāo)簽閱讀器、標(biāo)簽打印機(jī)等硬件設(shè)備相連。硬件適配器支持不同協(xié)議標(biāo)準(zhǔn)的硬件設(shè)備,從而向下屏蔽RFID設(shè)備的硬件差異。此外,數(shù)據(jù)采集組件是通過邏輯閱讀器對這些硬件設(shè)備進(jìn)行分組管理的。一個邏輯閱讀器可以對應(yīng)一個或多個物理閱讀器,一個物理閱讀器也可以對應(yīng)一個或多個的邏輯閱讀器,應(yīng)用程序通過數(shù)據(jù)采集組件指定從哪些邏輯閱讀器中獲取數(shù)據(jù)[x]。硬件適配器與邏輯閱讀器的應(yīng)用,有效地實(shí)現(xiàn)了應(yīng)用與硬件的松耦合。
(2)EPC 數(shù)據(jù)采集和處理功能。由于RFID 閱讀器在一秒鐘內(nèi)可以對標(biāo)簽進(jìn)行多次的采集,而且一個標(biāo)簽還可能同時(shí)被多個閱讀器檢測到,因此在EPC數(shù)據(jù)采集的過程中出現(xiàn)嚴(yán)重的數(shù)據(jù)冗余;這些數(shù)據(jù)如果被直接發(fā)送,必然大大增加網(wǎng)絡(luò)的負(fù)荷;而且這些數(shù)據(jù)對應(yīng)用程序而言也沒有使用的價(jià)值。為此,數(shù)據(jù)采集組件提供了對采集到的EPC數(shù)據(jù)進(jìn)行處理的功能,包括:過濾、計(jì)數(shù)、分組、差量分析等。經(jīng)過處理,數(shù)據(jù)采集組件生成ALE 事件供應(yīng)用程序使用。ALE事件的內(nèi)容類似“在某個時(shí)間段內(nèi),閱讀器檢測到某一類的EPC 代碼x 個,比上一次檢測增加/減少了y 個”。
(3)EPC 代碼寫入RFID 電子標(biāo)簽功能。為了可靠地把EPC代碼寫入到唯一的RFID電子標(biāo)簽中,寫入過程如下:首先檢查是否具備標(biāo)簽寫入的條件,確保讀寫器作用范圍內(nèi)可供寫入的標(biāo)簽為單一,避免把一個EPC碼寫入多個標(biāo)簽;檢測標(biāo)簽是否可寫、是否被鎖定等;實(shí)現(xiàn)標(biāo)簽寫入;如果失敗則設(shè)定重試次數(shù);對寫入的內(nèi)容進(jìn)行校驗(yàn)。
3.2RFID 數(shù)據(jù)管理組件
數(shù)據(jù)采集組件盡管對 EPC 數(shù)據(jù)進(jìn)行了處理,生成了ALE 事件,但是這些事件只是對EPC數(shù)據(jù)進(jìn)行了分組、計(jì)數(shù)、差量分析等,卻沒有包括商業(yè)信息在內(nèi)。在RFID 應(yīng)用系統(tǒng)中存在一些應(yīng)用,它們根據(jù)數(shù)據(jù)采集組件提供的ALE 事件實(shí)現(xiàn)相關(guān)的操作,同時(shí)把ALE包裝成EPCIS 事件(EPCIS 事件包含EPC 相關(guān)的信息,如交易信息、組裝信息等)。這里稱這些應(yīng)用為EPCIS Capturing Application角色應(yīng)用程序,它支持四種EPCIS 事件類型對象的生成:對象事件(Object Event)、聚合事件(Aggregation Event)、數(shù)量事件(Quantity Event)和交易事件(Transaction Event)[x]。此外,數(shù)據(jù)采集組件沒有對ALE事件進(jìn)行存儲,在實(shí)現(xiàn)EPC 寫入時(shí)只能保證EPC 被寫入唯一的標(biāo)簽,但不能保證EPC 本身唯一。
作為RFID 中間件的另一個組成部分,數(shù)據(jù)管理組件提供以下功能:
(1)面向EPCIS 事件的數(shù)據(jù)管理功能。數(shù)據(jù)管理組件提供EPCIS 事件捕捉引擎接口實(shí)現(xiàn)對EPCIS 事件的獲取;在數(shù)據(jù)管理組件內(nèi)通過EPCIS事件庫接口兼容各種通用的關(guān)系型數(shù)據(jù)庫(如Oracle,DB2,Sybase,Microsoft SQLServer)以及XML數(shù)據(jù)庫,實(shí)現(xiàn)EPCIS事件的存儲;對外向各種應(yīng)用提供EPCIS 事件信息的查詢接口。
(2)EPC 碼分配服務(wù)功能。全球統(tǒng)一的“物聯(lián)網(wǎng)”要求每一張電子標(biāo)簽上的EPC 代碼都是唯一的,同時(shí)不同廠家不同類型的產(chǎn)品往往使用不同區(qū)段的EPC代碼。數(shù)據(jù)管理組件的EPC 碼分配服務(wù)提供對數(shù)據(jù)采集組件中要寫入到電子標(biāo)簽上的EPC 進(jìn)行集中管理和分配的功能,既保證了EPC 的唯一性,也保證了EPC所屬的區(qū)段與產(chǎn)品的類型相對應(yīng)。
3.3ESB 構(gòu)件
ESB 構(gòu)件主要為RFID 中間件提供應(yīng)用間集成的功能,此外還提供了工作流定義、安全等服務(wù),具體如下:
(1)異構(gòu)系統(tǒng)的集成。企業(yè)服務(wù)總線提供了一個以“服務(wù)”為中心的基礎(chǔ)框架。在這個框架上,各種應(yīng)用可以把對外提供的功能封裝為標(biāo)注的web服務(wù),客戶端與“服務(wù)”之間、“服務(wù)”與“服務(wù)”之間可以使用基于XML的消息,通過各種因特網(wǎng)傳輸協(xié)議(如http,ftp,smtp等)實(shí)現(xiàn)互操作[4]。由于XML、HTTP等技術(shù)具有與編程語言、操作系統(tǒng)及硬件平臺無關(guān)的特性,從而方便、有效地實(shí)現(xiàn)了各種異構(gòu)系統(tǒng)的集成。在平臺中,RFID數(shù)據(jù)采集組件的數(shù)據(jù)采集引擎和寫標(biāo)簽引擎,以及RFID 數(shù)據(jù)管理組件的EPCIS 事件捕捉引擎、EPCIS 事件查詢引擎和EPC 碼分配服務(wù)均被封裝成web服務(wù),注冊到ESB 中。各種應(yīng)用可以通過使用這些服務(wù),實(shí)現(xiàn)電子標(biāo)簽數(shù)據(jù)的獲取、EPC 代碼的寫入、EPC 相關(guān)信息的查詢等。
(2)工作流服務(wù)的定義。在企業(yè)服務(wù)總線中可以根據(jù)企業(yè)的業(yè)務(wù)流程需求,把現(xiàn)有的各種服務(wù)進(jìn)行編排,動態(tài)生成新的服務(wù)供應(yīng)用程序使用。
(3)代理服務(wù)??蛻舳送ㄟ^代理服務(wù)對web 服務(wù)和工作流服務(wù)進(jìn)行訪問,代理服務(wù)在客戶端與服務(wù)之間提供了一個消息轉(zhuǎn)換、協(xié)議轉(zhuǎn)換和動態(tài)路由的功能。
(4)安全服務(wù)。企業(yè)服務(wù)總線在客戶端與服務(wù)之間提供了基于SSL 的傳輸層安全、基于WS-Security的消息層安全和基于客戶端授權(quán)的安全策略。
4. 應(yīng)用實(shí)例
近年來,由于食品安全危機(jī)頻繁發(fā)生,嚴(yán)重影響了人們的身體健康,引起了全世界的廣泛關(guān)注,諸如禽流感、瘋牛癥、口蹄疫、孔雀石綠、蘇丹紅、食物中毒等大量事件的發(fā)生在嚴(yán)重影響人們生活。在食品安全監(jiān)控系統(tǒng)中應(yīng)用基于ESB的RFID 中間件,可以實(shí)現(xiàn)對食品的生產(chǎn)、物流、銷售、安全監(jiān)督等環(huán)節(jié)進(jìn)行信息跟蹤,從而大量的減少安全事件的發(fā)生,保障人們的身體健康,提高人們的生活質(zhì)量。
基于ESB 的RFID 中間件在食品安全監(jiān)控系統(tǒng)中的應(yīng)用包括兩方面,一是處于食品流通環(huán)節(jié)上的各企業(yè)在該中間件之上進(jìn)行RFID 應(yīng)用的開發(fā),利用RFID技術(shù)提高本企業(yè)的運(yùn)行效率和信息管理水平,同時(shí)為食品安監(jiān)部門提供EPC 相關(guān)的信息,即各種使用EPC標(biāo)識的食品流經(jīng)該環(huán)節(jié)時(shí)的信息;二是食品安監(jiān)部門利用該中間件實(shí)現(xiàn)對食品安全問題的跟蹤和回溯。
4.1 企業(yè)內(nèi)部應(yīng)用架構(gòu)
圖 2 所示為食品流通過程各企業(yè)應(yīng)用RFID 中間件的架構(gòu)。
圖2 企業(yè)內(nèi)部應(yīng)用架構(gòu)圖
(1)生產(chǎn)或加工企業(yè)。在數(shù)據(jù)采集現(xiàn)場如生產(chǎn)車間,RFID 數(shù)據(jù)采集組件可以控制食品生產(chǎn)線末端的RFID 讀寫器向附在產(chǎn)品上的電子標(biāo)簽寫入EPC碼,也可以控制食品生產(chǎn)線起始的RFID 閱讀器獲取生產(chǎn)該產(chǎn)品所用原材料的EPC 代碼。在企業(yè)總部,RFID 數(shù)據(jù)管理組件提供了對生產(chǎn)環(huán)節(jié)中食品EPC代碼相關(guān)信息的查詢,如某一類食品何時(shí)、何地完成生產(chǎn),食品對應(yīng)的訂單號,食品的數(shù)量,這批食品采用了哪些原材料等。
(2)物流企業(yè)。RFID 數(shù)據(jù)采集組件可以通過部署在各個運(yùn)輸?shù)揽诘腞FID 閱讀器,結(jié)合GPS 或GPRS技術(shù)實(shí)時(shí)跟蹤和定位運(yùn)輸容器和運(yùn)輸工具;可以通過部署在物流倉庫出入口、叉車和各個倉位的RFID 閱讀器獲取出入庫食品和庫存的食品的EPC 代碼。RFID數(shù)據(jù)管理組件則提供了對物流環(huán)節(jié)中食品EPC碼相關(guān)信息的查詢,例如某時(shí)某地某些食品被裝到某臺車輛,運(yùn)輸?shù)哪康牡厥悄程?,對?yīng)的運(yùn)輸合同號等,又例如某個倉庫在某個時(shí)刻收到某些食品,這些食品的數(shù)量,它們在倉庫中存放的位置等。
(3)銷售企業(yè)。食品零售或批發(fā)企業(yè)可以在倉庫或賣場部署RFID數(shù)據(jù)采集組件及RFID閱讀器,對庫存情況及銷售情況進(jìn)行監(jiān)控,當(dāng)商品存量低于一定值時(shí)及時(shí)向供貨商發(fā)出訂單請求以保證貨源,對快過期和已過期的食品進(jìn)行及時(shí)處理以保證食品的安全等。在企業(yè)總部,數(shù)據(jù)管理組件提供了對銷售環(huán)節(jié)中食品EPC碼相關(guān)信息的查詢,如某個時(shí)刻某類食品的庫存,或者某一類食品在某一時(shí)刻被銷往何處等。
4.2 食品安監(jiān)部門應(yīng)用架構(gòu)
圖 3 為RFID 中間件在食品安監(jiān)部門的應(yīng)用架構(gòu)圖。
圖3 食品安全監(jiān)管部門應(yīng)用架構(gòu)圖
食品安監(jiān)部門通過對食品供應(yīng)鏈各環(huán)節(jié)的食品質(zhì)量進(jìn)行檢測,或者通過消費(fèi)者的投訴,發(fā)現(xiàn)存在安全問題的食品EPC 碼。食品安全監(jiān)控部門的監(jiān)控程序根據(jù)這些EPC代碼,通過網(wǎng)絡(luò)對食品供應(yīng)鏈各環(huán)節(jié)提供的信息進(jìn)行查詢分析,找出問題的起源及所有有問題的環(huán)節(jié),實(shí)現(xiàn)對食品安全的監(jiān)控。食品安全監(jiān)控主要通過兩種方式進(jìn)行:
(1)食品安全追蹤。食品安全追蹤是指食品安監(jiān)部門在發(fā)現(xiàn)食品安全問題時(shí),利用食品供應(yīng)鏈各個環(huán)節(jié)相關(guān)企業(yè)所提供的信息查詢服務(wù),從上往下對食品的生產(chǎn)→物流→銷售進(jìn)行跟蹤,從而發(fā)現(xiàn)所有存在問題的環(huán)節(jié),并且及時(shí)召回有問題的產(chǎn)品。
當(dāng)發(fā)現(xiàn)某生產(chǎn)企業(yè)存在食品安全問題后,食品安監(jiān)部門的安監(jiān)程序可以通過該企業(yè)RFID 數(shù)據(jù)管理組件提供的web查詢服務(wù),迅速獲取到該廠家違規(guī)生產(chǎn)期間生產(chǎn)的產(chǎn)品信息(產(chǎn)品的EPC 代碼及產(chǎn)品屬性等),根據(jù)產(chǎn)品的EPC代碼可以追蹤到產(chǎn)品的庫存信息和銷售信息,通過銷售信息,可以進(jìn)一步知道問題食品被銷往哪些企業(yè),并對這些企業(yè)進(jìn)行類似的追蹤過程。以企業(yè)RFID數(shù)據(jù)管理組件提供的EPC 相關(guān)信息為線索,可以實(shí)現(xiàn)從上往下對這種多分叉樹狀網(wǎng)絡(luò)上的各個節(jié)點(diǎn)(企業(yè))進(jìn)行遍歷,實(shí)現(xiàn)對問題食品快速、全面的回收。
(2)食品安全回溯。當(dāng)出現(xiàn)食品安全事故時(shí),食品安全監(jiān)控程序直接利用相關(guān)企業(yè)提供的查詢服務(wù),從下往上進(jìn)行回溯,向上層層追蹤,最終確定造成質(zhì)量問題的原因,確定產(chǎn)品的原產(chǎn)地和特征。例如衛(wèi)生部門發(fā)生人感染禽流感疑似案例,感染者曾食用某超市購買的雞肉;食品安全監(jiān)控程序可以通過該超市的數(shù)據(jù)服務(wù)獲得所有可疑雞只的EPC相關(guān)信息,包括可疑雞只的EPC 代碼、運(yùn)送可疑雞只的運(yùn)輸車輛的EPC代碼、相關(guān)的運(yùn)輸合同信息和供貨合同信息等;根據(jù)運(yùn)輸合同信息食品安監(jiān)程序向上回溯到物流環(huán)節(jié),對當(dāng)日可疑雞只的運(yùn)輸過程進(jìn)行調(diào)查,例如根據(jù)車輛裝貨信息(包括車輛的EPC 代碼,車廂貨物的EPC 代碼等),判斷車輛是否還裝載了來自其它養(yǎng)殖場的家禽;根據(jù)超市的供貨合同或運(yùn)輸車輛上貨物的EPC代碼,進(jìn)一步向上回溯到有關(guān)的養(yǎng)殖場;相關(guān)部門可以迅速對該養(yǎng)殖場的家禽進(jìn)行檢疫,以確定問題的起源。
5. 結(jié)論
本文對 RFID 中間件技術(shù)和ESB 技術(shù)進(jìn)行了研究,RFID 中間件技術(shù)為企業(yè)提供數(shù)據(jù)服務(wù),ESB 技術(shù)為RFID中間件以及企業(yè)的其它應(yīng)用提供底層的安全、集成、業(yè)務(wù)流程編排等服務(wù),兩者相輔相成,實(shí)現(xiàn)了RFID應(yīng)用系統(tǒng)與企業(yè)現(xiàn)有業(yè)務(wù)系統(tǒng)及將來要開發(fā)的系統(tǒng)之間的數(shù)據(jù)交換、共享,具有良好的互操作性和可擴(kuò)展性。此外,基于配置的實(shí)現(xiàn)方式,即RFID中間件的邏輯閱讀器管理、RFID數(shù)據(jù)獲取和管理、ESB構(gòu)件中的服務(wù)注冊、工作流和代理服務(wù)定制、消息轉(zhuǎn)換、安全策略的應(yīng)用等,都只要通過圖形配置窗口進(jìn)行相關(guān)設(shè)置就可以完成,而無需編程實(shí)現(xiàn),體現(xiàn)了該中間件的靈活性。
責(zé)任編輯:ct
評論
查看更多