徐娟華
(江西銅業股份有限公司貴溪冶煉廠,江西 貴溪 335424)
隨著信息技術不斷發展,條形碼技術在物流、倉儲等行業得到廣泛應用,改變了人們的工作方式和生產作業管理流程,極大地提高了生產效率。工廠年產陰極銅過百萬噸,年發貨量達四十多萬包,通過引入條形碼技術,實現貼標入庫、掃碼出庫,替代人工清點、發貨及錄入,顯著降低了作業強度,提高了作業效率。隨著業務流程和管理模式發生變化,需要對倉儲掃碼發貨系統作相應功能調整,同時由于物聯網設備不斷更新換代,原掃碼發貨使用的WindowsCE系統手持機,逐漸被淘汰,被各類Android系統手持機取代,已得不到產商的技術支持,因此,用戶提出對系統進行優化升級,要求能同時滿足PC端、移動端的混合操作模式,App能在Android系統上運行,同時出于對已有設備不浪費的資源保護原則,原WindowsCE系統手持機仍可繼續使用,直至逐一被新設備替換后停用。
以上需求核心在于要滿足不同系統的操作,實現跨域在線數據交互,而WebService跨平臺互操作性的特點無疑是解決此需求最好的技術手段。
WebService是可編程的Web應用程序[1],使用開放的XML標準來描述、發布、發現、協調和配置這些應用程序,使用 SOAP(簡單對象訪問協議)借由開放的HTTP協議在客戶端和服務端之間傳輸數據,發送的請求內容和結果內容采用XML格式封裝,而XML主要的優點在于它是跨平臺的[2]。WebService利用標準Web協議和可編程訪問的Web組件[3],讓各個信息系統協同工作,有助于大量異構程序和平臺之間的互操作性,滿足運行在不同機器上的不同應用相互交換數據和集成的需求。
WebService適合應用在跨越防火墻、應用程序集成、B2B集成、軟件重用等方面[4],單機應用程序以及局域網上的同構應用程序不適合使用。
倉儲掃碼發貨業務邏輯:
開始→服務器定時從ERP系統獲取陰極銅發貨單→手持機從服務器下載發貨單→現場使用手持機掃碼組貨,掃描確認→組貨批次校驗無誤,裝車確認→上傳發貨數據至服務器→PC端進行發貨數據審核,發貨確認→審核后發貨數據上傳至ERP系統,出庫確認→結束。
整條業務線中,存在服務器端、客戶PC端、客戶移動端不同機器之間的數據交互,以及ERP系統、發貨系統異構平臺之間的互操作。
原倉儲掃碼發貨系統開發了服務器端、PC端、移動端(WindowsCE系統)三套程序,采用不同架構實現前端+后端數據交互,三套程序相互獨立,只在數據層面實現同源。要實現業務優化升級,采用原模式,則需要再開發一套適用于安卓系統的移動端程序,同時修改另三套程序與數據庫交互的對象或邏輯,四套程序需要維護不同的四個前端以及四個后端,開發工作量大、可擴展性差,運維困難。
采用WebService技術,可將后端與數據庫交互的對象或邏輯抽取成公共接口,提供統一通用的方式供不同硬件平臺、不同編程語言進行服務調用,實現跨平臺的數據交互。用此模式可使原四套程序后端縮減為一套公共接口程序,且無需新增安卓系統移動端開發,只需將原WindowsCE系統前端界面進行改造,適配安卓系統即可,大大減輕了開發工作量,且擴展性強,為今后更多異構系統、更多設備接入提供了通用方法。
在WebService開發上,.NET 和Java都是很好的選擇,.NET平臺[5]延續了微軟一貫的編程風格,增加了許多支持Web服務的關鍵性技術,使得.NET在操作的簡單性和執行的穩定性、高效性上達到了一個非常好的結合。本次功能需求基于.NET平臺使用C#語言[6]開發實現。
(1) WebService服務創建。如圖1所示,在.NET平臺上新建WebService應用,根據業務邏輯,開發所有需要提供給前端的掃碼發貨API公共接口程序。

圖1 WebService接口程序
(2)WebService服務部署。如圖2所示,將WebService應用程序部署到IIS中,并為服務器分配一個外部IP地址。

圖2 IIS部署WebService服務
(3)WebService服務啟動。如圖3所示在IIS中啟動WebService應用,在瀏覽器中輸入地址訪問,可查看所有API接口并可進行調用測試。

圖3 WebService服務啟用
(4)WebService引用配置。如圖4所示在掃碼發貨程序中添加Web引用,URL輸入發布的WebService的URL地址,系統會自動搜索到服務并且為Web引用設置一個引用名,此引用名將是在項目中引用這個服務的命名空間。

圖4 配置WebService服務引用URL
(5)WebService調用。如圖5所示更改掃碼發貨程序,在 CS文件中加入WebService的引用,再調用相應接口函數,傳入參數,獲取返回值,實現與遠程服務器的數據交互。

圖5 調用WebService服務
通過以上程序開發,無需借助專門的第三方軟件或硬件,利用WebService技術形成可重用的Web組件,使得運行在不同機器上的不同應用通過調用同一WebService服務實現彼此之間的數據交互與集成。
最終產品包括PC前端程序、移動前端程序以及WebService接口程序,滿足了倉儲發貨業務升級改造的要求,實現了多端化應用,上線后實施效果良好。
基于WebService技術對掃碼發貨系統進行優化升級,利用WebService平臺無關性、編程語言無關性的特點,實現異構環境業務系統的通信與協作,通過WebService接口對接PC端、移動端數據,提供跨平臺的互操作性,以最小的開發成本實現了PC端、移動端混合應用模式,滿足運行在不同機器上的不同應用相互交換數據與集成的需求,最終達到提高工作效率,降低運維成本的目的,為同類業務開發提供了參考。