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