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