金志剛++王瑋健
背景及意義
目前,我國食品電子溯源系統(tǒng)多是基于單個企業(yè)實際需求定制開發(fā)的內(nèi)部溯源系統(tǒng),滿足本企業(yè)溯源需求尚可。由于多個部門通過不同渠道在不同區(qū)域推行不同系統(tǒng),大多數(shù)企業(yè)但較難與其他部門共享溯源信息,形成溯源區(qū)域壁壘。
通過食品安全溯源中間件的實現(xiàn),一方面,中間件起到了承上啟下的作用,解決了企業(yè)食品溯源數(shù)據(jù)的異構性,規(guī)范了企業(yè)上傳食品安全溯源數(shù)據(jù)的格式,降低了企業(yè)上傳食品溯源數(shù)據(jù)的冗余性和雜質(zhì),提高了企業(yè)上傳食品溯源數(shù)據(jù)的格式和規(guī)范,為國家食品監(jiān)管的各類應用分析提供底層的數(shù)據(jù)支持;另一方面食品安全溯源中間件的實現(xiàn),可以屏蔽不同企業(yè)ERP系統(tǒng)的差異性,滿足企業(yè)已建食品溯源系統(tǒng)接入國家食品安全溯源監(jiān)管平臺的需求,減輕已建食品溯源系統(tǒng)企業(yè)為了適應國家食品監(jiān)管平臺要求而進行ERP系統(tǒng)個性化改造的成本和負擔。
食品安全電子溯源中間件國內(nèi)外研究
RFID中間件技術對于解決食品安全電子溯源中硬件設備數(shù)據(jù)采集、不同應用系統(tǒng)數(shù)據(jù)異構、上層應用系統(tǒng)對底層數(shù)據(jù)調(diào)用等起到關鍵性的作用,為食品安全電子溯源不同類型數(shù)據(jù)庫的建立提供了強大的軟件支持?,F(xiàn)在RFID中間件已經(jīng)廣泛應用于食品安全電子溯源的乳品、肉制品、白酒、糧食等領域,為每個食品生產(chǎn)、流通和銷售環(huán)節(jié)的追溯記錄起到了關鍵的作用。
最早提出RFID中間件的是美國,其中代表性產(chǎn)品主要是:BEA的Web Logic RFID Edge Server、Compliance Express、Enterprise Server、基于Savant的RFID中間件和IBM的Web Sphere RFID DeviceInfrastructure 、Premises Server。
BEA RFID中間件產(chǎn)品的介紹主要是對數(shù)據(jù)采集中間件(Web Logic RFID Edge Server)架構和功能的說明,除了包含IBM RFID中間件產(chǎn)品邊緣層的功能,還拓展了數(shù)據(jù)篩選、數(shù)據(jù)與現(xiàn)有平臺無縫集成等功能。
美國麻繩理工學院自動識別中心在2003年出臺了EPC Network相關規(guī)范,其中提出把Auto_ID Savant specification1.0作為Savant中間件的相關規(guī)范。規(guī)范中明確了相關的接口、運行機制和Savant內(nèi)部模塊。
IBM RFID中間件產(chǎn)品架構主要可分為邊緣層和集成層。邊緣層對接各類硬件設備,實現(xiàn)不同RFID硬件設備的管理、信息的讀取和數(shù)據(jù)過濾,以及產(chǎn)生ALE(應用事件管理協(xié)議)事件上傳至到集成層。集成層則實現(xiàn)對各類ALE事件的整合和調(diào)度分配。
郭洪役、酈蘇丹對IBM和BEA的RFID中間件產(chǎn)品的總體架構分別進行了詳細的介紹,并對兩種產(chǎn)品的性能進行了對比分析,為不同應用場景下RFID中間件產(chǎn)品的選擇提供了依據(jù)。由于IBM RFID中間件產(chǎn)品和BEA RFID中間件產(chǎn)品都是一套完整的產(chǎn)品集,作者從整體性能對兩個產(chǎn)品進行了對比分析,主要不同點集中在WEB服務器支持、緩存重用性和擴展性等方面。
梁嘉、王東指出所有的RFID中間件都應該遵守應用層事件(ALE)標準的接口規(guī)范,針對ALE標準在滿足應用系統(tǒng)定義獲取底層RFID數(shù)據(jù)的時間、地方、周期、過濾規(guī)則等基本功能的基礎上,如何為應用系統(tǒng)提供快速可調(diào)用的接口方式,提出了一種基于OSGI(Open Systems Gateway Initiative)框架的可重構的ALE引擎實現(xiàn)方式,采用事件驅(qū)動方式實現(xiàn)對各類觸發(fā)器的統(tǒng)一管理,降低各模塊之間的耦合度,增強引擎的可擴展性和可維護性。
王冰、陳庭貴為了提高上層應用調(diào)用底層設備通訊數(shù)據(jù)的靈活性和可靠性,構建了Tgent中間件服務程序,和上面梁嘉、王東提出的思想基本一致,只不過采用實現(xiàn)方式不太相同。
需求分析
為了解決已建企業(yè)ERP系統(tǒng)(比如金蝶、用戶、SAP、oracle等ERP)與IOTIS(物聯(lián)網(wǎng)信息服務平臺)的數(shù)據(jù)對接問題,如何減少已建溯源系統(tǒng)企業(yè)的改造負擔,實現(xiàn)各異構溯源數(shù)據(jù)的統(tǒng)一清洗、轉(zhuǎn)換、處理、傳輸和存儲等,為IOTIS提供統(tǒng)一規(guī)范化的食品安全溯源數(shù)據(jù),減少上層IOTIS數(shù)據(jù)處理壓力。
根據(jù)食品監(jiān)管部門對食品安全電子溯源的數(shù)據(jù)需求,開發(fā)的數(shù)據(jù)中間件需要滿足下述功能要求:
(1)滿足不同類型企業(yè)ERP溯源異構數(shù)據(jù)的動態(tài)接入
在食品生產(chǎn)環(huán)節(jié)中,由于不同企業(yè)ERP系統(tǒng)不盡相同,有的是用友、金蝶、Oracle等,不同的ERP系統(tǒng)企業(yè)溯源數(shù)據(jù)格式存在差異,這就要求中間件能夠支持異構數(shù)據(jù)的清洗、處理、轉(zhuǎn)換等,規(guī)范不同企業(yè)上傳的溯源數(shù)據(jù)格式,為IOTIS提供其所需的溯源數(shù)據(jù)。且對于上層應用系統(tǒng),食品安全電子溯源中間件應該具有整合和處理異構數(shù)據(jù)的能力,實現(xiàn)異構數(shù)據(jù)間的互聯(lián)互通?!按送?,中間件對于上層應用系統(tǒng)不僅具有匯總異構數(shù)據(jù)的功能,而且還具備處理異構數(shù)據(jù)的功能,從而能夠完成異構數(shù)據(jù)之間的通信。”
(2)滿足不同類型企業(yè)ERP系統(tǒng)間異構數(shù)據(jù)的可靠性接入
在食品企業(yè)的實際生產(chǎn)過程中,因為不同的食品行業(yè)相關的企業(yè)在實際生產(chǎn)活動中多多少少都會存在著異構數(shù)據(jù),所以這就決定了中間件除了高校穩(wěn)定的數(shù)據(jù)傳遞機制之外,更需要提供統(tǒng)一的數(shù)據(jù)訪問接口,從而實現(xiàn)了能夠統(tǒng)一傳輸異構數(shù)據(jù),因而保證了數(shù)據(jù)發(fā)送的準確性。至于消息中間件能夠?qū)崿F(xiàn)對異構數(shù)據(jù)的統(tǒng)一發(fā)送,是因為它支持以形式的數(shù)據(jù)跨平臺發(fā)送,除此之外,還可以支持異步通信,因而在一定程度上增加了數(shù)據(jù)發(fā)送的響應效率。
(3)適應頻繁的數(shù)據(jù)交互
在面向不同企業(yè)的食品溯源系統(tǒng),上傳的溯源數(shù)據(jù)會出現(xiàn)與中間件頻繁的數(shù)據(jù)交互,在企業(yè)ERP系統(tǒng)和iotls之間的過濾機制,主要對不同企業(yè)ERP系統(tǒng)上傳的食品溯源數(shù)據(jù)進行過濾,剔除重復和無用數(shù)據(jù),減少iotls數(shù)據(jù)處理壓力,提高數(shù)據(jù)處理效率。endprint
中間件設計方案
根據(jù)已建食品安全電子溯源系統(tǒng)企業(yè)上傳溯源數(shù)據(jù)的特點,針對企業(yè)內(nèi)部已運行了追溯系統(tǒng)的企業(yè),為了不增加企業(yè)負擔,有效利用已有的數(shù)據(jù)資源,有條件的企業(yè)可以根據(jù)系統(tǒng)對企業(yè)數(shù)據(jù)要求,對原有系統(tǒng)進行改造,達到本系統(tǒng)建設要求,并向公共平臺推送數(shù)據(jù)。特針對已建溯源系統(tǒng)或者ERP系統(tǒng)的企業(yè)開發(fā)此中間件。
要求溯源企業(yè)提供企業(yè)ERP管理系統(tǒng)的相關溯源需要的數(shù)據(jù)接口,包括有:企業(yè)基本信息上傳接口、原料進廠信息上傳接口、原料自檢信息上傳接口、投入產(chǎn)出信息上傳接口、出廠檢驗信息上傳接口、出廠銷售信息上傳接口、不合格產(chǎn)品處理信息上傳接口、產(chǎn)品召回事件信息上傳接口、產(chǎn)品召回跟蹤信息上傳接口、批次、單品信息上傳接口等。
iotIS建設中數(shù)據(jù)格式標準、標識數(shù)據(jù)內(nèi)容標準、數(shù)據(jù)庫服務標準、數(shù)據(jù)接口標準都是按照國際標準進行制定的,而溯源企業(yè)內(nèi)部管理系統(tǒng)ERP是無法直接對接。為減輕企業(yè)的開發(fā)成本,本文檔的目的是制定食品生產(chǎn)企業(yè)ERP系統(tǒng)與中間件數(shù)據(jù)交換的接口規(guī)范,滿足食品電子溯源網(wǎng)絡數(shù)據(jù)庫(iotIS)對數(shù)據(jù)交換的要求。
中間件軟件的總體結構如圖所示:
本項目中間件分為三個層次,分別為:食品安全電子溯源中間件接口服務層,食品安全電子溯源中間件數(shù)據(jù)處理層,食品安全電子溯源中間件數(shù)據(jù)通信層。
食品安全電子溯源中間件接口服務層面向多樣的企業(yè)自建ERP系統(tǒng)或者溯源系統(tǒng),滿足對不同技術和接口方式的封裝,對上一層數(shù)據(jù)傳輸提供了統(tǒng)一的通信接口。且接口服務層面向多樣的企業(yè)ERP系統(tǒng),數(shù)據(jù)格式各異,以規(guī)范為標準,將對不同企業(yè)上傳溯源數(shù)據(jù)格式的支持封裝為對異構數(shù)據(jù)的支持以為單位進行開發(fā),完成了中間件對不同企業(yè)溯源數(shù)據(jù)動態(tài)接入的需求。
食品安全電子溯源中間件數(shù)據(jù)處理層包含數(shù)據(jù)過濾和數(shù)據(jù)格式的統(tǒng)一。冗余數(shù)據(jù)過濾是建立在企業(yè)ERP系統(tǒng)和iotls之間的過濾機制,主要對不同企業(yè)ERP系統(tǒng)上傳的食品溯源數(shù)據(jù)進行過濾,剔除重復和無用數(shù)據(jù),減少iotls數(shù)據(jù)處理壓力。數(shù)據(jù)格式的統(tǒng)一是通過調(diào)用相應的組件進行數(shù)據(jù)解析和轉(zhuǎn)換,將不同ERP系統(tǒng)上傳的原始溯源數(shù)據(jù)進行清洗轉(zhuǎn)換和處理,再根據(jù)上層iotIS所需要的企業(yè)基本信息、原料進廠信息、原料自檢信息等進行數(shù)據(jù)轉(zhuǎn)換和格式規(guī)范化處理,然后將規(guī)范化之后的數(shù)據(jù)提交至數(shù)據(jù)通信層,再對數(shù)據(jù)進行封裝和封發(fā)。
食品安全電子溯源中間件數(shù)據(jù)通信層主要實現(xiàn)中間件和iotIS系統(tǒng)間數(shù)據(jù)的同步或者異步通信。
本方案中的食品安全電子溯源中間件與RFID中間件還存在一定的不同,主要是滿足食品生產(chǎn)企業(yè)與食品安全電子溯源物聯(lián)網(wǎng)信息數(shù)據(jù)庫服務(iotIS)數(shù)據(jù)交換的需要,滿iotIS系統(tǒng)對數(shù)據(jù)交換的要求。中間件向下對接已建企業(yè)不同的ERP或者溯源系統(tǒng)接口,向上對接IOTIS系統(tǒng),滿足食品溯源數(shù)據(jù)的傳輸和交換,實現(xiàn)異構數(shù)據(jù)的統(tǒng)一傳輸,進一步規(guī)范企業(yè)溯源數(shù)據(jù)和監(jiān)管需求溯源數(shù)據(jù)之間的交互。endprint