RFID世界網(wǎng) >
技術(shù)文章 >
其他 >
正文
RFID應(yīng)用系統(tǒng)通過Web服務(wù)傳輸數(shù)據(jù)的研究與實現(xiàn)
作者:華北計算技術(shù)研究所 蔣武洲
來源:RFID世界網(wǎng)
日期:2007-10-22 16:25:53
摘要:RFID技術(shù)由于自身的優(yōu)勢已經(jīng)越來越受到人們的重視,其應(yīng)用系統(tǒng)也開始廣泛使用。在RFID應(yīng)用系統(tǒng)中需要一種快捷有效的方式在互聯(lián)網(wǎng)上傳輸數(shù)據(jù)。研究了使用WebService技術(shù)提供不同平臺間的互聯(lián),可以很好的解決RFID應(yīng)用系統(tǒng)中對數(shù)據(jù)傳輸?shù)男枨?,解決企業(yè)內(nèi)部之間、不同企業(yè)之間的信息交互,使RFID應(yīng)用系統(tǒng)更有效地運作。
0 引 言
無線射頻識別技術(shù)(RFID)作為一種新興的自動識別技術(shù),近年來在國內(nèi)外已經(jīng)得到了迅速發(fā)展。它是具有精度高、適應(yīng)環(huán)境能力強(qiáng)、抗干擾強(qiáng)、操作快捷等許多優(yōu)點。Web Services(Web服務(wù))也是近年來在信息領(lǐng)域備受關(guān)注的技術(shù),互聯(lián)網(wǎng)通過WebServices技術(shù)可以跨越企業(yè)間的界限。RFID使得獲取物品信息更加簡便和靈活,商業(yè)應(yīng)用系統(tǒng)采用此技術(shù)后可以更有效的掌握物品屬性以及流向等信息,這些數(shù)據(jù)通過互聯(lián)網(wǎng)就可以在不同的系統(tǒng)間傳遞,而WebServices技術(shù)能使網(wǎng)絡(luò)上不同端點更容易地共享實時數(shù)據(jù)和事務(wù)處理。因此RFID與Web Services的結(jié)合很有必要。
本文介紹RFID 系統(tǒng)的組成、工作原理和系統(tǒng)的應(yīng)用情況,以及WebService的基本定義和組成。闡述了RFID與Web.Service結(jié)合的必要性。研究了RFID應(yīng)用系統(tǒng)中使用WebService傳輸數(shù)據(jù)的過程,并介紹如何實現(xiàn)其功能。并對以上研究和實現(xiàn)進(jìn)行總結(jié)。
1 基本概念
1.1 RFID系統(tǒng)組成、工作原理和應(yīng)用前景
射頻識別技術(shù)(radio frequency identification,RFID)是自動識別技術(shù)的一種,即通過無線射頻方式進(jìn)行非接觸雙向數(shù)據(jù)通信對目標(biāo)加以識別。它相對于傳統(tǒng)的識別技術(shù)有非接觸式、可擦寫信息、更大的讀寫距離、大容量(相對條形碼)、無需人工干預(yù)即可完成信息輸入和處理、可多個識別、可工作于各種惡劣環(huán)境等突出優(yōu)勢,能夠廣泛應(yīng)用于生產(chǎn)、物流、交通、運輸、醫(yī)療、防偽、跟蹤、設(shè)備和資產(chǎn)管理等需要收集和處理數(shù)據(jù)的應(yīng)用領(lǐng)域,并被認(rèn)為是條形碼標(biāo)簽的未來替代品。
RFID系統(tǒng)基本都由電子標(biāo)簽Tag、閱讀器Reader和應(yīng)用系統(tǒng)Processor這3大部分組成的。電子標(biāo)簽具有智能讀寫和加密通信的功能,它是通過無線電波與讀寫設(shè)備進(jìn)行數(shù)據(jù)交換,工作的能量是由閱讀器發(fā)出的射頻脈沖提供。標(biāo)簽閱讀器可將主機(jī)的讀寫命令傳送到電子標(biāo)簽,再把從主機(jī)發(fā)往電子標(biāo)簽的數(shù)據(jù)加密,將電子標(biāo)簽返回的數(shù)據(jù)解密后送到主機(jī)。數(shù)據(jù)交換與應(yīng)用軟件主要完成數(shù)據(jù)信息的存儲及管理、對卡進(jìn)行讀寫控制等。
RFID的基本工作原理(如圖1所示)是利用射頻信號和空間耦合(電感或電磁耦合)傳輸特性,實現(xiàn)對被識別物品的自動識別。標(biāo)簽閱讀器發(fā)射電磁波,而此電磁波有其輻射范圍,當(dāng)電子標(biāo)簽進(jìn)入此電磁波輻射范圍內(nèi),電子標(biāo)簽將閱讀器所發(fā)射的微小電磁波能量存儲進(jìn)而轉(zhuǎn)換成電路所需的電能,并且將存儲的識別資料以電磁波的方式傳送給閱讀器作確認(rèn)及后續(xù)與應(yīng)用軟件進(jìn)行數(shù)據(jù)交換。
隨著RFID技術(shù)的發(fā)展演進(jìn)以及成本的降低,未來幾年內(nèi)RFID技術(shù)主要以供應(yīng)鏈的應(yīng)用為贏利的主體,全球開放的市場將為RFID帶來巨大的商機(jī)。從采購、倉儲、生產(chǎn)、包裝、卸載、流通加工、配送、銷售到服務(wù),這些供應(yīng)鏈上的業(yè)務(wù)流程和環(huán)節(jié)運轉(zhuǎn)時,企業(yè)必須隨時實地、精確的掌握供應(yīng)鏈上的商流、物流、信息和資金的流向,才能夠使企業(yè)發(fā)揮出最大的效率和效益。RFID技術(shù)正是有效解決供應(yīng)鏈上各項業(yè)務(wù)運作資料的輸入與輸出、業(yè)務(wù)過程的控制與跟蹤,以及減少出錯率等難題的一種技術(shù)。
1.2 WebService概述和體系結(jié)構(gòu)
Web Service是微軟提出的基于互聯(lián)網(wǎng)的開發(fā)模型,一經(jīng)提出即收到業(yè)界的廣泛推從。體系結(jié)構(gòu)描述,其定義為:Web Services是自包含的、模塊化的應(yīng)用程序,它可以在網(wǎng)絡(luò)(通常為Web)中被描述、發(fā)布、查找以及調(diào)用。Web服務(wù)的一個主要思想,就是未來的應(yīng)用將由一組應(yīng)用了網(wǎng)絡(luò)的服務(wù)組合而成。Web Services體系結(jié)構(gòu)是面向?qū)ο蠓治雠c設(shè)計(OOAD)的一種合理發(fā)展,同時也是電子商務(wù)解決方案中,面向體系結(jié)構(gòu)、設(shè)計、實現(xiàn)與部署而采用的組件化的合理發(fā)展。下面就來看一下WebServices的體系結(jié)構(gòu)一面向服務(wù)的體系結(jié)構(gòu)(SOA)如圖2所示。
從圖2可以看出,SOA結(jié)構(gòu)中共有3種角色:①ServicePro.vider:發(fā)布自己的服務(wù),并且對使用自身服務(wù)的請求進(jìn)行響應(yīng)。②ServiceBroker:注冊已經(jīng)發(fā)布的ServiceProvider,對其進(jìn)行分類,并提供搜索服務(wù)。③Service Requester:利用Service Broker查找所需的服務(wù),然后使用該服務(wù)。
SOA體系結(jié)構(gòu)中的組件必須具有上述一種或多種角色。在這些角色之間使用了3種操作:①Publish操作:使Service Provider可以向Service Broker注冊自己的功能及訪問接口。②Find操作:使Service Requester可以通過Service Broker查找特定種類的服務(wù)。③Bind操作:使Service Requester能夠真正使用Service Provider。
2 RFID和WebService的結(jié)合
由于RFID本身特點,在RFID的應(yīng)用系統(tǒng)中的信息來源主要是每個單元物品信息對象,而物品數(shù)量眾多以及物品信息的多樣化,導(dǎo)致整個系統(tǒng)所要處理的數(shù)據(jù)量和數(shù)據(jù)形式大為增加,同時系統(tǒng)之間的信息交互和管理也更加復(fù)雜了。Web.Services技術(shù)是將一個現(xiàn)實世界映射到一組服務(wù)的集合上面,RFID數(shù)據(jù)大都是與現(xiàn)實物理世界的物體緊密相關(guān),把對數(shù)據(jù)的處理功能以服務(wù)的形式進(jìn)行提供,系統(tǒng)將部分功能交給Web服務(wù)來處理,將大大減輕了RFID應(yīng)用系統(tǒng)對數(shù)據(jù)的管理與傳輸?shù)呢?fù)擔(dān),減少系統(tǒng)本身的復(fù)雜性,讓系統(tǒng)只需處理部分功能,而其它的可以交給有實力和技術(shù)的Web服務(wù)提供商。同時由于Web服務(wù)的自身特點,和RFID應(yīng)用相結(jié)合,可以做到與語言無關(guān)、協(xié)議無關(guān)、平臺無關(guān)。如果你有個應(yīng)用程序通過Web服務(wù)發(fā)布,那么不僅僅是公司內(nèi)部可用(可以是其它的C/S或者B/S的應(yīng)用程序),其它連到lntemet上的公司也可以使用,屏蔽了不同語言之間的差異。因為底層是Http協(xié)議,所以可以輕松穿越企業(yè)防火墻,而且Web服務(wù)是運行在Internet上的,在世界任何地方都可輕易實現(xiàn),這樣其運行成本就相對較低。
3 研究與實現(xiàn)
3.1 RFID應(yīng)用系統(tǒng)結(jié)構(gòu)與功能設(shè)計
本文涉及到RFID應(yīng)用系統(tǒng)的數(shù)據(jù)流程大致如圖3所示。
圖3中的應(yīng)用環(huán)境為物流管理系統(tǒng),將從RFID標(biāo)簽獲得的信息通過Web服務(wù)上傳給企業(yè)后臺系統(tǒng),用來進(jìn)行全局?jǐn)?shù)據(jù)的統(tǒng)計和管理。應(yīng)用系統(tǒng)獲得標(biāo)簽信息通過以下幾個步驟:①RFID標(biāo)簽上儲存有物品信息,流轉(zhuǎn)過程信息;②機(jī)具通過讀取設(shè)備獲得RFID標(biāo)簽上的信息,處理成系統(tǒng)規(guī)定數(shù)據(jù)發(fā)送給應(yīng)用系統(tǒng);③應(yīng)用系統(tǒng)得到數(shù)據(jù),進(jìn)行處理。同時將部分要寫入標(biāo)簽的信息發(fā)送給機(jī)具;④機(jī)具將收到來自應(yīng)用系統(tǒng)的信息寫入RFID標(biāo)簽中。
RFID應(yīng)用系統(tǒng)接收到標(biāo)簽數(shù)據(jù)后,就可以根據(jù)需要對數(shù)據(jù)進(jìn)行處理。同時為了能和本企業(yè)的中央后臺系統(tǒng)或其它企業(yè)系統(tǒng)交流信息,本地系統(tǒng)需要通過Web服務(wù)來進(jìn)行互聯(lián)互通,大致步驟如下:①提供Web 服務(wù)的系統(tǒng)首先根據(jù)需求制定服務(wù)程序以及服務(wù)的對外訪問地址和接口;② 應(yīng)用系統(tǒng)將需要上傳的信息組織好,通過wleb服務(wù)公布的地址以及交互API接口函數(shù)的規(guī)定,把數(shù)據(jù)發(fā)送給接受方;③ 接受方收到數(shù)據(jù)后進(jìn)行相關(guān)處理,同時會返回給應(yīng)用系統(tǒng)數(shù)據(jù)是否傳輸成功和處理后需返回的數(shù)據(jù)。
RFID應(yīng)用系統(tǒng)的數(shù)據(jù)通過Web服務(wù)傳輸過程是本論文的重點,其實現(xiàn)過程在下節(jié)有具體描述。
3.2 系統(tǒng)中Web服務(wù)的實現(xiàn)過程
3.2.1 舉出實例及定義數(shù)據(jù)
這里舉一個Web服務(wù)的應(yīng)用實例來進(jìn)行說明其實現(xiàn)過程。將RFID標(biāo)簽應(yīng)用于工廠準(zhǔn)備出庫的每一箱貨物上,通過讀寫機(jī)具把表1的信息寫入標(biāo)簽中。
給標(biāo)簽寫入信息并且貼在每一箱貨物上,之后將貨物送往購買廠家的庫房。貨物到了目的地后進(jìn)行入庫,用讀寫機(jī)具將每個標(biāo)簽的信息讀取,并且傳給購買廠家的應(yīng)用系統(tǒng),系統(tǒng)對數(shù)據(jù)進(jìn)行保存和處理,之后將其中部分信息傳給Web服務(wù),由Web服務(wù)來進(jìn)一步處理。傳給Web服務(wù)的數(shù)據(jù)如表2所示。
Web服務(wù)收到以上信息后,來分別對每一類信息進(jìn)行處理判斷,并且返回處理結(jié)果。表3是處理內(nèi)容及返回結(jié)果。
購買方的系統(tǒng)接受Web服務(wù)的返回數(shù)據(jù),根據(jù)結(jié)構(gòu)決定是否接受貨物。總的來說,這個Web服務(wù)的內(nèi)容就是把RFID應(yīng)用系統(tǒng)上傳來的數(shù)據(jù)進(jìn)行進(jìn)一步的處理,之后返回處理結(jié)果。
3.2.2 Web服務(wù)的實現(xiàn)
(1)根據(jù)需求生成Web服務(wù)
根據(jù)以上的需求,提供Web服務(wù)的服務(wù)商在服務(wù)器端編寫數(shù)據(jù)處理程序,并按照應(yīng)用系統(tǒng)將上傳來的數(shù)據(jù)類型來定義Web服務(wù)的接口,并生成WSDL文件,來描述Web服務(wù)。WSDL(web servicedescriptionlanguage)既web服務(wù)器描述語言是用XML文檔來描述wleb服務(wù)的標(biāo)準(zhǔn),是Web服務(wù)的接口定義語言。在WSDL文件中對數(shù)據(jù)和接口描述如下:
WebService經(jīng)由服務(wù)器發(fā)布后,應(yīng)用系統(tǒng)就可以訪問這個服務(wù)了。
(2)服務(wù)發(fā)布后,應(yīng)用程序根據(jù)API接口來組織數(shù)據(jù)企業(yè)RFID應(yīng)用系統(tǒng)大多數(shù)是運行在Windows系統(tǒng)下,因此這里的應(yīng)用系統(tǒng)也是Windows桌面程序,系統(tǒng)中需要有一個與Web服務(wù)連接功能的模塊。通過得到Web服務(wù)的WSDL文件,就可以來定義上傳數(shù)據(jù)的類型和接口。這里用MicrosoR Visual Studio C++來編寫Web服務(wù)的客戶端。
將WSDL通過工具轉(zhuǎn)換成Visual Studio C++可以引用的類型為cpp和hpp的代理類文件。會生成以下文件:“Upload.Bean.hpp”、"UploadBean.cpp”、 ResultBean.hpp”、 Result-Bean.cpp”、“Wslnterface.hpp”、“Wslnterface.cpp”。在程序的頭文件中引入代理類,編寫上傳的數(shù)據(jù)的程序。如何組織和準(zhǔn)備數(shù)據(jù)部分就不敘述了,這里講一下比較關(guān)鍵的部分,就是調(diào)用代理類中定義的上傳函數(shù)來進(jìn)行上傳數(shù)據(jù)的操作。在Wslnterface.hpp有這樣一個定義:
STORAGE_CLASS_INFO ResultBean_Array puttaginfo(XSd_string Value0,xsd string Value1,XSd_long Value2,xsd_int Value3,xsd_ int Value4);
這個名為“puttaginfo”的函數(shù)就是我們用來連接Web服務(wù)上傳數(shù)據(jù)的函數(shù),其中的參數(shù)(Value0,Value1)對應(yīng)的是上傳的用戶名和密碼,(Value2,Value3,Value4)對應(yīng)的分別是我們要上傳的“標(biāo)簽序列號(TagID)”、“貨物類別代碼(ProductionID)”和“生產(chǎn)廠家代碼(Factory ID)”。同時這個函數(shù)還有返回值,返回一個“ResultBean_Array ”的值,就是一個結(jié)果集數(shù)組,里面包含上面提到的一些處理結(jié)果。知道這個函數(shù)的定義后,在程序中就用這個函數(shù)來上傳數(shù)據(jù)。
(3)進(jìn)行數(shù)據(jù)傳輸
數(shù)據(jù)傳輸?shù)倪^程包括應(yīng)用系統(tǒng)上傳數(shù)據(jù)和服務(wù)器接收數(shù)據(jù)并返回處理結(jié)果兩個部分。應(yīng)用系統(tǒng)對WebService的調(diào)用,是通過SOAP協(xié)議進(jìn)行的。簡單對象訪問協(xié)議(SOAP)提供了標(biāo)準(zhǔn)的遠(yuǎn)程過程調(diào)用(RPC)方法來調(diào)用WebService。而SOAP也是基于XML和XSD的,XML是SOAP的數(shù)據(jù)編碼方式,對WebService的調(diào)用也可以是跨平臺的。因此,這里應(yīng)用系統(tǒng)上傳數(shù)據(jù)時所調(diào)用Web服務(wù)可以來自J2EE的后臺系統(tǒng)。
系統(tǒng)通過調(diào)用以上WebService接口函數(shù)來與J2EE后臺系統(tǒng)傳輸數(shù)據(jù),只要網(wǎng)絡(luò)聯(lián)通并且所上傳的地址與數(shù)據(jù)結(jié)構(gòu)正確,程序就可以得到后臺系統(tǒng)的返回值。應(yīng)用系統(tǒng)再依據(jù)“ResultBean Array”這個返回數(shù)組里記載的每個物品“標(biāo)簽序列號”(TagID)所對應(yīng)的“序列號標(biāo)志位”(TagSign)和“生產(chǎn)廠家及貨物標(biāo)志位”(ProductionSign)的數(shù)值,來判斷這次通信是否成功以及其它信息。
最后,應(yīng)用系統(tǒng)根據(jù)返回信息以及業(yè)務(wù)需求來進(jìn)一步對物品標(biāo)簽信息行進(jìn)分析和處理。這樣一個RFID本地應(yīng)用系統(tǒng)通過Web服務(wù)上傳標(biāo)簽數(shù)據(jù)到后臺系統(tǒng)的整個過程就完成了。
4 結(jié)束語
RFID將物理世界與計算機(jī)世界集成在一起,還將網(wǎng)絡(luò)邊緣的硬件、嵌入式軟件及中間件與企業(yè)應(yīng)用系統(tǒng)聯(lián)系起來,完成了分布數(shù)據(jù)向企業(yè)應(yīng)用的集成,是IT技術(shù)的又一次延伸。將WebServices技術(shù)應(yīng)用于RFID系統(tǒng)的已經(jīng)被人們普遍認(rèn)同,在很多組織及研究部門的共同努力下這方面也取得了很大的進(jìn)展。本文對RFID應(yīng)用系統(tǒng)中使用Web服務(wù)來傳輸數(shù)據(jù),實現(xiàn)企業(yè)本地與后臺系統(tǒng)的聯(lián)通做了探討和簡單地實現(xiàn),這種方法可以用在各種不同的RFID應(yīng)用系統(tǒng)中,對于互聯(lián)網(wǎng)上的數(shù)據(jù)傳輸是一種非常有效的解決方案。
參考文獻(xiàn):
[1] EricArmstrong.JavaWebService教程[M].北京:電子工業(yè)出版社,2003.
[2] 趙慶.RFID技術(shù)應(yīng)用領(lǐng)域分析及展望[J].智能識別,2005(9):45.48.
[3] 蔣皓石,張成,林嘉宇.無線射頻識別技術(shù)原理及其應(yīng)用和發(fā)展趨勢[EB/OL].http://tech.rfidchina.org/rfid-info-3276-150.htm1.
[4] 李宏,李蘇劍,李蒙蒙.RFID在物流供應(yīng)鏈管理中的應(yīng)用[J].物流科技,2004,27(1 1):22.24.
[5] 趙毅強(qiáng),曾雋芳.WebServices在RFID系統(tǒng)中的應(yīng)用綜述[EB/OL].http://www.rfidworld.com.cn/jswk/news/2005829l91.htm.
[6] 石峰,馬鐳,王志君.RFID.物理世界與IT系統(tǒng)的橋梁[EB/OL].http://www.rfidworld.com.cn/tech/20065985514726.htm.
[7] Ashok Banerjee,Jefrey Flammer,Puneet Agarwa1.RFID技術(shù)挑戰(zhàn)和參考架構(gòu)[EB/OL].http://dev2dev.bea.com.cn/techdoc/2005l20601.htm1.
[8] 徐春金.RFID 項目常見問題分析[EB/OL].http://m.dsfdsv2d1.com/tech/20061O884O25788.htm.
[9] 劉艾秋.RFID數(shù)據(jù)高效管理七原則[EB/OL].http://www.rfidworld.com.cn/tech/20061O13ll734792.htm.
無線射頻識別技術(shù)(RFID)作為一種新興的自動識別技術(shù),近年來在國內(nèi)外已經(jīng)得到了迅速發(fā)展。它是具有精度高、適應(yīng)環(huán)境能力強(qiáng)、抗干擾強(qiáng)、操作快捷等許多優(yōu)點。Web Services(Web服務(wù))也是近年來在信息領(lǐng)域備受關(guān)注的技術(shù),互聯(lián)網(wǎng)通過WebServices技術(shù)可以跨越企業(yè)間的界限。RFID使得獲取物品信息更加簡便和靈活,商業(yè)應(yīng)用系統(tǒng)采用此技術(shù)后可以更有效的掌握物品屬性以及流向等信息,這些數(shù)據(jù)通過互聯(lián)網(wǎng)就可以在不同的系統(tǒng)間傳遞,而WebServices技術(shù)能使網(wǎng)絡(luò)上不同端點更容易地共享實時數(shù)據(jù)和事務(wù)處理。因此RFID與Web Services的結(jié)合很有必要。
本文介紹RFID 系統(tǒng)的組成、工作原理和系統(tǒng)的應(yīng)用情況,以及WebService的基本定義和組成。闡述了RFID與Web.Service結(jié)合的必要性。研究了RFID應(yīng)用系統(tǒng)中使用WebService傳輸數(shù)據(jù)的過程,并介紹如何實現(xiàn)其功能。并對以上研究和實現(xiàn)進(jìn)行總結(jié)。
1 基本概念
1.1 RFID系統(tǒng)組成、工作原理和應(yīng)用前景
射頻識別技術(shù)(radio frequency identification,RFID)是自動識別技術(shù)的一種,即通過無線射頻方式進(jìn)行非接觸雙向數(shù)據(jù)通信對目標(biāo)加以識別。它相對于傳統(tǒng)的識別技術(shù)有非接觸式、可擦寫信息、更大的讀寫距離、大容量(相對條形碼)、無需人工干預(yù)即可完成信息輸入和處理、可多個識別、可工作于各種惡劣環(huán)境等突出優(yōu)勢,能夠廣泛應(yīng)用于生產(chǎn)、物流、交通、運輸、醫(yī)療、防偽、跟蹤、設(shè)備和資產(chǎn)管理等需要收集和處理數(shù)據(jù)的應(yīng)用領(lǐng)域,并被認(rèn)為是條形碼標(biāo)簽的未來替代品。
RFID系統(tǒng)基本都由電子標(biāo)簽Tag、閱讀器Reader和應(yīng)用系統(tǒng)Processor這3大部分組成的。電子標(biāo)簽具有智能讀寫和加密通信的功能,它是通過無線電波與讀寫設(shè)備進(jìn)行數(shù)據(jù)交換,工作的能量是由閱讀器發(fā)出的射頻脈沖提供。標(biāo)簽閱讀器可將主機(jī)的讀寫命令傳送到電子標(biāo)簽,再把從主機(jī)發(fā)往電子標(biāo)簽的數(shù)據(jù)加密,將電子標(biāo)簽返回的數(shù)據(jù)解密后送到主機(jī)。數(shù)據(jù)交換與應(yīng)用軟件主要完成數(shù)據(jù)信息的存儲及管理、對卡進(jìn)行讀寫控制等。
RFID的基本工作原理(如圖1所示)是利用射頻信號和空間耦合(電感或電磁耦合)傳輸特性,實現(xiàn)對被識別物品的自動識別。標(biāo)簽閱讀器發(fā)射電磁波,而此電磁波有其輻射范圍,當(dāng)電子標(biāo)簽進(jìn)入此電磁波輻射范圍內(nèi),電子標(biāo)簽將閱讀器所發(fā)射的微小電磁波能量存儲進(jìn)而轉(zhuǎn)換成電路所需的電能,并且將存儲的識別資料以電磁波的方式傳送給閱讀器作確認(rèn)及后續(xù)與應(yīng)用軟件進(jìn)行數(shù)據(jù)交換。
隨著RFID技術(shù)的發(fā)展演進(jìn)以及成本的降低,未來幾年內(nèi)RFID技術(shù)主要以供應(yīng)鏈的應(yīng)用為贏利的主體,全球開放的市場將為RFID帶來巨大的商機(jī)。從采購、倉儲、生產(chǎn)、包裝、卸載、流通加工、配送、銷售到服務(wù),這些供應(yīng)鏈上的業(yè)務(wù)流程和環(huán)節(jié)運轉(zhuǎn)時,企業(yè)必須隨時實地、精確的掌握供應(yīng)鏈上的商流、物流、信息和資金的流向,才能夠使企業(yè)發(fā)揮出最大的效率和效益。RFID技術(shù)正是有效解決供應(yīng)鏈上各項業(yè)務(wù)運作資料的輸入與輸出、業(yè)務(wù)過程的控制與跟蹤,以及減少出錯率等難題的一種技術(shù)。
1.2 WebService概述和體系結(jié)構(gòu)
Web Service是微軟提出的基于互聯(lián)網(wǎng)的開發(fā)模型,一經(jīng)提出即收到業(yè)界的廣泛推從。體系結(jié)構(gòu)描述,其定義為:Web Services是自包含的、模塊化的應(yīng)用程序,它可以在網(wǎng)絡(luò)(通常為Web)中被描述、發(fā)布、查找以及調(diào)用。Web服務(wù)的一個主要思想,就是未來的應(yīng)用將由一組應(yīng)用了網(wǎng)絡(luò)的服務(wù)組合而成。Web Services體系結(jié)構(gòu)是面向?qū)ο蠓治雠c設(shè)計(OOAD)的一種合理發(fā)展,同時也是電子商務(wù)解決方案中,面向體系結(jié)構(gòu)、設(shè)計、實現(xiàn)與部署而采用的組件化的合理發(fā)展。下面就來看一下WebServices的體系結(jié)構(gòu)一面向服務(wù)的體系結(jié)構(gòu)(SOA)如圖2所示。
從圖2可以看出,SOA結(jié)構(gòu)中共有3種角色:①ServicePro.vider:發(fā)布自己的服務(wù),并且對使用自身服務(wù)的請求進(jìn)行響應(yīng)。②ServiceBroker:注冊已經(jīng)發(fā)布的ServiceProvider,對其進(jìn)行分類,并提供搜索服務(wù)。③Service Requester:利用Service Broker查找所需的服務(wù),然后使用該服務(wù)。
SOA體系結(jié)構(gòu)中的組件必須具有上述一種或多種角色。在這些角色之間使用了3種操作:①Publish操作:使Service Provider可以向Service Broker注冊自己的功能及訪問接口。②Find操作:使Service Requester可以通過Service Broker查找特定種類的服務(wù)。③Bind操作:使Service Requester能夠真正使用Service Provider。
2 RFID和WebService的結(jié)合
由于RFID本身特點,在RFID的應(yīng)用系統(tǒng)中的信息來源主要是每個單元物品信息對象,而物品數(shù)量眾多以及物品信息的多樣化,導(dǎo)致整個系統(tǒng)所要處理的數(shù)據(jù)量和數(shù)據(jù)形式大為增加,同時系統(tǒng)之間的信息交互和管理也更加復(fù)雜了。Web.Services技術(shù)是將一個現(xiàn)實世界映射到一組服務(wù)的集合上面,RFID數(shù)據(jù)大都是與現(xiàn)實物理世界的物體緊密相關(guān),把對數(shù)據(jù)的處理功能以服務(wù)的形式進(jìn)行提供,系統(tǒng)將部分功能交給Web服務(wù)來處理,將大大減輕了RFID應(yīng)用系統(tǒng)對數(shù)據(jù)的管理與傳輸?shù)呢?fù)擔(dān),減少系統(tǒng)本身的復(fù)雜性,讓系統(tǒng)只需處理部分功能,而其它的可以交給有實力和技術(shù)的Web服務(wù)提供商。同時由于Web服務(wù)的自身特點,和RFID應(yīng)用相結(jié)合,可以做到與語言無關(guān)、協(xié)議無關(guān)、平臺無關(guān)。如果你有個應(yīng)用程序通過Web服務(wù)發(fā)布,那么不僅僅是公司內(nèi)部可用(可以是其它的C/S或者B/S的應(yīng)用程序),其它連到lntemet上的公司也可以使用,屏蔽了不同語言之間的差異。因為底層是Http協(xié)議,所以可以輕松穿越企業(yè)防火墻,而且Web服務(wù)是運行在Internet上的,在世界任何地方都可輕易實現(xiàn),這樣其運行成本就相對較低。
3 研究與實現(xiàn)
3.1 RFID應(yīng)用系統(tǒng)結(jié)構(gòu)與功能設(shè)計
本文涉及到RFID應(yīng)用系統(tǒng)的數(shù)據(jù)流程大致如圖3所示。
圖3中的應(yīng)用環(huán)境為物流管理系統(tǒng),將從RFID標(biāo)簽獲得的信息通過Web服務(wù)上傳給企業(yè)后臺系統(tǒng),用來進(jìn)行全局?jǐn)?shù)據(jù)的統(tǒng)計和管理。應(yīng)用系統(tǒng)獲得標(biāo)簽信息通過以下幾個步驟:①RFID標(biāo)簽上儲存有物品信息,流轉(zhuǎn)過程信息;②機(jī)具通過讀取設(shè)備獲得RFID標(biāo)簽上的信息,處理成系統(tǒng)規(guī)定數(shù)據(jù)發(fā)送給應(yīng)用系統(tǒng);③應(yīng)用系統(tǒng)得到數(shù)據(jù),進(jìn)行處理。同時將部分要寫入標(biāo)簽的信息發(fā)送給機(jī)具;④機(jī)具將收到來自應(yīng)用系統(tǒng)的信息寫入RFID標(biāo)簽中。
RFID應(yīng)用系統(tǒng)接收到標(biāo)簽數(shù)據(jù)后,就可以根據(jù)需要對數(shù)據(jù)進(jìn)行處理。同時為了能和本企業(yè)的中央后臺系統(tǒng)或其它企業(yè)系統(tǒng)交流信息,本地系統(tǒng)需要通過Web服務(wù)來進(jìn)行互聯(lián)互通,大致步驟如下:①提供Web 服務(wù)的系統(tǒng)首先根據(jù)需求制定服務(wù)程序以及服務(wù)的對外訪問地址和接口;② 應(yīng)用系統(tǒng)將需要上傳的信息組織好,通過wleb服務(wù)公布的地址以及交互API接口函數(shù)的規(guī)定,把數(shù)據(jù)發(fā)送給接受方;③ 接受方收到數(shù)據(jù)后進(jìn)行相關(guān)處理,同時會返回給應(yīng)用系統(tǒng)數(shù)據(jù)是否傳輸成功和處理后需返回的數(shù)據(jù)。
RFID應(yīng)用系統(tǒng)的數(shù)據(jù)通過Web服務(wù)傳輸過程是本論文的重點,其實現(xiàn)過程在下節(jié)有具體描述。
3.2 系統(tǒng)中Web服務(wù)的實現(xiàn)過程
3.2.1 舉出實例及定義數(shù)據(jù)
這里舉一個Web服務(wù)的應(yīng)用實例來進(jìn)行說明其實現(xiàn)過程。將RFID標(biāo)簽應(yīng)用于工廠準(zhǔn)備出庫的每一箱貨物上,通過讀寫機(jī)具把表1的信息寫入標(biāo)簽中。
給標(biāo)簽寫入信息并且貼在每一箱貨物上,之后將貨物送往購買廠家的庫房。貨物到了目的地后進(jìn)行入庫,用讀寫機(jī)具將每個標(biāo)簽的信息讀取,并且傳給購買廠家的應(yīng)用系統(tǒng),系統(tǒng)對數(shù)據(jù)進(jìn)行保存和處理,之后將其中部分信息傳給Web服務(wù),由Web服務(wù)來進(jìn)一步處理。傳給Web服務(wù)的數(shù)據(jù)如表2所示。
Web服務(wù)收到以上信息后,來分別對每一類信息進(jìn)行處理判斷,并且返回處理結(jié)果。表3是處理內(nèi)容及返回結(jié)果。
購買方的系統(tǒng)接受Web服務(wù)的返回數(shù)據(jù),根據(jù)結(jié)構(gòu)決定是否接受貨物。總的來說,這個Web服務(wù)的內(nèi)容就是把RFID應(yīng)用系統(tǒng)上傳來的數(shù)據(jù)進(jìn)行進(jìn)一步的處理,之后返回處理結(jié)果。
3.2.2 Web服務(wù)的實現(xiàn)
(1)根據(jù)需求生成Web服務(wù)
根據(jù)以上的需求,提供Web服務(wù)的服務(wù)商在服務(wù)器端編寫數(shù)據(jù)處理程序,并按照應(yīng)用系統(tǒng)將上傳來的數(shù)據(jù)類型來定義Web服務(wù)的接口,并生成WSDL文件,來描述Web服務(wù)。WSDL(web servicedescriptionlanguage)既web服務(wù)器描述語言是用XML文檔來描述wleb服務(wù)的標(biāo)準(zhǔn),是Web服務(wù)的接口定義語言。在WSDL文件中對數(shù)據(jù)和接口描述如下:
WebService經(jīng)由服務(wù)器發(fā)布后,應(yīng)用系統(tǒng)就可以訪問這個服務(wù)了。
(2)服務(wù)發(fā)布后,應(yīng)用程序根據(jù)API接口來組織數(shù)據(jù)企業(yè)RFID應(yīng)用系統(tǒng)大多數(shù)是運行在Windows系統(tǒng)下,因此這里的應(yīng)用系統(tǒng)也是Windows桌面程序,系統(tǒng)中需要有一個與Web服務(wù)連接功能的模塊。通過得到Web服務(wù)的WSDL文件,就可以來定義上傳數(shù)據(jù)的類型和接口。這里用MicrosoR Visual Studio C++來編寫Web服務(wù)的客戶端。
將WSDL通過工具轉(zhuǎn)換成Visual Studio C++可以引用的類型為cpp和hpp的代理類文件。會生成以下文件:“Upload.Bean.hpp”、"UploadBean.cpp”、 ResultBean.hpp”、 Result-Bean.cpp”、“Wslnterface.hpp”、“Wslnterface.cpp”。在程序的頭文件中引入代理類,編寫上傳的數(shù)據(jù)的程序。如何組織和準(zhǔn)備數(shù)據(jù)部分就不敘述了,這里講一下比較關(guān)鍵的部分,就是調(diào)用代理類中定義的上傳函數(shù)來進(jìn)行上傳數(shù)據(jù)的操作。在Wslnterface.hpp有這樣一個定義:
STORAGE_CLASS_INFO ResultBean_Array puttaginfo(XSd_string Value0,xsd string Value1,XSd_long Value2,xsd_int Value3,xsd_ int Value4);
這個名為“puttaginfo”的函數(shù)就是我們用來連接Web服務(wù)上傳數(shù)據(jù)的函數(shù),其中的參數(shù)(Value0,Value1)對應(yīng)的是上傳的用戶名和密碼,(Value2,Value3,Value4)對應(yīng)的分別是我們要上傳的“標(biāo)簽序列號(TagID)”、“貨物類別代碼(ProductionID)”和“生產(chǎn)廠家代碼(Factory ID)”。同時這個函數(shù)還有返回值,返回一個“ResultBean_Array ”的值,就是一個結(jié)果集數(shù)組,里面包含上面提到的一些處理結(jié)果。知道這個函數(shù)的定義后,在程序中就用這個函數(shù)來上傳數(shù)據(jù)。
(3)進(jìn)行數(shù)據(jù)傳輸
數(shù)據(jù)傳輸?shù)倪^程包括應(yīng)用系統(tǒng)上傳數(shù)據(jù)和服務(wù)器接收數(shù)據(jù)并返回處理結(jié)果兩個部分。應(yīng)用系統(tǒng)對WebService的調(diào)用,是通過SOAP協(xié)議進(jìn)行的。簡單對象訪問協(xié)議(SOAP)提供了標(biāo)準(zhǔn)的遠(yuǎn)程過程調(diào)用(RPC)方法來調(diào)用WebService。而SOAP也是基于XML和XSD的,XML是SOAP的數(shù)據(jù)編碼方式,對WebService的調(diào)用也可以是跨平臺的。因此,這里應(yīng)用系統(tǒng)上傳數(shù)據(jù)時所調(diào)用Web服務(wù)可以來自J2EE的后臺系統(tǒng)。
系統(tǒng)通過調(diào)用以上WebService接口函數(shù)來與J2EE后臺系統(tǒng)傳輸數(shù)據(jù),只要網(wǎng)絡(luò)聯(lián)通并且所上傳的地址與數(shù)據(jù)結(jié)構(gòu)正確,程序就可以得到后臺系統(tǒng)的返回值。應(yīng)用系統(tǒng)再依據(jù)“ResultBean Array”這個返回數(shù)組里記載的每個物品“標(biāo)簽序列號”(TagID)所對應(yīng)的“序列號標(biāo)志位”(TagSign)和“生產(chǎn)廠家及貨物標(biāo)志位”(ProductionSign)的數(shù)值,來判斷這次通信是否成功以及其它信息。
最后,應(yīng)用系統(tǒng)根據(jù)返回信息以及業(yè)務(wù)需求來進(jìn)一步對物品標(biāo)簽信息行進(jìn)分析和處理。這樣一個RFID本地應(yīng)用系統(tǒng)通過Web服務(wù)上傳標(biāo)簽數(shù)據(jù)到后臺系統(tǒng)的整個過程就完成了。
4 結(jié)束語
RFID將物理世界與計算機(jī)世界集成在一起,還將網(wǎng)絡(luò)邊緣的硬件、嵌入式軟件及中間件與企業(yè)應(yīng)用系統(tǒng)聯(lián)系起來,完成了分布數(shù)據(jù)向企業(yè)應(yīng)用的集成,是IT技術(shù)的又一次延伸。將WebServices技術(shù)應(yīng)用于RFID系統(tǒng)的已經(jīng)被人們普遍認(rèn)同,在很多組織及研究部門的共同努力下這方面也取得了很大的進(jìn)展。本文對RFID應(yīng)用系統(tǒng)中使用Web服務(wù)來傳輸數(shù)據(jù),實現(xiàn)企業(yè)本地與后臺系統(tǒng)的聯(lián)通做了探討和簡單地實現(xiàn),這種方法可以用在各種不同的RFID應(yīng)用系統(tǒng)中,對于互聯(lián)網(wǎng)上的數(shù)據(jù)傳輸是一種非常有效的解決方案。
參考文獻(xiàn):
[1] EricArmstrong.JavaWebService教程[M].北京:電子工業(yè)出版社,2003.
[2] 趙慶.RFID技術(shù)應(yīng)用領(lǐng)域分析及展望[J].智能識別,2005(9):45.48.
[3] 蔣皓石,張成,林嘉宇.無線射頻識別技術(shù)原理及其應(yīng)用和發(fā)展趨勢[EB/OL].http://tech.rfidchina.org/rfid-info-3276-150.htm1.
[4] 李宏,李蘇劍,李蒙蒙.RFID在物流供應(yīng)鏈管理中的應(yīng)用[J].物流科技,2004,27(1 1):22.24.
[5] 趙毅強(qiáng),曾雋芳.WebServices在RFID系統(tǒng)中的應(yīng)用綜述[EB/OL].http://www.rfidworld.com.cn/jswk/news/2005829l91.htm.
[6] 石峰,馬鐳,王志君.RFID.物理世界與IT系統(tǒng)的橋梁[EB/OL].http://www.rfidworld.com.cn/tech/20065985514726.htm.
[7] Ashok Banerjee,Jefrey Flammer,Puneet Agarwa1.RFID技術(shù)挑戰(zhàn)和參考架構(gòu)[EB/OL].http://dev2dev.bea.com.cn/techdoc/2005l20601.htm1.
[8] 徐春金.RFID 項目常見問題分析[EB/OL].http://m.dsfdsv2d1.com/tech/20061O884O25788.htm.
[9] 劉艾秋.RFID數(shù)據(jù)高效管理七原則[EB/OL].http://www.rfidworld.com.cn/tech/20061O13ll734792.htm.