張建奇 岳 勇 鮑復民
(西安航天自動化股份有限公司1,陜西 西安 710065;西安科技大學計算機科學與技術(shù)學院2,陜西 西安 710054)
Windows通信基礎 (Windowscommunication foundation,WCF)是由微軟開發(fā)的一組數(shù)據(jù)通信應用程序開發(fā)接口[1],它是.NET框架的一部分,與 Windows presentation foundation、Windows workflow foundation以及Windows card space一同構(gòu)成.NET Framework四大體系框架。
射頻識別(radio frequency identification,RFID)是一種非接觸式的自動識別技術(shù),廣泛應用于物流管理、生產(chǎn)制造、航空軍事、身份標志等各個領域。
本文在充分分析工廠物流管理過程的基礎上,將RFID技術(shù)應用到工廠物流管理系統(tǒng)中,并結(jié)合微軟的WCF服務為系統(tǒng)提供全面的通信服務。這不僅保證了工廠物流管理系統(tǒng)數(shù)據(jù)通信的通暢,也保證了其運行的安全性和可靠性。
WCF是基于簡單對象訪問協(xié)議(simple object access protocol,SOAP)消息的分布式編程平臺,它為應用程序的開發(fā)提供了優(yōu)秀的安全性和可靠性保證。應用WCF的這些特性可以確保RFID工廠物流管理系統(tǒng)的可靠運作。
1.1.1 安全性
WCF 基于現(xiàn)有安全性基礎結(jié)構(gòu)和SOAP消息的安全標準,提供可互操作的安全消息交換通用平臺。WCF的安全機制體現(xiàn)在以下兩個方面。
①WCF身份驗證機制
WCF除了能很好地結(jié)合現(xiàn)有的Windows平臺上的身份驗證機制以外,還支持WS-security安全規(guī)范,以及用戶定制擴展驗證模式和安全令牌方式。WCF支持五種身份驗證機制:不需要進行身份驗證、使用用戶名和密碼進行身份驗證、使用Windows帳戶進行身份驗證、使用證書進行身份驗證、使用安全令牌進行身份驗證。
②WCF傳輸安全模式
WCF傳輸安全模式包含五種方式:不使用安全模式、傳輸安全模式、消息安全模式、混合傳輸和消息兩種模式、同時使用傳輸和消息兩種模式。
1.1.2 可靠性
WCF與其他面向服務技術(shù)(如ASP.NET、J2EE和Web Service技術(shù)等)之間的最大區(qū)別在于傳輸可靠性與消息可靠性。
傳輸可靠性(例如通過TCP傳輸)在網(wǎng)絡數(shù)據(jù)包層提供了點對點保證傳遞,以確保數(shù)據(jù)包的順序無誤。傳輸可靠性不會受到網(wǎng)絡連接的中斷或其他通信問題的影響。消息可靠性提供了端對端保證傳遞,以確保消息的順序無誤。消息可靠性與引入的中間方數(shù)量以及網(wǎng)絡跳數(shù)的數(shù)量都沒有關聯(lián)。
WCF是微軟建立的下一代分布式應用及面向服務架構(gòu)(service oriented architecture,SOA)的標準平臺,其整合了目前的分布式系統(tǒng)技術(shù),形成了一個統(tǒng)一、高效的服務開發(fā)平臺[2]。WCF不允許客戶端直接與服務交互,即使它調(diào)用的是本地機器內(nèi)存中的服務。相反,客戶端總是使用代理將調(diào)用轉(zhuǎn)發(fā)給服務[3]。代理公開的操作與服務相同,同時還增加了一些管理代理的方法,客戶端使用代理與服務的交互過程如圖1所示。

圖1 客戶端使用代理與服務的交互過程Fig.1 The interaction between clients using proxy service
WCF跨應用程序的調(diào)用過程如圖2所示。

