RFID應用系統通過Web服務傳輸數據的研究與實現
作者:華北計算技術研究所 蔣武洲
來源:RFID世界網
日期:2007-10-22 16:25:53
摘要:RFID技術由于自身的優勢已經越來越受到人們的重視,其應用系統也開始廣泛使用。在RFID應用系統中需要一種快捷有效的方式在互聯網上傳輸數據。研究了使用WebService技術提供不同平臺間的互聯,可以很好的解決RFID應用系統中對數據傳輸的需求,解決企業內部之間、不同企業之間的信息交互,使RFID應用系統更有效地運作。
0 引 言
無線射頻識別技術(RFID)作為一種新興的自動識別技術,近年來在國內外已經得到了迅速發展。它是具有精度高、適應環境能力強、抗干擾強、操作快捷等許多優點。Web Services(Web服務)也是近年來在信息領域備受關注的技術,互聯網通過WebServices技術可以跨越企業間的界限。RFID使得獲取物品信息更加簡便和靈活,商業應用系統采用此技術后可以更有效的掌握物品屬性以及流向等信息,這些數據通過互聯網就可以在不同的系統間傳遞,而WebServices技術能使網絡上不同端點更容易地共享實時數據和事務處理。因此RFID與Web Services的結合很有必要。
本文介紹RFID 系統的組成、工作原理和系統的應用情況,以及WebService的基本定義和組成。闡述了RFID與Web.Service結合的必要性。研究了RFID應用系統中使用WebService傳輸數據的過程,并介紹如何實現其功能。并對以上研究和實現進行總結。
1 基本概念
1.1 RFID系統組成、工作原理和應用前景
射頻識別技術(radio frequency identification,RFID)是自動識別技術的一種,即通過無線射頻方式進行非接觸雙向數據通信對目標加以識別。它相對于傳統的識別技術有非接觸式、可擦寫信息、更大的讀寫距離、大容量(相對條形碼)、無需人工干預即可完成信息輸入和處理、可多個識別、可工作于各種惡劣環境等突出優勢,能夠廣泛應用于生產、物流、交通、運輸、醫療、防偽、跟蹤、設備和資產管理等需要收集和處理數據的應用領域,并被認為是條形碼標簽的未來替代品。
RFID系統基本都由電子標簽Tag、閱讀器Reader和應用系統Processor這3大部分組成的。電子標簽具有智能讀寫和加密通信的功能,它是通過無線電波與讀寫設備進行數據交換,工作的能量是由閱讀器發出的射頻脈沖提供。標簽閱讀器可將主機的讀寫命令傳送到電子標簽,再把從主機發往電子標簽的數據加密,將電子標簽返回的數據解密后送到主機。數據交換與應用軟件主要完成數據信息的存儲及管理、對卡進行讀寫控制等。
RFID的基本工作原理(如圖1所示)是利用射頻信號和空間耦合(電感或電磁耦合)傳輸特性,實現對被識別物品的自動識別。標簽閱讀器發射電磁波,而此電磁波有其輻射范圍,當電子標簽進入此電磁波輻射范圍內,電子標簽將閱讀器所發射的微小電磁波能量存儲進而轉換成電路所需的電能,并且將存儲的識別資料以電磁波的方式傳送給閱讀器作確認及后續與應用軟件進行數據交換。
1.2 WebService概述和體系結構
Web Service是微軟提出的基于互聯網的開發模型,一經提出即收到業界的廣泛推從。體系結構描述,其定義為:Web Services是自包含的、模塊化的應用程序,它可以在網絡(通常為Web)中被描述、發布、查找以及調用。Web服務的一個主要思想,就是未來的應用將由一組應用了網絡的服務組合而成。Web Services體系結構是面向對象分析與設計(OOAD)的一種合理發展,同時也是電子商務解決方案中,面向體系結構、設計、實現與部署而采用的組件化的合理發展。下面就來看一下WebServices的體系結構一面向服務的體系結構(SOA)如圖2所示。
SOA體系結構中的組件必須具有上述一種或多種角色。在這些角色之間使用了3種操作:①Publish操作:使Service Provider可以向Service Broker注冊自己的功能及訪問接口。②Find操作:使Service Requester可以通過Service Broker查找特定種類的服務。③Bind操作:使Service Requester能夠真正使用Service Provider。
2 RFID和WebService的結合
由于RFID本身特點,在RFID的應用系統中的信息來源主要是每個單元物品信息對象,而物品數量眾多以及物品信息的多樣化,導致整個系統所要處理的數據量和數據形式大為增加,同時系統之間的信息交互和管理也更加復雜了。Web.Services技術是將一個現實世界映射到一組服務的集合上面,RFID數據大都是與現實物理世界的物體緊密相關,把對數據的處理功能以服務的形式進行提供,系統將部分功能交給Web服務來處理,將大大減輕了RFID應用系統對數據的管理與傳輸的負擔,減少系統本身的復雜性,讓系統只需處理部分功能,而其它的可以交給有實力和技術的Web服務提供商。同時由于Web服務的自身特點,和RFID應用相結合,可以做到與語言無關、協議無關、平臺無關。如果你有個應用程序通過Web服務發布,那么不僅僅是公司內部可用(可以是其它的C/S或者B/S的應用程序),其它連到lntemet上的公司也可以使用,屏蔽了不同語言之間的差異。因為底層是Http協議,所以可以輕松穿越企業防火墻,而且Web服務是運行在Internet上的,在世界任何地方都可輕易實現,這樣其運行成本就相對較低。
3 研究與實現
3.1 RFID應用系統結構與功能設計
本文涉及到RFID應用系統的數據流程大致如圖3所示。
RFID應用系統接收到標簽數據后,就可以根據需要對數據進行處理。同時為了能和本企業的中央后臺系統或其它企業系統交流信息,本地系統需要通過Web服務來進行互聯互通,大致步驟如下:①提供Web 服務的系統首先根據需求制定服務程序以及服務的對外訪問地址和接口;② 應用系統將需要上傳的信息組織好,通過wleb服務公布的地址以及交互API接口函數的規定,把數據發送給接受方;③ 接受方收到數據后進行相關處理,同時會返回給應用系統數據是否傳輸成功和處理后需返回的數據。
RFID應用系統的數據通過Web服務傳輸過程是本論文的重點,其實現過程在下節有具體描述。
3.2 系統中Web服務的實現過程
3.2.1 舉出實例及定義數據
這里舉一個Web服務的應用實例來進行說明其實現過程。將RFID標簽應用于工廠準備出庫的每一箱貨物上,通過讀寫機具把表1的信息寫入標簽中。
3.2.2 Web服務的實現
(1)根據需求生成Web服務
根據以上的需求,提供Web服務的服務商在服務器端編寫數據處理程序,并按照應用系統將上傳來的數據類型來定義Web服務的接口,并生成WSDL文件,來描述Web服務。WSDL(web servicedescriptionlanguage)既web服務器描述語言是用XML文檔來描述wleb服務的標準,是Web服務的接口定義語言。在WSDL文件中對數據和接口描述如下:


