基于SOA的RFID中間件集成應用
文章出處:http://5052h112.com 作者:褚偉杰 田永民 李偉平 人氣: 發表時間:2011年10月14日
1 概述
射頻識別(Radio Frequency Identification,RFID)技術近年來得到了快速的發展,目前已進入商業化應用階段。由于具有高速移動物體識別、多目標識別和非接觸識別等特點,RFID技術能應用于物流、制造、公共信息服務等行業,可大幅度提高管理與運作效率,降低成本。RFID技術顯示出巨大的發展潛力與應用空間,是21世紀最有發展前途的信息技術之一。
由于RFID技術具有諸多優點,因此企業投資者開始考慮將RFID技術應用在企業系統內。但是,RFID設備技術復雜,與企業后臺系統(如SCM,ERE CRM)之間的集成難度較大,并且傳統的應用集成系統主要采用數據集成的方式,系統間耦合度高,對業務變化的適應性差。這使得企業對于實施RFID技術持謹慎的態度。RFID 中間件的推出會有助于RFID設備與企業后臺系統的集成。但目前中間件主要關心的是數據層集成,而不提供任何能實現更高層集成的功能。本文提出并設計了一種基于面向服務體系架構。
(Service—Oriented Architectures,SOA)的RFID集成應用方案,能夠把各個應用RFID技術的功能抽象成服務,企業應用系統通過請求/服務的方式來獲取RFID中間件提供的服務。最后,通過使用香港大學電子商務研究所(ETI)開發的RFID中間件 (以下簡稱RAE)與倉庫管理系統的集成應用示例,驗證了所提出的技術方案。
2 相關技術
2.1 RFID技術
射頻識別技術是一種非接觸式的自動識別技術,通過射頻信號自動識別目標對象的唯一有效標識。典型的RFID系統主要由閱讀器、電子標簽、RFID 中間件和應用系統軟件4部分構成。
標簽一般由芯片和天線組成。每個標簽具有唯一的電子編碼,附著在物體上或嵌入物體內,用于標志目標對象。閱讀器通過控制射頻模塊向標簽發射讀取信號,并接收標簽的應答,同時讀寫器將時鐘信號和能量發送給標簽,閱讀器對標簽的對象標志信息進行解碼,并將對象標志信息連同標簽上的其他相關信息傳送到RFID 中間件以進行后續處理。RFID中間件負責對閱讀器所讀取的標簽數據進行過濾、匯集和計算,以減少從讀寫器傳往企業應用的數據量。RFID應用軟件針對不同行業的特定需求而開發,如公共汽車的收費系統。
2.2 RFID中間件技術
中間件在RFID應用系統中介于底層RFID硬件設備(如射頻識別閱讀器)與后臺數據庫及應用軟件(如ERP系統)中間,對閱讀器傳來的與標簽相關的事件、數據進行過濾、匯總和計算,減少從閱讀器傳往企業應用的巨量原始數據。RFID 中間件主要包括以下幾個功能:
(1)閱讀器等硬件設備的協調控制功能。用戶可以通過RFID中間件接口直接配置、監控閱讀器等硬件設備。
(2)標簽數據的過濾與事件處理功能。這是RFID中間件平臺的核心,通過相關的算法來減少數據冗余并為后臺應用提供語義信息。
(3)數據路由功能。中間件能決定采集的標簽數據信息傳遞給哪一個應用。
目前提供RFID 中間件平臺的廠商主要有IBM,Oracle,Microsoft,SAP,SUN,對于這些廠商來說,RFID中間件只是其現有軟件的擴展,他們的RFID 產品可以迅速方便地與各自現有的軟件產品線集成到一起。但缺點是,其 RFID 中間件產品對該廠商其他軟件產品的依賴性太大。
2.3 面向服務的體系結構
面向服務的體系結構是一種技術架構風格,它代表了一種開放的、敏捷的、可擴展的、可組合的架構 ,定義了服務提供者和消費者之間的松散耦合關系。其業務敏捷的特點,幫助企業把業務變得更加靈活,能夠適時、快速地響應變化。SOA的核心概念就是服務,W3C 對服務的定義 如下:“服務是一種表示執行任務的能力的抽象資源,一個服務必須被具體的提供者軟件實體實現才可以被使用”。目前,Web Service 是目前對 SOA 最為廣泛接受的實現方式,它的基本結構如圖1所示。
圖1 SOA參考模型
其中包含服務的3個基本角色,即服務提供者、服務請求者和服務注冊,在這些角色之間使用了3種操作,即服務發布、服務發現和服務綁定。作為SOA 的一種實現技術,Web Services 提供了基于 XML 的標準接口,具有完好的封裝性、松散的耦合性、協議規范的標準性以及高度的可集成性等特點,能夠良好地滿足SOA 應用模式的需求。由于 WebServices 使應用程序的集成發生在協議棧的較高層,基于更注重服務語義而非網絡協議語義的消息,實現了業務功能的松散集成。這一特點有助于在企業間和企業內部通過 Web 連接業務功能。
3 利用RFID中間件實現應用系統集成的方案
RFID中間件提供了豐富的接口,能夠幫助實現對RFID設備的管理以及對數據的處理,簡化了對底層設備應用的支持。目前,如果現有應用系統如果采用RFID設備來完成對物品的管理,采用RFID 中間件無疑是一個很好的選擇,避免了對底層設備的低級別接El的處理。但是所面臨的一個主要困難是如何解決RFID中間件與現有應用系統的集成問題。在實現與RFID中間件的集成時,如何減少對現有系統的影響,減少集成的工作量成為了一個關鍵問題。
利用SOA 松耦合、面向業務的特點,本文設計了基于SOA的架構,利用Web Service技術實現RFID中間件與企業系統的集成,完成兩者的松耦合集成。系統結構設計如圖2所示。
(1)RFID硬件設備層。系統結構圖中的最底層是RFID硬件設備層,包括標簽與閱讀器2部分。標簽由芯片與天線組成,每個芯片都含有唯一的識別碼(UID),附著在物體上一標識目標對象。
(2)RFID中間件層。香港大學電子商務研究所的RAE是一種消息導向的中間件(MOM),信息是以消息的形式從一個程序模塊傳送到另一個或者多個程序模塊。中間件包括設備驅動控制器、企業應用連接口以及RAE對象核心3部分,其中設備驅動控制器通過本身的適配器或者第三方控制器,可以提供RFID閱讀器和其他外部設備之間的連接。RFID對象核心系統部件的主要功能是根據所定制的RFID數據轉換和操作過程處理RFID事件。構造知識庫包含了一套預設的開發RAE物體的原始代碼,而事件管理器和流程執行驅動器則根據RAE對象內部的商業邏輯操作和管理RFID的事件。支持工具包則包含幫助管理和監控RFID系統的功能和程序。
(3)服務接口層。服務接口層位于RFID中間件層與企業應用系統之間。通過對需要采用RFID技術的企業業務建模,分解業務流程,識別出RFID相關的業務服務,定義消息類型,派生服務接口并實現服務。然后將服務注冊到服務庫中。服務的請求者可在服務庫中查找到該服務。
圖2 RFID中闊件集成應用系統結構
RAE內包含一些可編排的細粒度組件,如啟動指定閱讀器讀取標簽信息(Snapshot)、產品代碼信息匹配(Product Match)、標簽數量信息匹配(Quantity Match)、發送標簽信息事件(Report),將這些細粒度組件進行流程的編排(即按照邏輯規則定義流程描述文件),就可以組成包含邏輯信息的服務,如產品入庫信息核對服務、出庫信息核對服務、庫存位置查詢服務。通過對入庫作業流程的分析,可知“入庫信息核對服務”是由RFID技術來自動完成的。因此,將入庫信息核對服務發布成Web Service,供企業應用程序(倉庫管理系統)使用。
下面以倉庫管理系統中貨物的入庫流程中產品出庫信息核對服務為例編排流程,見圖3。
圖3 RAE入庫信息核對服務流程定義
4 RFID 中間件在倉庫管理系統中的集成實現
利用上述集成方案構建RFID中間件與企業的倉庫管理系統的集成,以實現對集成框架的應用驗證。該倉庫管理系統具有以下功能:
(1)庫存基本信息管理,包括物品信息的維護和管理、倉庫庫位信息的管理等。
(2)庫存業務管理,包括出入庫操作管理、庫存盤點操作管理、庫存信息查詢功能。
下面以倉庫管理系統中貨物入庫流程為例,分析入庫作業流程,從中提取RFID相關服務。
倉庫管理系統首先收到入庫通知單,貨物進入倉庫時,利用設置在倉庫門13的RFID閱讀器掃描貨物標簽來得到標簽的tag ID,根據tag ID值得到對應貨物的屬性以及每種產品的數量信息,將此數據與收到的入庫通知單信息進行核對,若數據正確則將貨物打托入庫,系統推薦庫位,之后操作人員逐一進行貨物上架操作,上架操作完畢后,利用手持RIFD閱讀器將對應貨位最新的貨物信息通過無線網絡傳輸到后臺數據庫,系統自動進行貨位貨物信息的變更確認,完成物品入庫操作。
通過對入庫作業流程的分析,可以由RFID技術來實現“入庫信息核對”,通過將RAE提供的細粒度的功能組件組合成入庫信息核對服務,發布成Web Service,提供標準化的數據接口供倉庫管理系統使用。
RAE與倉儲管理系統集成的結構如圖4所示。該系統采用J2EE 的架構在IBM WebSphere平臺上開發。通過建立Web服務平臺,對RAE所提供的功能組件按照倉庫管理系統的需求組合為相應的服務(如產品入庫信息核對服務、出庫信息核對服務),然后將服務封裝成Web服務,供倉庫管理系統訪問。倉庫管理系統與RAE之間采用HTTP/SOAP的方式進行通信,解決了數據采集和集成問題。
圖4 RAE與倉儲管理系統集成結構
服務代理接口(Service Proxy)是Web服務客戶端程序調用Web服務時使用的程序接口。通過使用服務代理接口實現Web服務客戶端與服務器端的SOAP通信。在倉庫管理系統的入庫管理模塊和出庫管理模塊通過調用服務代理接口來訪問Web服務。
下面以入庫流程為例,介紹WMS與RAE集成后的數據流程。
倉庫管理系統作為服務請求者,根據服務接口層公布的入庫信息核對服務WSDL,得到該服務的接口定義和服務端偵聽地址,由入庫管理模塊通過服務代理接口向Web服務發送SOAP請求消息,請求入庫信息核對服務,Web服務平臺收到該服務請求后,向RFID中間件發送消息,創建一個出庫信息核對服務的實例,根據服務請求參數,啟動相應的RFID閱讀器讀取標簽信息。RFID閱讀器將讀取的標簽信息傳給RAE,RAE根據服務請求的參數與捕獲的標簽信息進行核對處理,處理后向服務接口層返回核對數據正確或者錯誤的信息(如下所示),最后,服務接口層向倉庫管理系統發送SOAP響應,返回處理結果。
5 結束語
本文對RFID技術的概念、典型應用作了介紹,針對利用RFID中間件與現有系統難以集成的問題,提出了一個基于SOA的RFID中間件集成應用的架構設計。使用該架構可以容易地將RFID 中問件與企業應用系統集成到一起,并盡可能減少對現有系統的影響,從而加快了企業RFID應用系統的構建速度,從整體上降低開發、運行和維護RFID應用系統的總成本。最后通過一個倉庫管理系統與RFID的集成應用驗證了所提出的方案的正確性。
(文/北京大學軟件與微電子學院,中國人民解放軍91796部隊,褚偉杰 田永民 李偉平)