基于SOA的RFID中間件集成應(yīng)用
文章出處:http://xianjuhong.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)用方案,能夠把各個(gè)應(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)簽一般由芯片和天線組成。每個(gè)標(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 中間件主要包括以下幾個(gè)功能:
(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ù)信息傳遞給哪一個(gè)應(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ù)的能力的抽象資源,一個(gè)服務(wù)必須被具體的提供者軟件實(shí)體實(shí)現(xiàn)才可以被使用”。目前,Web Service 是目前對 SOA 最為廣泛接受的實(shí)現(xiàn)方式,它的基本結(jié)構(gòu)如圖1所示。
圖1 SOA參考模型
其中包含服務(wù)的3個(gè)基本角色,即服務(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 中間件無疑是一個(gè)很好的選擇,避免了對底層設(shè)備的低級別接El的處理。但是所面臨的一個(gè)主要困難是如何解決RFID中間件與現(xiàn)有應(yīng)用系統(tǒng)的集成問題。在實(shí)現(xiàn)與RFID中間件的集成時(shí),如何減少對現(xiàn)有系統(tǒng)的影響,減少集成的工作量成為了一個(gè)關(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)簽由芯片與天線組成,每個(gè)芯片都含有唯一的識別碼(UID),附著在物體上一標(biāo)識目標(biāo)對象。
(2)RFID中間件層。香港大學(xué)電子商務(wù)研究所的RAE是一種消息導(dǎo)向的中間件(MOM),信息是以消息的形式從一個(gè)程序模塊傳送到另一個(gè)或者多個(gè)程序模塊。中間件包括設(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)建一個(gè)出庫信息核對服務(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ù)正確或者錯(cuò)誤的信息(如下所示),最后,服務(wù)接口層向倉庫管理系統(tǒng)發(fā)送SOAP響應(yīng),返回處理結(jié)果。
5 結(jié)束語
本文對RFID技術(shù)的概念、典型應(yīng)用作了介紹,針對利用RFID中間件與現(xiàn)有系統(tǒng)難以集成的問題,提出了一個(gè)基于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)的總成本。最后通過一個(gè)倉庫管理系統(tǒng)與RFID的集成應(yīng)用驗(yàn)證了所提出的方案的正確性。
(文/北京大學(xué)軟件與微電子學(xué)院,中國人民解放軍91796部隊(duì),褚偉杰 田永民 李偉平)