收藏我們
Industry Information
01 WMS概述
關于物(wù)流倉儲系統軟件,首先想到的(de)是WMS(倉庫管理(lǐ)系統)。追溯曆史,WMS系統的(de)起源大(dà)緻在20世紀80年代初,即計算(suàn)機技術尤其是數據庫技術開始應用(yòng)的(de)時(shí)代。但真正形成商業化(huà)應用(yòng)則要到90年代中以後,這(zhè)時(shí)的(de)數據庫技術已經開始應用(yòng)到微型計算(suàn)機,再往後就是随著(zhe)90年代末計算(suàn)機網絡技術的(de)發展,WMS迎來(lái)了(le)蓬勃發展的(de)時(shí)期。各種商用(yòng)的(de)WMS系統開始應用(yòng),WMS的(de)作用(yòng)被廣泛認可(kě)。
最開始的(de)時(shí)期,WMS系統的(de)基本功能就是管理(lǐ)倉庫内部作業,包括入庫、組盤、貨位管理(lǐ)、揀選管理(lǐ)、發貨管理(lǐ)、盤點管理(lǐ)、退貨管理(lǐ)等。很多(duō)傳統倉庫的(de)計算(suàn)機管理(lǐ)系統其實就是一個(gè)進銷存管理(lǐ)系統,功能比較單一,且局限于技術,倉庫的(de)賬實往往是不同步的(de)。另一方面,早期的(de)WMS往往是以一個(gè)記賬軟件出現,由于沒有網絡支持,系統是以單機版本的(de)形式出現的(de)。
随著(zhe)自動化(huà)倉庫的(de)應用(yòng),倉庫管理(lǐ)變得(de)複雜(zá)起來(lái)。尤其是庫存策略、賬實同步變得(de)十分(fēn)重要。這(zhè)給WMS注入了(le)新的(de)需求。到了(le)本世紀初,随著(zhe)RF手持終端的(de)逐步應用(yòng),倉庫管理(lǐ)水(shuǐ)平前進了(le)一大(dà)步,WMS也(yě)進入了(le)一個(gè)新的(de)發展時(shí)期。
電子商務的(de)普及不僅推動了(le)零售業的(de)變革,也(yě)極大(dà)的(de)推動了(le)WMS的(de)發展。一是海量訂單的(de)處理(lǐ),對(duì)WMS服務器端提出了(le)更高(gāo)的(de)要求;二是WMS系統要求與其他(tā)系統前後端系統緊密連接,并實時(shí)同步,如TMS系統,訂單管理(lǐ)系統,配送管理(lǐ)系統等;三是大(dà)量的(de)拆零作業,使得(de)揀選作業變得(de)空前重要,各種策略、方法、技術,極大(dà)的(de)豐富了(le)WMS的(de)功能;四是各種自動化(huà)設備的(de)應用(yòng),尤其是新型物(wù)流設備的(de)出現,增加了(le)WMS與自動化(huà)系統的(de)接口的(de)難度。所有這(zhè)些,極大(dà)的(de)豐富了(le)WMS的(de)功能,也(yě)吸引力衆多(duō)的(de)專業人(rén)才進入到這(zhè)一個(gè)五彩斑斓的(de)世界,大(dà)大(dà)促進了(le)WMS本身的(de)發展。
毫無疑問,WMS作爲自動化(huà)和(hé)智能化(huà)物(wù)流系統的(de)核心軟件系統,扮演了(le)舉足輕重和(hé)不可(kě)或缺的(de)角色。并且随著(zhe)時(shí)間的(de)推移,其重要性将更加凸顯。與此相适應的(de)是,以WMS軟件爲核心業務的(de)企業,也(yě)如雨(yǔ)後春筍般湧現,極大(dà)的(de)促進了(le)我國物(wù)流行業的(de)發展。
02 WMS軟件開發的(de)一般要求
很多(duō)初學者對(duì)WMS軟件開發充滿興趣,但卻缺乏嚴謹的(de)态度和(hé)豐富的(de)實踐經驗。因此,很多(duō)軟件雖然被開發出來(lái),卻因爲缺乏常識和(hé)穩定性,使得(de)軟件本身沒有任何價值。
WMS系統不同于一般的(de)辦公軟件或其他(tā)應用(yòng)軟件,其中最重要的(de)一點是現場(chǎng)條件是複雜(zá)且随時(shí)随地變化(huà)的(de),而軟件與現場(chǎng)條件緊密關聯,形成一種動态的(de)關系。我曾經有機會指導一些大(dà)學生進行WMS軟件開發,但最終的(de)結果卻并不如人(rén)意,盡管在課堂上反複講解軟件的(de)基本流程和(hé)功能要求,但學生們真的(de)無法體會實際的(de)要求。他(tā)們總是在用(yòng)一種靜态的(de)思維方式去理(lǐ)解一個(gè)動态的(de)過程,結果當然是可(kě)想而知的(de)。
對(duì)于軟件開發,一些顯而易見的(de)要求,如多(duō)用(yòng)戶的(de)并發性要求,對(duì)“事務”的(de)理(lǐ)解和(hé)處理(lǐ),死鎖問題,版本管理(lǐ)問題等,如果不能很好理(lǐ)解的(de)話(huà),所開發出來(lái)的(de)軟件基本是不能用(yòng)的(de)。而對(duì)實際環境來(lái)說,組盤問題(情況非常複雜(zá));貨位分(fēn)配問題(很多(duō)人(rén)無法理(lǐ)解自動化(huà)倉庫的(de)貨位分(fēn)配要求);波次問題(什(shén)麽是波次?如何組建波次?爲什(shén)麽要組建波次?對(duì)很多(duō)人(rén)來(lái)說也(yě)是難點);揀選策略(尤其是拆零揀選策略,組箱問題)等。這(zhè)些問題如果不去現場(chǎng)體驗的(de)話(huà),根本無法開發出符合要求的(de)軟件。學生們之所以不能理(lǐ)解,其根本原因是他(tā)們沒有現場(chǎng)體驗,他(tā)們不知道爲什(shén)麽要這(zhè)麽做(zuò),以及如何做(zuò)好。
WMS理(lǐ)論上不是一個(gè)獨立的(de)系統,它往往要求與上遊的(de)ERP系統(或訂單管理(lǐ)系統)和(hé)下(xià)遊的(de)TMS系統,以及各種自動化(huà)系統(如WCS系統等)進行實時(shí)連接。這(zhè)就需要規範它們之間的(de)通(tōng)訊協議(yì)。但事情往往非常複雜(zá)。如在早期的(de)SAP系統中,通(tōng)訊協議(yì)就非常複雜(zá)。僅業務流程就有100多(duō)個(gè),每一個(gè)标準流程都會對(duì)應一個(gè)通(tōng)訊協議(yì),既有正常工作的(de)流程,也(yě)有退貨、沖紅等流程,這(zhè)就要求自身對(duì)業務非常熟悉,才有可(kě)能理(lǐ)解這(zhè)些流程。否則,即使勉強開發出相應的(de)軟件,也(yě)是不能适應實際的(de)要求的(de)。
WMS軟件面對(duì)的(de)是一個(gè)動态的(de)多(duō)用(yòng)戶的(de)用(yòng)戶環境,這(zhè)就要求其實時(shí)性非常強。以自動化(huà)立體庫爲例,當一個(gè)托盤被揀選時(shí),事實上它的(de)物(wù)流位置會随時(shí)變化(huà),有可(kě)能在貨位上,也(yě)有可(kě)能在揀選位置,還(hái)有可(kě)能在途中,如果這(zhè)時(shí)又有一個(gè)新的(de)揀選指令要對(duì)這(zhè)個(gè)托盤進行揀選,那麽面臨的(de)問題就比較複雜(zá)。很多(duō)WMS對(duì)此束手無策。類似的(de)問題,在WMS系統中是常見的(de)。
WMS系統要求軟件的(de)定義是非常準确的(de),絕不能出現二義性。每次操作的(de)結果隻能有兩個(gè),是或者不是。不能有中間結果。有一個(gè)問題或許被軟件的(de)開發者所忽視,就是效率問題,比如一項作業指令一旦發出,撤銷就會變得(de)非常困難。或許需要花費很大(dà)的(de)代價才能完成一次撤銷操作。比如一項正常的(de)沖紅操作,這(zhè)時(shí)僅僅是如何設計處理(lǐ)流程,就是一個(gè)令人(rén)頭痛的(de)問題。有時(shí),操作者可(kě)能會發生一些錯誤的(de)操作,而這(zhè)項操作可(kě)能是災難性的(de),這(zhè)就需要軟件的(de)開發者有相應的(de)應急處理(lǐ)能力。比如對(duì)自動化(huà)立體庫而言,一次涉及到數百個(gè)托盤的(de)錯誤的(de)指令一旦發出,其後果就非常嚴重。如何體會這(zhè)些現場(chǎng)問題,對(duì)軟件開發者帶來(lái)困難和(hé)挑戰。
此外,開發WMS軟件首先要對(duì)業務和(hé)操作流程有準确的(de)理(lǐ)解,關于這(zhè)一點,很多(duō)工程師深有體會。但對(duì)于一個(gè)沒有實際經驗的(de)同學來(lái)說,的(de)确是有些困難的(de)。
03 WMS軟件開發的(de)難點
WMS開發的(de)難點,總體來(lái)說,因人(rén)而異,因工具而已。
所謂因人(rén)而異,就是對(duì)不同經驗和(hé)能力的(de)人(rén)來(lái)說,其難點是不一樣的(de)。前文說過,WMS面對(duì)的(de)是一個(gè)千變萬化(huà)的(de)現場(chǎng)需求,它與一個(gè)遊戲軟件或一個(gè)辦公軟件的(de)最大(dà)不同是不能以我爲主,而是應以實際需求爲主。即軟件的(de)功能要符合實際作業的(de)要求,而非事先閉門造車般的(de)假設(當然,合理(lǐ)的(de)假設也(yě)是必 要的(de))。對(duì)一個(gè)純軟件工程師來(lái)說,這(zhè)是相當困難的(de)。但不幸的(de)是,很多(duō)軟件工程師并不具備現場(chǎng)經驗,那些對(duì)他(tā)們來(lái)說可(kě)有可(kě)無的(de)細節,正是軟件需求的(de)重點。很多(duō)軟件工程師不甚明(míng)白流程的(de)含義,但這(zhè)恰恰是WMS的(de)關鍵之處。另一方面,很多(duō)對(duì)流程非常熟悉的(de)工程師,其軟件駕馭能力又非常缺乏。這(zhè)就導緻很多(duō)WMS軟件,要麽不切實際,不知所雲;要麽就是架構太差,功能單一,不能滿足實際的(de)需求,且不具備柔韌性,不能體現WMS的(de)精髓。
那麽,什(shén)麽是WMS軟件的(de)精髓呢(ne)?我認爲标準化(huà)、可(kě)定制化(huà)、可(kě)複制性是其中比較關鍵的(de)幾個(gè)指标。一套WMS軟件,它既是被動的(de),也(yě)是主動的(de)。其被動之處在于要滿足實際的(de)需求,不能閉門造車;其主動的(de)一面則是流程的(de)合理(lǐ)性和(hé)标準化(huà),現場(chǎng)作業需求盡管千變萬化(huà),但要符合一定的(de)規範和(hé)原理(lǐ),且是有規律可(kě)循的(de),可(kě)定義的(de)。可(kě)定制是針對(duì)具體需求而言的(de),如果軟件系統不可(kě)定制,那就會因爲太死闆而失去活力。但如果軟件失去規範性,則将失去生命力,這(zhè)就是我們經常看到的(de)一些定制化(huà)軟件,它隻能滿足單一客戶的(de)需求,甚至不可(kě)修改的(de)原因。所謂可(kě)複制性更是強調标準化(huà)和(hé)可(kě)定制化(huà)的(de)重要性,是軟件最具有價值的(de)地方。一套成熟的(de)WMS軟件,往往是經過無數案例的(de)實踐,從而抽象出共性的(de)東西,使系統在面對(duì)新的(de)應用(yòng)場(chǎng)景時(shí)變得(de)容易複制。可(kě)複制性對(duì)于降低軟件開發成本、縮短開發周期也(yě)是至關重要的(de)。
選擇不同的(de)開發平台(工具),軟件的(de)開發難度會完全不同。關于這(zhè)一點,可(kě)能每個(gè)軟件開發者都有切身體會。每個(gè)平台都有其優點和(hé)缺點,這(zhè)是一個(gè)比較難以取舍的(de)問題。面對(duì)不同環節的(de)不同需求,實踐表明(míng),多(duō)平台化(huà)往往是一個(gè)合理(lǐ)的(de)選擇。
數據庫的(de)選擇也(yě)會影(yǐng)響開發的(de)難度。一般來(lái)說,oracle數據庫是首選,但操作相對(duì)困難,Microsoft SQL server也(yě)是不錯的(de)選擇,但存在有一些客戶不接受的(de)情況。其他(tā)數據庫選擇相對(duì)較少。比較困難的(de)是,一套WMS軟件很難做(zuò)到兼容不同的(de)數據庫系統。有些WMS聲稱可(kě)以兼容不同的(de)數據庫,其實是完全不同的(de)兩個(gè)版本。
随著(zhe)計算(suàn)機技術的(de)不斷深化(huà),軟件開發的(de)難度在降低。這(zhè)是指平台的(de)功能在變強。比如要實現一套表格的(de)制作,完全可(kě)以實現客戶的(de)定制化(huà)。但另一方面,随著(zhe)物(wù)流倉儲系統變得(de)越來(lái)越複雜(zá),WMS的(de)難度實際上在增加。比如多(duō)倉系統就是這(zhè)樣,每一個(gè)倉庫的(de)儲存方式不同,作業流程不同,自動化(huà)設備不同,對(duì)WMS的(de)要求自然就不同。這(zhè)對(duì)于WMS的(de)開發者來(lái)說,是一個(gè)很大(dà)的(de)挑戰。
04 自研還(hái)是采購(gòu)
關于自研還(hái)是采購(gòu)第三方軟件的(de)問題,看法常常存在分(fēn)歧。但也(yě)都有其道理(lǐ)。我們從安全性、經濟性與可(kě)維護性三個(gè)方面進行簡要分(fēn)析。
安全性:很多(duō)用(yòng)戶擔憂采用(yòng)第三方軟件,會存在安全性問題。但到底是什(shén)麽内容,也(yě)說不出什(shén)麽道理(lǐ)。無非是怕自身的(de)數據安全洩露,或企業受制于人(rén)。其實,數據安全随時(shí)存在,并非采用(yòng)第三方軟件才顯示出來(lái)。如果自身的(de)管理(lǐ)不完善的(de)話(huà),采用(yòng)自研的(de)方式,其數據安全反而會成爲大(dà)問題。另一方面,是軟件本身的(de)安全性問題。自研軟件由于缺乏經驗(即使聘請專業的(de)團隊也(yě)是如此),軟件往往顯得(de)不成熟,隐性BUG很多(duō),且不易排除。而第三方軟件則不同,其軟件本身的(de)成熟度高(gāo),相對(duì)來(lái)說安全性也(yě)高(gāo)。由于缺乏實踐的(de)機會,自研失敗(包括延長(cháng)開發時(shí)間)的(de)例子實際上是很多(duō)的(de)。
經濟性:有人(rén)認爲第三方軟件太貴了(le)。有時(shí)的(de)确如此。尤其是國外的(de)軟件,在10多(duō)年前顯得(de)尤爲嚴重,很多(duō)企業爲此交了(le)不少學費。但現在國産軟件替代進口軟件已經成爲大(dà)趨勢,其經濟性應該已經得(de)到了(le)充分(fēn)體現。自研的(de)成本其實是很高(gāo)的(de)。很多(duō)公司會有這(zhè)樣的(de)錯覺,覺得(de)自研會比較便宜,找幾個(gè)人(rén),花費一年時(shí)間就研制出來(lái)了(le)。但他(tā)忽視了(le)一點,即專業的(de)軟件工程師本身就不便宜,如果薪資不到位,不僅找不到合适的(de)團隊,而且即使找到了(le),也(yě)很難維持穩定。另一方面,軟件需要維護,這(zhè)是一個(gè)更高(gāo)的(de)成本。如果要自己組織一個(gè)5~10人(rén)的(de)團隊的(de)話(huà),每年的(de)成本不會低于200~300萬,這(zhè)個(gè)成本事實上要遠(yuǎn)高(gāo)于第三方的(de)成本,而且還(hái)面臨人(rén)員(yuán)離職的(de)風險。第三方軟件由于存在軟件可(kě)複制性,通(tōng)過攤銷使開發成本大(dà)大(dà)降低。而最大(dà)的(de)好處是,沒有人(rén)員(yuán)離職的(de)風險,從而保障後續軟件的(de)售後服務。
可(kě)維護性:軟件需要經常維護和(hé)升級。第三方軟件因爲成熟度高(gāo),維護升級工作通(tōng)常都會很少,但面對(duì)技術變革,升級也(yě)不可(kě)避免。但即使如此,可(kě)維護性是可(kě)以得(de)到保障的(de)。自身團隊則不同,由于定制化(huà)程度高(gāo),可(kě)能某幾段軟件隻掌握在某一個(gè)人(rén)手中,人(rén)員(yuán)一旦離職,其軟件的(de)維護将陷入被動,這(zhè)樣的(de)例子不少。其實,有時(shí)候把軟件掌握在自己手裏,看起來(lái)是一件很穩妥的(de)事情,但在很多(duō)情況下(xià),這(zhè)反而是一件風險最大(dà)的(de)事情。在社會分(fēn)工越來(lái)越細化(huà)的(de)今天,建立企業間的(de)互利合作,遠(yuǎn)比依靠自己來(lái)得(de)簡單和(hé)可(kě)靠。
從實際應用(yòng)看,采用(yòng)三方軟件應該還(hái)是主流,絕大(dà)多(duō)數企業沒有自身的(de)IT團隊能夠勝任自研的(de)需求,是原因之一。自研軟件并非不可(kě)以,但預期将要付出更大(dà)的(de)代價。這(zhè)就好比建房(fáng)子,如果自己有經驗建,從軟材料采購(gòu),到工程質量監督,肯定是又便宜質量又好。但不可(kě)忽視的(de)是,如果自身并不專業,其結果是整個(gè)項目在推進中會丢三落四,甚至需要反複返工,質量問題總得(de)不到解決。從稍微長(cháng)一點的(de)實踐看,自建的(de)代價遠(yuǎn)高(gāo)于聘請專業的(de)團隊。當然,尋找專業的(de)團隊也(yě)并非一件容易的(de)事情,有些專業的(de)團隊實際上也(yě)不專業。
當然,我們也(yě)要看到,自研軟件也(yě)并非完全不可(kě)行。如果企業本身就有相應的(de)團隊,而自身業務的(de)特殊性又不支持采用(yòng)三方軟件,自研仍然是一條可(kě)選擇的(de)道路。尤其是企業本身有大(dà)量的(de)項目應用(yòng),自己足見團隊進行開發,未嘗不是一種合理(lǐ)的(de)選擇。但即使如此,聘請專業的(de)和(hé)有經驗的(de)工程師仍然是必不可(kě)少的(de)。
05 未來(lái)的(de)發展方向
未來(lái)的(de)世界是軟件的(de)世界,軟件定義世界是大(dà)勢所趨。物(wù)流軟件也(yě)是如此。軟件所扮演的(de)角色将越來(lái)越重要。
物(wù)流技術的(de)發展方向是智能化(huà)、數字化(huà)和(hé)網絡化(huà),AI将對(duì)物(wù)流技術的(de)發展産生革命性影(yǐng)響。所有這(zhè)一切,均取決于軟件的(de)能力。正因爲如此,物(wù)流軟件的(de)發展将突破過去以定制爲主的(de)模式,向專業化(huà)、标準化(huà)、産品化(huà)的(de)方向發展。
專業化(huà):未來(lái)軟件會走向兩個(gè)極端:一方面是分(fēn)工越來(lái)越細,專業化(huà)越來(lái)越強。第三方的(de)軟件将成爲主流。另一方面,基于平台軟件的(de)二次開發和(hé)應用(yòng)将會變得(de)更加容易和(hé)普遍,基本上可(kě)以做(zuò)到人(rén)人(rén)都會定制化(huà)。這(zhè)種所謂的(de)定制化(huà)是堆積木(mù)形式的(de),簡單的(de)。用(yòng)戶更多(duō)的(de)是完成定制化(huà)部分(fēn),而平台軟件将隻能由第三方完成。具體到WMS系統,首先,流程将會更加标準化(huà),産品包裝則趨向于單元化(huà)。其次,平台軟件會建立在行業的(de)基礎之上,如制造業、流通(tōng)業、電子商務等,或者更加細化(huà);如制造業中,有機械制造、食品加工、煙(yān)草(cǎo)加工、醫藥制造、酒類生産等,以便更加貼近行業的(de)特殊需求。但不可(kě)否定,平台軟件的(de)标準化(huà)需要一個(gè)比較長(cháng)的(de)時(shí)間。
标準化(huà):軟件的(de)标準化(huà)一直沒有受到行業的(de)重視。标準化(huà)的(de)重要方向是接口的(de)标準化(huà)、流程标準化(huà)和(hé)封裝的(de)标準化(huà)。軟件封裝後,其功能定義将變得(de)單一,可(kě)以實現更大(dà)範圍的(de)任意調用(yòng)。當然,由于WMS軟件本身的(de)複雜(zá)性,短期内要做(zuò)到标準化(huà)并非易事,但如果從流程标準化(huà)做(zuò)起,以始爲終,卻也(yě)并非不可(kě)實現。
産品化(huà):需要定制化(huà)的(de)軟件将會越來(lái)越少,或者說其比重将越來(lái)越低。随著(zhe)更多(duō)實際應用(yòng)被抽象到系統中來(lái),軟件的(de)适應性将會大(dà)大(dà)加強。從另一個(gè)角度看,則是企業的(de)共性将越來(lái)越多(duō),個(gè)性會越來(lái)越少。這(zhè)一方面是技術的(de)成熟使然,另一方面,則是企業的(de)見識不斷提升。很多(duō)固守自己做(zuò)法的(de)企業,并非有其自身獨特的(de)價值需要維護,而是一種慣性,一種無知,因爲其對(duì)外部世界缺乏基本的(de)了(le)解。隻有那些具有特殊工藝要求的(de)項目,定制化(huà)必不可(kě)少。
部分(fēn)圖片來(lái)源于網絡
上一篇:望雲山遊記
下(xià)一篇:雜(zá)文 | 如何看中西醫藥之争