WebService經由服務器發布后,應用系統就可以訪問這個服務了。
(2)服務發布后,應用程序根據API接口來組織數據企業RFID應用系統大多數是運行在Windows系統下,因此這里的應用系統也是Windows桌面程序,系統中需要有一個與Web服務連接功能的模塊。通過得到Web服務的WSDL文件,就可以來定義上傳數據的類型和接口。這里用MicrosoR Visual Studio C++來編寫Web服務的客戶端。
將WSDL通過工具轉換成Visual Studio C++可以引用的類型為cpp和hpp的代理類文件。會生成以下文件:“Upload.Bean.hpp”、"UploadBean.cpp”、 ResultBean.hpp”、 Result-Bean.cpp”、“Wslnterface.hpp”、“Wslnterface.cpp”。在程序的頭文件中引入代理類,編寫上傳的數據的程序。如何組織和準備數據部分就不敘述了,這里講一下比較關鍵的部分,就是調用代理類中定義的上傳函數來進行上傳數據的操作。在Wslnterface.hpp有這樣一個定義:
STORAGE_CLASS_INFO ResultBean_Array puttaginfo(XSd_string Value0,xsd string Value1,XSd_long Value2,xsd_int Value3,xsd_ int Value4);
這個名為“puttaginfo”的函數就是我們用來連接Web服務上傳數據的函數,其中的參數(Value0,Value1)對應的是上傳的用戶名和密碼,(Value2,Value3,Value4)對應的分別是我們要上傳的“標簽序列號(TagID)”、“貨物類別代碼(ProductionID)”和“生產廠家代碼(Factory ID)”。同時這個函數還有返回值,返回一個“ResultBean_Array ”的值,就是一個結果集數組,里面包含上面提到的一些處理結果。知道這個函數的定義后,在程序中就用這個函數來上傳數據。
(3)進行數據傳輸
數據傳輸的過程包括應用系統上傳數據和服務器接收數據并返回處理結果兩個部分。應用系統對WebService的調用,是通過SOAP協議進行的。簡單對象訪問協議(SOAP)提供了標準的遠程過程調用(RPC)方法來調用WebService。而SOAP也是基于XML和XSD的,XML是SOAP的數據編碼方式,對WebService的調用也可以是跨平臺的。因此,這里應用系統上傳數據時所調用Web服務可以來自J2EE的后臺系統。
系統通過調用以上WebService接口函數來與J2EE后臺系統傳輸數據,只要網絡聯通并且所上傳的地址與數據結構正確,程序就可以得到后臺系統的返回值。應用系統再依據“ResultBean Array”這個返回數組里記載的每個物品“標簽序列號”(TagID)所對應的“序列號標志位”(TagSign)和“生產廠家及貨物標志位”(ProductionSign)的數值,來判斷這次通信是否成功以及其它信息。
最后,應用系統根據返回信息以及業務需求來進一步對物品標簽信息行進分析和處理。這樣一個RFID本地應用系統通過Web服務上傳標簽數據到后臺系統的整個過程就完成了。
4 結束語
RFID將物理世界與計算機世界集成在一起,還將網絡邊緣的硬件、嵌入式軟件及中間件與企業應用系統聯系起來,完成了分布數據向企業應用的集成,是IT技術的又一次延伸。將WebServices技術應用于RFID系統的已經被人們普遍認同,在很多組織及研究部門的共同努力下這方面也取得了很大的進展。本文對RFID應用系統中使用Web服務來傳輸數據,實現企業本地與后臺系統的聯通做了探討和簡單地實現,這種方法可以用在各種不同的RFID應用系統中,對于互聯網上的數據傳輸是一種非常有效的解決方案。
參考文獻:
[1] EricArmstrong.JavaWebService教程[M].北京:電子工業出版社,2003.
[2] 趙慶.RFID技術應用領域分析及展望[J].智能識別,2005(9):45.48.
[3] 蔣皓石,張成,林嘉宇.無線射頻識別技術原理及其應用和發展趨勢[EB/OL].http://tech.rfidchina.org/rfid-info-3276-150.htm1.
[4] 李宏,李蘇劍,李蒙蒙.RFID在物流供應鏈管理中的應用[J].物流科技,2004,27(1 1):22.24.
[5] 趙毅強,曾雋芳.WebServices在RFID系統中的應用綜述[EB/OL].http://www.rfidworld.com.cn/jswk/news/2005829l91.htm.
[6] 石峰,馬鐳,王志君.RFID.物理世界與IT系統的橋梁[EB/OL].http://www.rfidworld.com.cn/tech/20065985514726.htm.
[7] Ashok Banerjee,Jefrey Flammer,Puneet Agarwa1.RFID技術挑戰和參考架構[EB/OL].http://dev2dev.bea.com.cn/techdoc/2005l20601.htm1.
[8] 徐春金.RFID 項目常見問題分析[EB/OL].http://m.hnylx.com/tech/20061O884O25788.htm.
[9] 劉艾秋.RFID數據高效管理七原則[EB/OL].http://www.rfidworld.com.cn/tech/20061O13ll734792.htm.
無線射頻識別技術(RFID)作為一種新興的自動識別技術,近年來在國內外已經得到了迅速發展。它是具有精度高、適應環境能力強、抗干擾強、操作快捷等許多優點。Web Services(Web服務)也是近年來在信息領域備受關注的技術,互聯網通過WebServices技術可以跨越企業間的界限。RFID使得獲取物品信息更加簡便和靈活,商業應用系統采用此技術后可以更有效的掌握物品屬性以及流向等信息,這些數據通過互聯網就可以在不同的系統間傳遞,而WebServices技術能使網絡上不同端點更容易地共享實時數據和事務處理。因此RFID與Web Services的結合很有必要。
本文介紹RFID 系統的組成、工作原理和系統的應用情況,以及WebService的基本定義和組成。闡述了RFID與Web.Service結合的必要性。研究了RFID應用系統中使用WebService傳輸數據的過程,并介紹如何實現其功能。并對以上研究和實現進行總結。
1 基本概念
1.1 RFID系統組成、工作原理和應用前景
射頻識別技術(radio frequency identification,RFID)是自動識別技術的一種,即通過無線射頻方式進行非接觸雙向數據通信對目標加以識別。它相對于傳統的識別技術有非接觸式、可擦寫信息、更大的讀寫距離、大容量(相對條形碼)、無需人工干預即可完成信息輸入和處理、可多個識別、可工作于各種惡劣環境等突出優勢,能夠廣泛應用于生產、物流、交通、運輸、醫療、防偽、跟蹤、設備和資產管理等需要收集和處理數據的應用領域,并被認為是條形碼標簽的未來替代品。
RFID系統基本都由電子標簽Tag、閱讀器Reader和應用系統Processor這3大部分組成的。電子標簽具有智能讀寫和加密通信的功能,它是通過無線電波與讀寫設備進行數據交換,工作的能量是由閱讀器發出的射頻脈沖提供。標簽閱讀器可將主機的讀寫命令傳送到電子標簽,再把從主機發往電子標簽的數據加密,將電子標簽返回的數據解密后送到主機。數據交換與應用軟件主要完成數據信息的存儲及管理、對卡進行讀寫控制等。
RFID的基本工作原理(如圖1所示)是利用射頻信號和空間耦合(電感或電磁耦合)傳輸特性,實現對被識別物品的自動識別。標簽閱讀器發射電磁波,而此電磁波有其輻射范圍,當電子標簽進入此電磁波輻射范圍內,電子標簽將閱讀器所發射的微小電磁波能量存儲進而轉換成電路所需的電能,并且將存儲的識別資料以電磁波的方式傳送給閱讀器作確認及后續與應用軟件進行數據交換。

