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