圖2 WCF跨應用程序的調(diào)用過程Fig.2 The calling procedure of WCF cross-applications
WCF允許客戶端跨越執(zhí)行邊界與服務通信[4]。在同一臺機器中,客戶端可以調(diào)用同一個應用程序域中的服務,也可以在同一進程中跨應用程序域甚至跨進程調(diào)用,還可以跨機器邊界、跨平臺調(diào)用。
WCF所提供的安全性、可靠性以及其跨應用程序域、跨進程、跨機器邊界、跨平臺的特性,完全能夠滿足基于RFID工廠物流管理系統(tǒng)的設計要求,能夠確保各方面的技術(shù)指標。
RFID通過射頻信號空間耦合(交變磁場或電磁場)傳遞消息,以自動識別目標對象同時獲取相關數(shù)據(jù)。識別工作無需人工干預,可在各種惡劣環(huán)境工作。RFID技術(shù)可識別高速運動物體,并可同時識別多個標簽,操作快捷方便[5]。
完整的RFID系統(tǒng)由閱讀器(或稱詢問器)、應答器(或稱電子標簽TAG)及應用軟件系統(tǒng)三個部分組成。其工作原理是由閱讀器發(fā)射一特定頻率的無線電波,當應答器進入磁場,接收閱讀器發(fā)來的射頻信號,并憑借感應電流所獲得的能量發(fā)送出存儲在芯片中的信息,此時,閱讀器便依序接收數(shù)據(jù),并發(fā)送給應用程序作相應的處理。
目前,RFID可在低頻、高頻和超高頻等頻率范圍內(nèi)工作,如123 kHz、433 MHz、800/900 MHz和2.45 GHz這幾個典型射頻段[6]。由于工作頻段的不同,所要求的技術(shù)指標也有較大差異。在RFID工廠物流管理系統(tǒng)中,選用頻率范圍為902~928 MHz的超高頻,頻率可調(diào),讀寫距離大于3 m,可同時識別不小于50張卡,讀取時間小于3 s。RFID完全可以滿足以上設計要求。
RFID工廠物流管理系統(tǒng)的主要研究方向包括RFID物流感知、RFID生產(chǎn)物流數(shù)據(jù)采集和RFID庫存管理[7]。
系統(tǒng)選用的讀寫器均支持以太網(wǎng)通信,而且讀寫器與電子標簽之間的通信射頻頻率可調(diào),這樣可以避免與外界其他頻率重疊。RFID工廠物流管理系統(tǒng)架構(gòu)如圖3所示。

圖3 RFID工廠物流管理系統(tǒng)架構(gòu)Fig.3 Architecture of RFID logistics management system
根據(jù)實際的應用需要,RFID工廠物流管理系統(tǒng)可以劃分為工廠原材料的物流感知管理子系統(tǒng)、RFID生產(chǎn)物流數(shù)據(jù)采集子系統(tǒng)、RFID庫存管理子系統(tǒng)三部分,每一部分作為一個子系統(tǒng)存在。每個子系統(tǒng)既可獨立完成既定的任務,又能夠相互協(xié)調(diào)配合,共同實現(xiàn)主系統(tǒng)架構(gòu)下的實際應用,從而保證RFID工廠物流管理系統(tǒng)得以安全可靠地運作。
工廠原材料的物流感知管理子系統(tǒng)主要負責原材料標志和產(chǎn)品身份標志的管理。RFID生產(chǎn)物流數(shù)據(jù)采集子系統(tǒng)主要負責生產(chǎn)現(xiàn)場數(shù)據(jù)采集和生產(chǎn)巡檢工作。RFID庫存管理子系統(tǒng)主要負責入庫和出庫、盤點庫存、在制品的跟蹤與管理和倉庫設備的實時監(jiān)控等。三個子系統(tǒng)協(xié)同工作,共同實現(xiàn)RFID工廠物流管理系統(tǒng)的功能。
RFID工廠物流管理系統(tǒng)軟件采用分布式架構(gòu)方式,根據(jù)功能和位置的不同,分為服務器軟件(包含數(shù)據(jù)庫軟件)、客戶端軟件、驅(qū)動軟件三個部分。將服務器功能和硬件設備的品牌分開,采用模塊化方式組合,只需要更改驅(qū)動配置即可完成對子系統(tǒng)品牌的無縫更換。這一操作不依賴于設備硬件本身,與硬件無關,更換硬件本身不改變平臺的運行模式和程序代碼,只需要更換相應的驅(qū)動即可[8]。由于WCF本身架構(gòu)在分布式環(huán)境的基礎上,因此它對于開發(fā)分布式系統(tǒng)具有得天獨厚的優(yōu)勢[9]。無論是本地應用程序、遠程應用程序還是非Windows平臺下的應用程序,在請求WCF服務時,WCF都統(tǒng)一對待,經(jīng)由代理與服務器端交互,請求WCF服務。
3.2.1 MVC 三層架構(gòu)部署
模型-視圖-控制器(model view control,MVC)是一個設計模式,它強制性地將應用程序的輸入、處理和輸出分開。使用MVC的應用程序被分成模型、視圖、控制器三個核心部件,它們各自處理自己的任務[10]。
MVC設計模式框架如圖4所示。

