WebService經(jīng)由服務(wù)器發(fā)布后,應(yīng)用系統(tǒng)就可以訪問(wèn)這個(gè)服務(wù)了。
(2)服務(wù)發(fā)布后,應(yīng)用程序根據(jù)API接口來(lái)組織數(shù)據(jù)企業(yè)RFID應(yīng)用系統(tǒng)大多數(shù)是運(yùn)行在Windows系統(tǒng)下,因此這里的應(yīng)用系統(tǒng)也是Windows桌面程序,系統(tǒng)中需要有一個(gè)與Web服務(wù)連接功能的模塊。通過(guò)得到Web服務(wù)的WSDL文件,就可以來(lái)定義上傳數(shù)據(jù)的類(lèi)型和接口。這里用MicrosoRVisualStudioC++來(lái)編寫(xiě)Web服務(wù)的客戶端。
將WSDL通過(guò)工具轉(zhuǎn)換成VisualStudioC++可以引用的類(lèi)型為cpp和hpp的代理類(lèi)文件。會(huì)生成以下文件:“Upload.Bean.hpp”、“UploadBean.cpp”、ResultBean.hpp“、Result-Bean.cpp”、“Wslnterface.hpp”、“Wslnterface.cpp”。在程序的頭文件中引入代理類(lèi),編寫(xiě)上傳的數(shù)據(jù)的程序。如何組織和準(zhǔn)備數(shù)據(jù)部分就不敘述了,這里講一下比較關(guān)鍵的部分,就是調(diào)用代理類(lèi)中定義的上傳函數(shù)來(lái)進(jìn)行上傳數(shù)據(jù)的操作。在Wslnterface.hpp有這樣一個(gè)定義:
STORAGE_CLASS_INFOResultBean_Arrayputtaginfo(XSd_stringValue0,xsdstringValue1,XSd_longValue2,xsd_intValue3,xsd_intValue4);
這個(gè)名為“puttaginfo”的函數(shù)就是我們用來(lái)連接Web服務(wù)上傳數(shù)據(jù)的函數(shù),其中的參數(shù)(Value0,Value1)對(duì)應(yīng)的是上傳的用戶名和密碼,(Value2,Value3,Value4)對(duì)應(yīng)的分別是我們要上傳的“標(biāo)簽序列號(hào)(TagID)”、“貨物類(lèi)別代碼(ProductionID)”和“生產(chǎn)廠家代碼(FactoryID)”。同時(shí)這個(gè)函數(shù)還有返回值,返回一個(gè)“ResultBean_Array”的值,就是一個(gè)結(jié)果集數(shù)組,里面包含上面提到的一些處理結(jié)果。知道這個(gè)函數(shù)的定義后,在程序中就用這個(gè)函數(shù)來(lái)上傳數(shù)據(jù)。
(3)進(jìn)行數(shù)據(jù)傳輸
數(shù)據(jù)傳輸?shù)倪^(guò)程包括應(yīng)用系統(tǒng)上傳數(shù)據(jù)和服務(wù)器接收數(shù)據(jù)并返回處理結(jié)果兩個(gè)部分。應(yīng)用系統(tǒng)對(duì)WebService的調(diào)用,是通過(guò)SOAP協(xié)議進(jìn)行的。簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP)提供了標(biāo)準(zhǔn)的遠(yuǎn)程過(guò)程調(diào)用(RPC)方法來(lái)調(diào)用WebService。而SOAP也是基于XML和XSD的,XML是SOAP的數(shù)據(jù)編碼方式,對(duì)WebService的調(diào)用也可以是跨平臺(tái)的。因此,這里應(yīng)用系統(tǒng)上傳數(shù)據(jù)時(shí)所調(diào)用Web服務(wù)可以來(lái)自J2EE的后臺(tái)系統(tǒng)。
系統(tǒng)通過(guò)調(diào)用以上WebService接口函數(shù)來(lái)與J2EE后臺(tái)系統(tǒng)傳輸數(shù)據(jù),只要網(wǎng)絡(luò)聯(lián)通并且所上傳的地址與數(shù)據(jù)結(jié)構(gòu)正確,程序就可以得到后臺(tái)系統(tǒng)的返回值。應(yīng)用系統(tǒng)再依據(jù)“ResultBeanArray”這個(gè)返回?cái)?shù)組里記載的每個(gè)物品“標(biāo)簽序列號(hào)”(TagID)所對(duì)應(yīng)的“序列號(hào)標(biāo)志位”(TagSign)和“生產(chǎn)廠家及貨物標(biāo)志位”(ProductionSign)的數(shù)值,來(lái)判斷這次通信是否成功以及其它信息。
最后,應(yīng)用系統(tǒng)根據(jù)返回信息以及業(yè)務(wù)需求來(lái)進(jìn)一步對(duì)物品標(biāo)簽信息行進(jìn)分析和處理。這樣一個(gè)RFID本地應(yīng)用系統(tǒng)通過(guò)Web服務(wù)上傳標(biāo)簽數(shù)據(jù)到后臺(tái)系統(tǒng)的整個(gè)過(guò)程就完成了。
4結(jié)束語(yǔ)RFID將物理世界與計(jì)算機(jī)世界集成在一起,還將網(wǎng)絡(luò)邊緣的硬件、嵌入式軟件及中間件與企業(yè)應(yīng)用系統(tǒng)聯(lián)系起來(lái),完成了分布數(shù)據(jù)向企業(yè)應(yīng)用的集成,是IT技術(shù)的又一次延伸。將WebServices技術(shù)應(yīng)用于RFID系統(tǒng)的已經(jīng)被人們普遍認(rèn)同,在很多組織及研究部門(mén)的共同努力下這方面也取得了很大的進(jìn)展。本文對(duì)RFID應(yīng)用系統(tǒng)中使用Web服務(wù)來(lái)傳輸數(shù)據(jù),實(shí)現(xiàn)企業(yè)本地與后臺(tái)系統(tǒng)的聯(lián)通做了探討和簡(jiǎn)單地實(shí)現(xiàn),這種方法可以用在各種不同的RFID應(yīng)用系統(tǒng)中,對(duì)于互聯(lián)網(wǎng)上的數(shù)據(jù)傳輸是一種非常有效的解決方案。(來(lái)自互聯(lián)網(wǎng))
信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com