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

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

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

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

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

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