1.2 WebService概述和體系結構
Web Service是微軟提出的基于互聯網的開發模型,一經提出即收到業界的廣泛推從。體系結構描述,其定義為:Web Services是自包含的、模塊化的應用程序,它可以在網絡(通常為Web)中被描述、發布、查找以及調用。Web服務的一個主要思想,就是未來的應用將由一組應用了網絡的服務組合而成。Web Services體系結構是面向對象分析與設計(OOAD)的一種合理發展,同時也是電子商務解決方案中,面向體系結構、設計、實現與部署而采用的組件化的合理發展。下面就來看一下WebServices的體系結構一面向服務的體系結構(SOA)如圖2所示。

SOA體系結構中的組件必須具有上述一種或多種角色。在這些角色之間使用了3種操作:①Publish操作:使Service Provider可以向Service Broker注冊自己的功能及訪問接口。②Find操作:使Service Requester可以通過Service Broker查找特定種類的服務。③Bind操作:使Service Requester能夠真正使用Service Provider。
2 RFID和WebService的結合
由于RFID本身特點,在RFID的應用系統中的信息來源主要是每個單元物品信息對象,而物品數量眾多以及物品信息的多樣化,導致整個系統所要處理的數據量和數據形式大為增加,同時系統之間的信息交互和管理也更加復雜了。Web.Services技術是將一個現實世界映射到一組服務的集合上面,RFID數據大都是與現實物理世界的物體緊密相關,把對數據的處理功能以服務的形式進行提供,系統將部分功能交給Web服務來處理,將大大減輕了RFID應用系統對數據的管理與傳輸的負擔,減少系統本身的復雜性,讓系統只需處理部分功能,而其它的可以交給有實力和技術的Web服務提供商。同時由于Web服務的自身特點,和RFID應用相結合,可以做到與語言無關、協議無關、平臺無關。如果你有個應用程序通過Web服務發布,那么不僅僅是公司內部可用(可以是其它的C/S或者B/S的應用程序),其它連到lntemet上的公司也可以使用,屏蔽了不同語言之間的差異。因為底層是Http協議,所以可以輕松穿越企業防火墻,而且Web服務是運行在Internet上的,在世界任何地方都可輕易實現,這樣其運行成本就相對較低。
3 研究與實現
3.1 RFID應用系統結構與功能設計
本文涉及到RFID應用系統的數據流程大致如圖3所示。

