張建奇 岳 勇 鮑復(fù)民
(西安航天自動(dòng)化股份有限公司1,陜西 西安 710065;西安科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院2,陜西 西安 710054)
Windows通信基礎(chǔ) (Windowscommunication foundation,WCF)是由微軟開(kāi)發(fā)的一組數(shù)據(jù)通信應(yīng)用程序開(kāi)發(fā)接口[1],它是.NET框架的一部分,與 Windows presentation foundation、Windows workflow foundation以及Windows card space一同構(gòu)成.NET Framework四大體系框架。
射頻識(shí)別(radio frequency identification,RFID)是一種非接觸式的自動(dòng)識(shí)別技術(shù),廣泛應(yīng)用于物流管理、生產(chǎn)制造、航空軍事、身份標(biāo)志等各個(gè)領(lǐng)域。
本文在充分分析工廠物流管理過(guò)程的基礎(chǔ)上,將RFID技術(shù)應(yīng)用到工廠物流管理系統(tǒng)中,并結(jié)合微軟的WCF服務(wù)為系統(tǒng)提供全面的通信服務(wù)。這不僅保證了工廠物流管理系統(tǒng)數(shù)據(jù)通信的通暢,也保證了其運(yùn)行的安全性和可靠性。
WCF是基于簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(simple object access protocol,SOAP)消息的分布式編程平臺(tái),它為應(yīng)用程序的開(kāi)發(fā)提供了優(yōu)秀的安全性和可靠性保證。應(yīng)用WCF的這些特性可以確保RFID工廠物流管理系統(tǒng)的可靠運(yùn)作。
1.1.1 安全性
WCF 基于現(xiàn)有安全性基礎(chǔ)結(jié)構(gòu)和SOAP消息的安全標(biāo)準(zhǔn),提供可互操作的安全消息交換通用平臺(tái)。WCF的安全機(jī)制體現(xiàn)在以下兩個(gè)方面。
①WCF身份驗(yàn)證機(jī)制
WCF除了能很好地結(jié)合現(xiàn)有的Windows平臺(tái)上的身份驗(yàn)證機(jī)制以外,還支持WS-security安全規(guī)范,以及用戶(hù)定制擴(kuò)展驗(yàn)證模式和安全令牌方式。WCF支持五種身份驗(yàn)證機(jī)制:不需要進(jìn)行身份驗(yàn)證、使用用戶(hù)名和密碼進(jìn)行身份驗(yàn)證、使用Windows帳戶(hù)進(jìn)行身份驗(yàn)證、使用證書(shū)進(jìn)行身份驗(yàn)證、使用安全令牌進(jìn)行身份驗(yàn)證。
②WCF傳輸安全模式
WCF傳輸安全模式包含五種方式:不使用安全模式、傳輸安全模式、消息安全模式、混合傳輸和消息兩種模式、同時(shí)使用傳輸和消息兩種模式。
1.1.2 可靠性
WCF與其他面向服務(wù)技術(shù)(如ASP.NET、J2EE和Web Service技術(shù)等)之間的最大區(qū)別在于傳輸可靠性與消息可靠性。
傳輸可靠性(例如通過(guò)TCP傳輸)在網(wǎng)絡(luò)數(shù)據(jù)包層提供了點(diǎn)對(duì)點(diǎn)保證傳遞,以確保數(shù)據(jù)包的順序無(wú)誤。傳輸可靠性不會(huì)受到網(wǎng)絡(luò)連接的中斷或其他通信問(wèn)題的影響。消息可靠性提供了端對(duì)端保證傳遞,以確保消息的順序無(wú)誤。消息可靠性與引入的中間方數(shù)量以及網(wǎng)絡(luò)跳數(shù)的數(shù)量都沒(méi)有關(guān)聯(lián)。
WCF是微軟建立的下一代分布式應(yīng)用及面向服務(wù)架構(gòu)(service oriented architecture,SOA)的標(biāo)準(zhǔn)平臺(tái),其整合了目前的分布式系統(tǒng)技術(shù),形成了一個(gè)統(tǒng)一、高效的服務(wù)開(kāi)發(fā)平臺(tái)[2]。WCF不允許客戶(hù)端直接與服務(wù)交互,即使它調(diào)用的是本地機(jī)器內(nèi)存中的服務(wù)。相反,客戶(hù)端總是使用代理將調(diào)用轉(zhuǎn)發(fā)給服務(wù)[3]。代理公開(kāi)的操作與服務(wù)相同,同時(shí)還增加了一些管理代理的方法,客戶(hù)端使用代理與服務(wù)的交互過(guò)程如圖1所示。
圖1 客戶(hù)端使用代理與服務(wù)的交互過(guò)程Fig.1 The interaction between clients using proxy service
WCF跨應(yīng)用程序的調(diào)用過(guò)程如圖2所示。
圖2 WCF跨應(yīng)用程序的調(diào)用過(guò)程Fig.2 The calling procedure of WCF cross-applications
WCF允許客戶(hù)端跨越執(zhí)行邊界與服務(wù)通信[4]。在同一臺(tái)機(jī)器中,客戶(hù)端可以調(diào)用同一個(gè)應(yīng)用程序域中的服務(wù),也可以在同一進(jìn)程中跨應(yīng)用程序域甚至跨進(jìn)程調(diào)用,還可以跨機(jī)器邊界、跨平臺(tái)調(diào)用。
WCF所提供的安全性、可靠性以及其跨應(yīng)用程序域、跨進(jìn)程、跨機(jī)器邊界、跨平臺(tái)的特性,完全能夠滿(mǎn)足基于RFID工廠物流管理系統(tǒng)的設(shè)計(jì)要求,能夠確保各方面的技術(shù)指標(biāo)。
RFID通過(guò)射頻信號(hào)空間耦合(交變磁場(chǎng)或電磁場(chǎng))傳遞消息,以自動(dòng)識(shí)別目標(biāo)對(duì)象同時(shí)獲取相關(guān)數(shù)據(jù)。識(shí)別工作無(wú)需人工干預(yù),可在各種惡劣環(huán)境工作。RFID技術(shù)可識(shí)別高速運(yùn)動(dòng)物體,并可同時(shí)識(shí)別多個(gè)標(biāo)簽,操作快捷方便[5]。
完整的RFID系統(tǒng)由閱讀器(或稱(chēng)詢(xún)問(wèn)器)、應(yīng)答器(或稱(chēng)電子標(biāo)簽TAG)及應(yīng)用軟件系統(tǒng)三個(gè)部分組成。其工作原理是由閱讀器發(fā)射一特定頻率的無(wú)線電波,當(dāng)應(yīng)答器進(jìn)入磁場(chǎng),接收閱讀器發(fā)來(lái)的射頻信號(hào),并憑借感應(yīng)電流所獲得的能量發(fā)送出存儲(chǔ)在芯片中的信息,此時(shí),閱讀器便依序接收數(shù)據(jù),并發(fā)送給應(yīng)用程序作相應(yīng)的處理。
目前,RFID可在低頻、高頻和超高頻等頻率范圍內(nèi)工作,如123 kHz、433 MHz、800/900 MHz和2.45 GHz這幾個(gè)典型射頻段[6]。由于工作頻段的不同,所要求的技術(shù)指標(biāo)也有較大差異。在RFID工廠物流管理系統(tǒng)中,選用頻率范圍為902~928 MHz的超高頻,頻率可調(diào),讀寫(xiě)距離大于3 m,可同時(shí)識(shí)別不小于50張卡,讀取時(shí)間小于3 s。RFID完全可以滿(mǎn)足以上設(shè)計(jì)要求。
RFID工廠物流管理系統(tǒng)的主要研究方向包括RFID物流感知、RFID生產(chǎn)物流數(shù)據(jù)采集和RFID庫(kù)存管理[7]。
系統(tǒng)選用的讀寫(xiě)器均支持以太網(wǎng)通信,而且讀寫(xiě)器與電子標(biāo)簽之間的通信射頻頻率可調(diào),這樣可以避免與外界其他頻率重疊。RFID工廠物流管理系統(tǒng)架構(gòu)如圖3所示。
圖3 RFID工廠物流管理系統(tǒng)架構(gòu)Fig.3 Architecture of RFID logistics management system
根據(jù)實(shí)際的應(yīng)用需要,RFID工廠物流管理系統(tǒng)可以劃分為工廠原材料的物流感知管理子系統(tǒng)、RFID生產(chǎn)物流數(shù)據(jù)采集子系統(tǒng)、RFID庫(kù)存管理子系統(tǒng)三部分,每一部分作為一個(gè)子系統(tǒng)存在。每個(gè)子系統(tǒng)既可獨(dú)立完成既定的任務(wù),又能夠相互協(xié)調(diào)配合,共同實(shí)現(xiàn)主系統(tǒng)架構(gòu)下的實(shí)際應(yīng)用,從而保證RFID工廠物流管理系統(tǒng)得以安全可靠地運(yùn)作。
工廠原材料的物流感知管理子系統(tǒng)主要負(fù)責(zé)原材料標(biāo)志和產(chǎn)品身份標(biāo)志的管理。RFID生產(chǎn)物流數(shù)據(jù)采集子系統(tǒng)主要負(fù)責(zé)生產(chǎn)現(xiàn)場(chǎng)數(shù)據(jù)采集和生產(chǎn)巡檢工作。RFID庫(kù)存管理子系統(tǒng)主要負(fù)責(zé)入庫(kù)和出庫(kù)、盤(pán)點(diǎn)庫(kù)存、在制品的跟蹤與管理和倉(cāng)庫(kù)設(shè)備的實(shí)時(shí)監(jiān)控等。三個(gè)子系統(tǒng)協(xié)同工作,共同實(shí)現(xiàn)RFID工廠物流管理系統(tǒng)的功能。
RFID工廠物流管理系統(tǒng)軟件采用分布式架構(gòu)方式,根據(jù)功能和位置的不同,分為服務(wù)器軟件(包含數(shù)據(jù)庫(kù)軟件)、客戶(hù)端軟件、驅(qū)動(dòng)軟件三個(gè)部分。將服務(wù)器功能和硬件設(shè)備的品牌分開(kāi),采用模塊化方式組合,只需要更改驅(qū)動(dòng)配置即可完成對(duì)子系統(tǒng)品牌的無(wú)縫更換。這一操作不依賴(lài)于設(shè)備硬件本身,與硬件無(wú)關(guān),更換硬件本身不改變平臺(tái)的運(yùn)行模式和程序代碼,只需要更換相應(yīng)的驅(qū)動(dòng)即可[8]。由于WCF本身架構(gòu)在分布式環(huán)境的基礎(chǔ)上,因此它對(duì)于開(kāi)發(fā)分布式系統(tǒng)具有得天獨(dú)厚的優(yōu)勢(shì)[9]。無(wú)論是本地應(yīng)用程序、遠(yuǎn)程應(yīng)用程序還是非Windows平臺(tái)下的應(yīng)用程序,在請(qǐng)求WCF服務(wù)時(shí),WCF都統(tǒng)一對(duì)待,經(jīng)由代理與服務(wù)器端交互,請(qǐng)求WCF服務(wù)。
3.2.1 MVC 三層架構(gòu)部署
模型-視圖-控制器(model view control,MVC)是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性地將應(yīng)用程序的輸入、處理和輸出分開(kāi)。使用MVC的應(yīng)用程序被分成模型、視圖、控制器三個(gè)核心部件,它們各自處理自己的任務(wù)[10]。
MVC設(shè)計(jì)模式框架如圖4所示。
圖4 MVC設(shè)計(jì)模式框架Fig.4 Framework of MVC design pattern
對(duì)于C/S模式,視圖部分主要用于客戶(hù)端實(shí)現(xiàn),能夠完成不同環(huán)境下的顯示,從而為客戶(hù)端用戶(hù)提供美觀的界面、流暢的操作和良好的體驗(yàn)。
在服務(wù)器端,模型和控制器作為獨(dú)立的系統(tǒng)模塊來(lái)實(shí)現(xiàn)。服務(wù)器軟件是整個(gè)平臺(tái)的核心,部署在核心服務(wù)器中,以完成工廠物流系統(tǒng)的信息存儲(chǔ)、處理、篩選等工作。服務(wù)器軟件采用WCF開(kāi)發(fā),采用TCP協(xié)議實(shí)現(xiàn)可靠連接,確保數(shù)據(jù)傳輸?shù)恼_性。使用雙向TCP綁定,使數(shù)據(jù)傳輸采用異步方式,從而最大程度地節(jié)省網(wǎng)絡(luò)帶寬,實(shí)現(xiàn)數(shù)據(jù)雙向傳遞。
采用標(biāo)準(zhǔn)MVC三層結(jié)構(gòu)開(kāi)發(fā)應(yīng)用,數(shù)據(jù)庫(kù)不對(duì)外開(kāi)放,可增加系統(tǒng)的安全性、統(tǒng)一賬戶(hù)訪問(wèn)數(shù)據(jù)庫(kù)、降低數(shù)據(jù)庫(kù)軟件的成本,同時(shí)滿(mǎn)足用戶(hù)需求。
3.2.2 WCF 服務(wù)模塊的實(shí)現(xiàn)
WCF服務(wù)模塊用于實(shí)現(xiàn)MVC框架下的模型和控制器,它運(yùn)行在服務(wù)器端,是服務(wù)器軟件的核心部分。該模塊同時(shí)整合了業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層的功能。WCF服務(wù)模塊主要提供設(shè)備管理、事務(wù)處理和數(shù)據(jù)三方面的服務(wù),WCF服務(wù)模塊的實(shí)現(xiàn)如圖5所示。設(shè)備管理服務(wù)模塊提供對(duì)射頻讀寫(xiě)器的服務(wù)支持,允許讀寫(xiě)器的注冊(cè)、命令的發(fā)送和接收以及數(shù)據(jù)的傳輸。
圖5 WCF服務(wù)模塊的實(shí)現(xiàn)圖Fig.5 Implementation of WCF service module
事務(wù)處理服務(wù)模塊是WCF服務(wù)模塊的核心部分,其為工廠原材料的物流感知管理子系統(tǒng)、RFID生產(chǎn)物流數(shù)據(jù)采集子系統(tǒng)、RFID庫(kù)存管理子系統(tǒng)和其他上層應(yīng)用軟件提供服務(wù)接口;同時(shí),該模塊與設(shè)備管理服務(wù)模塊和數(shù)據(jù)服務(wù)模塊協(xié)同工作,完成操作請(qǐng)求任務(wù)。
數(shù)據(jù)服務(wù)模塊作為單獨(dú)存在的模塊,專(zhuān)門(mén)負(fù)責(zé)數(shù)據(jù)庫(kù)操作,并為事務(wù)處理服務(wù)模塊提供可靠的數(shù)據(jù)服務(wù)。
本文結(jié)合RFID的射頻傳輸特性和WCF的高安全性、可靠性,將WCF服務(wù)具體應(yīng)用于基于RFID工廠物流管理系統(tǒng)中。WCF所具備的分布式特性極大地提升了該工廠物流管理系統(tǒng)的性能,同時(shí)WCF服務(wù)也為該系統(tǒng)的安全性和可靠性提供了有利保障。所實(shí)現(xiàn)的WCF服務(wù)模塊既為RFID讀寫(xiě)器提供了接口,也為上層的服務(wù)模塊提供了統(tǒng)一的接口,在基于RFID工廠物流管理系統(tǒng)中取得了很好的應(yīng)用效果。
[1]Lowy J.Programming WCF services[M].O’Reilly Media,Inc,2007.
[2]閆冰.基于WCF的分布式應(yīng)用開(kāi)發(fā)[J].電腦知識(shí)與技術(shù),2008(3):68-70.
[3]胡興梅,李玲.基于WCF的信息系統(tǒng)結(jié)構(gòu)模型與體系架構(gòu)的研究與設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2009,22(5):6198 -6200.
[4]韓旭.WCF服務(wù)宿主遷移方案設(shè)計(jì)[J].電腦與信息技術(shù),2010,18(3):12 -14.
[5]蔣皓石,張成,林嘉宇.無(wú)線射頻識(shí)別技術(shù)及其應(yīng)用和發(fā)展趨勢(shì)[J].電子技術(shù)應(yīng)用,2005,31(5):1 -4.
[6]張揚(yáng)奇,肖學(xué)福,高兵權(quán),等.現(xiàn)代物流中基于WCF的RFID物流中間件的研究[J].物流技術(shù),2010(226):110 -113.
[7]寧煥生,張瑜,李芳麗,等.中國(guó)物聯(lián)網(wǎng)信息服務(wù)系統(tǒng)研究[J].電子學(xué)報(bào),2006,34(12A):2514 -2517.
[8]吳晞,馬瑞,李星光.RFID系統(tǒng)及其在圖書(shū)館中的應(yīng)用[J].圖書(shū)館論壇,2005,25(1):4 -7.
[9]查先進(jìn),嚴(yán)亞蘭.物流信息系統(tǒng)[M].大連:東北財(cái)經(jīng)大學(xué)出版社,2005.
[10]趙麗娜.基于WCF三層架構(gòu)的物流行業(yè)解決方案的設(shè)計(jì)及實(shí)現(xiàn)[D].上海:華東師范大學(xué),2008.