圖4 MVC設計模式框架Fig.4 Framework of MVC design pattern
對于C/S模式,視圖部分主要用于客戶端實現(xiàn),能夠完成不同環(huán)境下的顯示,從而為客戶端用戶提供美觀的界面、流暢的操作和良好的體驗。
在服務器端,模型和控制器作為獨立的系統(tǒng)模塊來實現(xiàn)。服務器軟件是整個平臺的核心,部署在核心服務器中,以完成工廠物流系統(tǒng)的信息存儲、處理、篩選等工作。服務器軟件采用WCF開發(fā),采用TCP協(xié)議實現(xiàn)可靠連接,確保數(shù)據(jù)傳輸?shù)恼_性。使用雙向TCP綁定,使數(shù)據(jù)傳輸采用異步方式,從而最大程度地節(jié)省網(wǎng)絡帶寬,實現(xiàn)數(shù)據(jù)雙向傳遞。
采用標準MVC三層結(jié)構(gòu)開發(fā)應用,數(shù)據(jù)庫不對外開放,可增加系統(tǒng)的安全性、統(tǒng)一賬戶訪問數(shù)據(jù)庫、降低數(shù)據(jù)庫軟件的成本,同時滿足用戶需求。
3.2.2 WCF 服務模塊的實現(xiàn)
WCF服務模塊用于實現(xiàn)MVC框架下的模型和控制器,它運行在服務器端,是服務器軟件的核心部分。該模塊同時整合了業(yè)務邏輯層和數(shù)據(jù)訪問層的功能。WCF服務模塊主要提供設備管理、事務處理和數(shù)據(jù)三方面的服務,WCF服務模塊的實現(xiàn)如圖5所示。設備管理服務模塊提供對射頻讀寫器的服務支持,允許讀寫器的注冊、命令的發(fā)送和接收以及數(shù)據(jù)的傳輸。

圖5 WCF服務模塊的實現(xiàn)圖Fig.5 Implementation of WCF service module
事務處理服務模塊是WCF服務模塊的核心部分,其為工廠原材料的物流感知管理子系統(tǒng)、RFID生產(chǎn)物流數(shù)據(jù)采集子系統(tǒng)、RFID庫存管理子系統(tǒng)和其他上層應用軟件提供服務接口;同時,該模塊與設備管理服務模塊和數(shù)據(jù)服務模塊協(xié)同工作,完成操作請求任務。
數(shù)據(jù)服務模塊作為單獨存在的模塊,專門負責數(shù)據(jù)庫操作,并為事務處理服務模塊提供可靠的數(shù)據(jù)服務。
本文結(jié)合RFID的射頻傳輸特性和WCF的高安全性、可靠性,將WCF服務具體應用于基于RFID工廠物流管理系統(tǒng)中。WCF所具備的分布式特性極大地提升了該工廠物流管理系統(tǒng)的性能,同時WCF服務也為該系統(tǒng)的安全性和可靠性提供了有利保障。所實現(xiàn)的WCF服務模塊既為RFID讀寫器提供了接口,也為上層的服務模塊提供了統(tǒng)一的接口,在基于RFID工廠物流管理系統(tǒng)中取得了很好的應用效果。
[1]Lowy J.Programming WCF services[M].O’Reilly Media,Inc,2007.
[2]閆冰.基于WCF的分布式應用開發(fā)[J].電腦知識與技術(shù),2008(3):68-70.
[3]胡興梅,李玲.基于WCF的信息系統(tǒng)結(jié)構(gòu)模型與體系架構(gòu)的研究與設計[J].電腦知識與技術(shù),2009,22(5):6198 -6200.
[4]韓旭.WCF服務宿主遷移方案設計[J].電腦與信息技術(shù),2010,18(3):12 -14.
[5]蔣皓石,張成,林嘉宇.無線射頻識別技術(shù)及其應用和發(fā)展趨勢[J].電子技術(shù)應用,2005,31(5):1 -4.
[6]張揚奇,肖學福,高兵權(quán),等.現(xiàn)代物流中基于WCF的RFID物流中間件的研究[J].物流技術(shù),2010(226):110 -113.
[7]寧煥生,張瑜,李芳麗,等.中國物聯(lián)網(wǎng)信息服務系統(tǒng)研究[J].電子學報,2006,34(12A):2514 -2517.
[8]吳晞,馬瑞,李星光.RFID系統(tǒng)及其在圖書館中的應用[J].圖書館論壇,2005,25(1):4 -7.
[9]查先進,嚴亞蘭.物流信息系統(tǒng)[M].大連:東北財經(jīng)大學出版社,2005.
[10]趙麗娜.基于WCF三層架構(gòu)的物流行業(yè)解決方案的設計及實現(xiàn)[D].上海:華東師范大學,2008.