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