WMS采用C/S風格。
客戶端僅有表示層,使用工具的用戶界面。底層由網(wǎng)絡、數(shù)據(jù)庫、機器人控制系統(tǒng)構成,應用程序主體通過調度和處理模塊,對網(wǎng)絡通信模塊、數(shù)據(jù)處理模塊、機器人控制模塊進行控制,完成客戶端的請求。
當客戶端請求服務時,首先發(fā)送請求信息到調度和處理模塊,調度和處理模塊根據(jù)請求信息的種類,完成相應的服務。如果客戶端請求數(shù)據(jù)處理,數(shù)據(jù)處理模塊則訪問本地數(shù)據(jù)庫,執(zhí)行相關操作,提供服務。若請求的數(shù)據(jù)在本地數(shù)據(jù)庫中不能提供,調度和處理模塊會啟動網(wǎng)絡通信模塊,通過本地數(shù)據(jù)庫服務器,訪問外地服務器,獲取相關信息,提供服務。
當客戶端獲得必要的信息,發(fā)出提取工具命令時,調度和處理模塊會啟動機器人控制模塊,完成對機器人系統(tǒng)的控制和操作,最終客戶通過機器人控制系統(tǒng)提取工具。當然,如果機器人系統(tǒng)本書出現(xiàn)故障,會自動上報到機器人控制模塊,逐層傳遞給上層系統(tǒng),并通知系統(tǒng)管理員及時作出維護處理。
原因:
1. 性能方面:如上所述,b/s架構的數(shù)據(jù)存儲和主要處理負擔都在服務器上,wms需要對 多個不同倉庫進行供貨管理,b/s會導致服務器處理負擔過重。并且wms的庫存數(shù)據(jù)需要給管理層提供決策支持,在數(shù)據(jù)更新的及時性方面有需求,c/s架構分散了處理負擔。保障了數(shù)據(jù)的及時性,提供了性能支持。 便于:分布式數(shù)據(jù)的訪問。由于各個子公司具有各自的數(shù)據(jù)庫服務器,系統(tǒng)需要實 現(xiàn)數(shù)據(jù)互通。使用此風格,能夠通過本地服務器與外部服務器相連,實現(xiàn)對外部數(shù)據(jù)的 訪問,同時又保證了數(shù)據(jù)存儲的安全性。
2. 兼容性方面:wms需要具備對多個倉庫提供管理支持,而這些倉庫的運作,管理方式各 有差異,如果采用b/s結構,各個倉庫的管理方式及相應方法都必須存儲在中央服務器中,會導致整個系統(tǒng)可維護性下降明顯,整個系統(tǒng)趨于復雜,加入新倉庫時需要根據(jù)倉庫特點對整個系統(tǒng)核心進行修改,在倉庫數(shù)量多切種類各異的時候會導致系統(tǒng)臃腫不堪。c/s架構可以根據(jù)倉庫的運作特點定制客戶端軟件,服務端只用提供統(tǒng)一的通信接口并且按照這個接口對各個倉庫進行管理即可,模塊劃分更加明顯,系統(tǒng)的耦合性可以得到有效降低,同時,因為處理模塊是分布式的,所以,在一個倉庫管理系統(tǒng)出現(xiàn)問題時,不會影響到另一個倉庫系統(tǒng)的運作。
3. 數(shù)據(jù)存儲方面:b/s架構的數(shù)據(jù)中心在中央服務器,各個倉庫的所有維護用數(shù)據(jù)(調度 狀況,庫存狀況,倉庫機械運行情況,機械操作方式)都必須存儲在中央服務器,數(shù)據(jù)存儲量大,服務器和客戶機之間的數(shù)據(jù)交換量也大。c/s架構允許倉庫把一些個性化的數(shù)據(jù)文件(如各個倉庫采用的機械操作方式等)存儲在本地,只與服務器同步一些重要的信息,如貨物庫存,訂單狀況等。
4. 安全性方面:采用b/s架構,統(tǒng)一商品在不同倉庫發(fā)生同時存取時會發(fā)生并行訪問,對 數(shù)據(jù)一致性難以做到保證,并且由于數(shù)據(jù)都是統(tǒng)一存儲在服務器中的,服務器崩潰后就要對整個系統(tǒng)重新進行數(shù)據(jù)回復,回復難度大,成本高。而單個客戶機出現(xiàn)數(shù)據(jù)錯誤時,會影響到其他存儲著同樣貨物的倉庫數(shù)據(jù)。采用c/s機構,本地持有庫存信息,只需要定時與服務器進行進行數(shù)據(jù)同步,消除了很大一部分的并行需求,并且在服務器出問題時,只需要從各個客戶端處回收信息,單個客戶機的系統(tǒng)崩潰或出錯并不會影響其他客戶機的數(shù)據(jù)安全。