RFID應用系統接收到標簽數據后,就可以根據需要對數據進行處理。同時為了能和本企業的中央后臺系統或其它企業系統交流信息,本地系統需要通過Web服務來進行互聯互通,大致步驟如下:①提供Web 服務的系統首先根據需求制定服務程序以及服務的對外訪問地址和接口;② 應用系統將需要上傳的信息組織好,通過wleb服務公布的地址以及交互API接口函數的規定,把數據發送給接受方;③ 接受方收到數據后進行相關處理,同時會返回給應用系統數據是否傳輸成功和處理后需返回的數據。
RFID應用系統的數據通過Web服務傳輸過程是本論文的重點,其實現過程在下節有具體描述。
3.2 系統中Web服務的實現過程
3.2.1 舉出實例及定義數據
這里舉一個Web服務的應用實例來進行說明其實現過程。將RFID標簽應用于工廠準備出庫的每一箱貨物上,通過讀寫機具把表1的信息寫入標簽中。



3.2.2 Web服務的實現
(1)根據需求生成Web服務
根據以上的需求,提供Web服務的服務商在服務器端編寫數據處理程序,并按照應用系統將上傳來的數據類型來定義Web服務的接口,并生成WSDL文件,來描述Web服務。WSDL(web servicedescriptionlanguage)既web服務器描述語言是用XML文檔來描述wleb服務的標準,是Web服務的接口定義語言。在WSDL文件中對數據和接口描述如下:


WebService經由服務器發布后,應用系統就可以訪問這個服務了。
(2)服務發布后,應用程序根據API接口來組織數據企業RFID應用系統大多數是運行在Windows系統下,因此這里的應用系統也是Windows桌面程序,系統中需要有一個與Web服務連接功能的模塊。通過得到Web服務的WSDL文件,就可以來定義上傳數據的類型和接口。這里用MicrosoR Visual Studio C++來編寫Web服務的客戶端。
將WSDL通過工具轉換成Visual Studio C++可以引用的類型為cpp和hpp的代理類文件。會生成以下文件:“Upload.Bean.hpp”、"UploadBean.cpp”、 ResultBean.hpp”、 Result-Bean.cpp”、“Wslnterface.hpp”、“Wslnterface.cpp”。在程序的頭文件中引入代理類,編寫上傳的數據的程序。如何組織和準備數據部分就不敘述了,這里講一下比較關鍵的部分,就是調用代理類中定義的上傳函數來進行上傳數據的操作。在Wslnterface.hpp有這樣一個定義:
STORAGE_CLASS_INFO ResultBean_Array puttaginfo(XSd_string Value0,xsd string Value1,XSd_long Value2,xsd_int Value3,xsd_ int Value4);
這個名為“puttaginfo”的函數就是我們用來連接Web服務上傳數據的函數,其中的參數(Value0,Value1)對應的是上傳的用戶名和密碼,(Value2,Value3,Value4)對應的分別是我們要上傳的“標簽序列號(TagID)”、“貨物類別代碼(ProductionID)”和“生產廠家代碼(Factory ID)”。同時這個函數還有返回值,返回一個“ResultBean_Array ”的值,就是一個結果集數組,里面包含上面提到的一些處理結果。知道這個函數的定義后,在程序中就用這個函數來上傳數據。
(3)進行數據傳輸
數據傳輸的過程包括應用系統上傳數據和服務器接收數據并返回處理結果兩個部分。應用系統對WebService的調用,是通過SOAP協議進行的。簡單對象訪問協議(SOAP)提供了標準的遠程過程調用(RPC)方法來調用WebService。而SOAP也是基于XML和XSD的,XML是SOAP的數據編碼方式,對WebService的調用也可以是跨平臺的。因此,這里應用系統上傳數據時所調用Web服務可以來自J2EE的后臺系統。
系統通過調用以上WebService接口函數來與J2EE后臺系統傳輸數據,只要網絡聯通并且所上傳的地址與數據結構正確,程序就可以得到后臺系統的返回值。應用系統再依據“ResultBean Array”這個返回數組里記載的每個物品“標簽序列號”(TagID)所對應的“序列號標志位”(TagSign)和“生產廠家及貨物標志位”(ProductionSign)的數值,來判斷這次通信是否成功以及其它信息。
最后,應用系統根據返回信息以及業務需求來進一步對物品標簽信息行進分析和處理。這樣一個RFID本地應用系統通過Web服務上傳標簽數據到后臺系統的整個過程就完成了。
4 結束語
RFID將物理世界與計算機世界集成在一起,還將網絡邊緣的硬件、嵌入式軟件及中間件與企業應用系統聯系起來,完成了分布數據向企業應用的集成,是IT技術的又一次延伸。將WebServices技術應用于RFID系統的已經被人們普遍認同,在很多組織及研究部門的共同努力下這方面也取得了很大的進展。本文對RFID應用系統中使用Web服務來傳輸數據,實現企業本地與后臺系統的聯通做了探討和簡單地實現,這種方法可以用在各種不同的RFID應用系統中,對于互聯網上的數據傳輸是一種非常有效的解決方案。
參考文獻:
[1] EricArmstrong.JavaWebService教程[M].北京:電子工業出版社,2003.
[2] 趙慶.RFID技術應用領域分析及展望[J].智能識別,2005(9):45.48.
[3] 蔣皓石,張成,林嘉宇.無線射頻識別技術原理及其應用和發展趨勢[EB/OL].http://tech.rfidchina.org/rfid-info-3276-150.htm1.
[4] 李宏,李蘇劍,李蒙蒙.RFID在物流供應鏈管理中的應用[J].物流科技,2004,27(1 1):22.24.
[5] 趙毅強,曾雋芳.WebServices在RFID系統中的應用綜述[EB/OL].http://www.rfidworld.com.cn/jswk/news/2005829l91.htm.
[6] 石峰,馬鐳,王志君.RFID.物理世界與IT系統的橋梁[EB/OL].http://www.rfidworld.com.cn/tech/20065985514726.htm.
[7] Ashok Banerjee,Jefrey Flammer,Puneet Agarwa1.RFID技術挑戰和參考架構[EB/OL].http://dev2dev.bea.com.cn/techdoc/2005l20601.htm1.
[8] 徐春金.RFID 項目常見問題分析[EB/OL].http://m.hnylx.com/tech/20061O884O25788.htm.
[9] 劉艾秋.RFID數據高效管理七原則[EB/OL].http://www.rfidworld.com.cn/tech/20061O13ll734792.htm.