王德廣,石華,周志剛,王超
目前,大連船舶重工有限公司一工廠鋼板庫的倉庫管理員主要采取手工方式記錄并管理鋼板信息。為了避免人為操作誤差、保證鋼板及時順利的進(jìn)行入庫、倒庫、盤點(diǎn)和出庫等操作,本文提出了一種在WLAN中利用掌上電腦(也有稱之為PDA-Personal Digital Assistant)對鋼板信息進(jìn)行采集和管理的系統(tǒng),通過無線的方式實(shí)現(xiàn)了鋼板信息的錄入、移動存儲、實(shí)時交互。
本系統(tǒng)使用的PDA型號為MC3000,內(nèi)嵌了Windows Mobile系統(tǒng),同時配備了一維(1D)激光和二維(2D)成像掃描功能,實(shí)現(xiàn)了Web Service和PDA之間的互操作,同時成功的嵌入掃描條形碼的技術(shù),實(shí)現(xiàn)無縫集成。
為了滿足生產(chǎn)過程的自動化和集成化的要求,達(dá)到使用PDA實(shí)時的監(jiān)控鋼板庫現(xiàn)場的目的,采用基于PDA與Web Service的鋼板信息管理系統(tǒng),主要包括3個部分:PDA、無線AP、Web Service。其架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)
基于PDA與Web Service的鋼板信息管理系統(tǒng)的運(yùn)行過程如下:用戶手持PDA掃描鋼板上的條形碼,PDA利用其的無線收發(fā)功能,通過 WLAN將鋼板信息實(shí)時傳到 Web Service端,對數(shù)據(jù)庫進(jìn)行操作,并將操作結(jié)果實(shí)時顯示在PDA上。
權(quán)限高的用戶可以手工錄入到貨清單信息,所有用戶都可以實(shí)現(xiàn)對鋼板入庫、倒庫、盤點(diǎn)、出庫操作。
文獻(xiàn)[1,2]從面向應(yīng)用的角度, 描述了Web 服務(wù)的基本架構(gòu)。該架構(gòu)由3 個參與者和3 個基本操作構(gòu)成。3 個參與者分別是服務(wù)提供者、服務(wù)請求者和服務(wù)代理,而3 個基本操作分別為發(fā)布(publish)、查找(find)和綁定(bind)。Web 服務(wù)基本架構(gòu)如圖2 所示。服務(wù)提供者將其服務(wù)發(fā)布到服務(wù)代理的一個目錄上;當(dāng)服務(wù)請求者需要調(diào)用該服務(wù)時,他首先利用服務(wù)代理提供的目錄去搜索該服務(wù),得到如何調(diào)用該服務(wù)的信息;然后根據(jù)這些信息去調(diào)用服務(wù)提供者發(fā)布的服務(wù)。當(dāng)服務(wù)請求者從服務(wù)代理得到調(diào)用所需服務(wù)的信息之后,通信是在服務(wù)請求者和提供者之間直接進(jìn)行,而無須經(jīng)過服務(wù)代理。Web 服務(wù)體系使用一系列標(biāo)準(zhǔn)和協(xié)議實(shí)現(xiàn)相關(guān)的功能[3]。
圖2 Web Service基本構(gòu)架
Web Service的宗旨是創(chuàng)建不需要用戶界面就能與其他應(yīng)用程序交互的Web應(yīng)用程序。它是松耦合的,并與服務(wù)器端和客戶端所使用的操作系統(tǒng)、編程語言都無關(guān),這樣就在一定的情況下大大提高了效率。但創(chuàng)建Web服務(wù)必須保證的是:服務(wù)器端和客戶端都要支持行業(yè)標(biāo)準(zhǔn)協(xié)議HTTP、SOAP(Simple Object Access Protocal 簡單對象訪問協(xié)議)和XML。
在本系統(tǒng)的軟件設(shè)計中,必須解決兩個關(guān)鍵技術(shù)問題,一是嵌入PDA的條碼掃描功能及在屏幕的指定區(qū)域顯示條碼;二是PDA(即客戶端)在WLAN中通過無線AP連接到Web Service端,實(shí)現(xiàn)客戶端與后臺數(shù)據(jù)庫服務(wù)器的連接,完成對鋼板信息的實(shí)時傳輸與操作。
2.1.1 條碼的獲取與顯示
PDA條碼掃描由3部分組成:初始化條碼,讀取條碼信息,顯示條碼。
具體工作流程如下:PDA通過Scan端口將掃描到的條碼做簡單的判斷后,初始化所采集到的條碼信息(即將不同類型的條碼規(guī)范化)。具有掃描功能的窗體繼承Symbol.Barcode.ReaderData類,設(shè)置其掃描功能可用后,讀取條碼。在窗體的指定控件設(shè)置條碼的輸入焦點(diǎn)后就可將條碼顯示出來。具體流程如圖3所示。
圖3 嵌入掃描功能的流程圖
2.1.2 鋼板信息的實(shí)時傳輸與操作
在本系統(tǒng)的軟件設(shè)計中,通過無線AP在WLAN中進(jìn)行數(shù)據(jù)的傳輸,所以,提供服務(wù)的一方稱為Web Service端,消費(fèi)服務(wù)的一端稱為客戶端(即PDA)。
客戶端的基本行為可以概括為初始化、消費(fèi)服務(wù)等。在具體實(shí)現(xiàn)時,客戶端的功能主要是初始化窗體,記錄用戶通過掃描或手工錄入的鋼板信息,確定數(shù)據(jù)的類型符合數(shù)據(jù)庫的要求,顯示必要的人機(jī)交互時的友好提示,最后,將數(shù)據(jù)通過WLAN將數(shù)據(jù)傳送到Web Service端。
Web Service端的基本行為即設(shè)置Web服務(wù)操作,在方法開始處標(biāo)記[WebMethod]屬性,WebMethod 基礎(chǔ)結(jié)構(gòu)負(fù)責(zé)將傳入的 SOAP 請求發(fā)送到適當(dāng)?shù)念惡头椒ǎɑ谡埱笤孛Q或 SOAPAction 頭,它們可通過SoapDocumentService.RoutingStyle 進(jìn)行配置),同時它還負(fù)責(zé)將 XML 消息序列化/反序列化為公共語言運(yùn)行庫 (CLR)對象,包括將 .NET 樣式的異常轉(zhuǎn)換為 SOAP Fault 元素[4]。
Web服務(wù)操作的具體內(nèi)容如下:第一步,建立與數(shù)據(jù)庫服務(wù)器的連接,利用SqlConnection方法,創(chuàng)建一個與數(shù)據(jù)庫連接的對象;第二步,根據(jù)具體的業(yè)務(wù)邏輯實(shí)現(xiàn)對數(shù)據(jù)庫的操作,如增加、刪除、修改、查詢;第三步,關(guān)閉數(shù)據(jù)庫的連接,返回操作結(jié)果[5]。
鋼板信息的實(shí)時傳輸與操作的設(shè)計流程圖如圖4所示。
圖4 鋼板信息實(shí)時傳輸與操作的設(shè)計流程圖
客戶端沒有加載數(shù)據(jù)庫減少了 PDA存儲空間小的壓力,盡量減少客戶端與Web Service端的數(shù)據(jù)交互次數(shù),縮短軟件的響應(yīng)時間。
鋼板信息采集系統(tǒng)管理由5個功能模塊組成,即到貨清單的手工錄入,鋼板入庫操作,倒板定位操作,在庫鋼板盤點(diǎn),鋼板出庫操作。具體功能模塊如圖5所示。
圖5 系統(tǒng)功能模塊圖
以鋼板入庫操作為例。具體步驟如下。
(1)用戶掃描條碼或手工錄入條碼并錄入鋼板的其他相關(guān)信息,PDA端檢查鋼板錄入信息的完整性。
(2)PDA端發(fā)出信號,在WLAN中通過無線AP建立與Web Service的連接,并將數(shù)據(jù)發(fā)送到Web Service端。
(3)Web Service端接收到數(shù)據(jù)后,匹配標(biāo)記為[WebMethod]屬性的入庫方法,建立與SQL Service的連接,判斷輸入的鋼板是否已錄入到貨清單或已在庫,若滿足條件則提示用戶重新檢查后錄入鋼板信息,否則記錄要入庫的鋼板的個數(shù),建立鋼板與堆垛、層數(shù)和入庫日期的對應(yīng)關(guān)系,調(diào)用存儲過程更新數(shù)據(jù)庫,完成入庫操作。
(4)Web Service端處理完數(shù)據(jù)后,將操作結(jié)果返回,由PDA顯示操作結(jié)果。
基于PDA與Web Service的鋼板信息管理系統(tǒng),已經(jīng)實(shí)際應(yīng)用于大連船舶重工有限公司一工廠鋼板庫信息管理的項(xiàng)目中。運(yùn)行此系統(tǒng)軟件時,用戶根據(jù)其權(quán)限的不同實(shí)現(xiàn)對鋼板信息的管理,權(quán)限高的用戶可以對到貨清單的手工錄入進(jìn)行操作,所有用戶都可以進(jìn)行鋼板信息的入庫、倒庫、盤點(diǎn)、出庫操作,系統(tǒng)也會提供良好的人機(jī)交互界面,便于用戶操作軟件。
當(dāng)發(fā)送信息時出現(xiàn)網(wǎng)絡(luò)信號不好時,系統(tǒng)可自動提示網(wǎng)絡(luò)信號差的信息,并恢復(fù)到等待狀態(tài),當(dāng)網(wǎng)絡(luò)信號好時重新傳送數(shù)據(jù)。
基于PDA與Web Service的無線條碼信息采集系統(tǒng)的使用,方便了用戶的操作,提高了錄入數(shù)據(jù)的可靠性及效率性,杜絕了用戶的玩忽職守現(xiàn)象,實(shí)現(xiàn)了鋼板數(shù)據(jù)的無紙化操作。設(shè)備缺陷顯示直觀,便于管理層進(jìn)行決策處理。
[1]Feisi Science and Technique Center of Research and Development. Application and Development of Java Web Services. Beijing: Publishing House of Electronics.Industry, 2002.190-196 (in Chinese).
[2]Shmueli O.Architectures for internal Web services deployment. In: Apers P, ed. Proc.of the 27th Int’l Conf.on Very Large Data Bases.Roma:Morgan Kaufmann Publishers,2001.641-644.
[3]岳昆,王曉玲,周傲英.Web 服務(wù)核心支撐技術(shù):研究綜述[J].軟件學(xué)報:2004,15(3):429-430.
[4](美)戴特爾(Deitel,H.M.)等著.C#大學(xué)教程[M].須德等譯.北京:電子工業(yè)出版社,2004.1:441-457.
[5]明日科技編著. ASP.NET 2.0開發(fā)技術(shù)大全[M].北京:人民郵電出版社,2008.2:347-361.