SAP的冰与火之歌
點(diǎn)擊?歐盟IT那些事?關(guān)注我們
公告:因企鵝審核規(guī)定,本公眾號(hào)從《德國(guó)IT那些事》更名為《歐盟IT那些事》。
身邊的諸多IT行業(yè)的朋友,對(duì)SAP的看法普遍分為兩派,一半是冰海,一半是火焰。
我今天不是來安利《冰與火之歌》的。
作為全球十大軟件公司之一的德國(guó)老牌軟件巨頭SAP,在德國(guó)可以說家喻戶曉,不亞于BAT之于中國(guó),FANG之于美國(guó)。在德國(guó)工作的各行各業(yè)的所有藍(lán)領(lǐng)白領(lǐng)金領(lǐng),我可以負(fù)責(zé)任地說,他們不是正在開發(fā)SAP,就是正在使用SAP的路上,剩下的都忙著給SAP做接口。
1蛋毛奶豬
為什么這么說,因?yàn)榈聡?guó)不管是政府公共部門還是私營(yíng)企業(yè),只要上了點(diǎn)規(guī)模,就一定會(huì)使用至少一套SAP系統(tǒng)。不管你是不是IT從業(yè)人員,你的工作生活中一定會(huì)直接或間接使用到SAP系統(tǒng)。去市政局登記,他們的民政管理系統(tǒng)可能是SAP;去銀行貸款,他們的CRM系統(tǒng)可能是SAP;去超市買菜,他們的ERP后臺(tái)可能是SAP;逛逛電商,他們的內(nèi)部管理系統(tǒng)可能是SAP;工作上班,公司的員工考勤KPI系統(tǒng)可能是SAP。
你如果是IT從業(yè)人員,除了在SAP工作直接為它編程的程序員,以及在德國(guó)各地奔波不息的無數(shù)SAP咨詢師之外,還有很多程序員每天都在各種千奇百怪的軟件系統(tǒng)平臺(tái)中,處理和開發(fā)與SAP的數(shù)據(jù)交互接口。我現(xiàn)在的職位在面試時(shí),面試官就非常直接問我會(huì)不會(huì)用肥皂(內(nèi)心OS:你才用肥皂,你全家都撿肥皂),因?yàn)橄到y(tǒng)需要與SAP對(duì)接。
當(dāng)然肥皂只是SAP所支持的諸多數(shù)據(jù)接口中的一個(gè),但無數(shù)運(yùn)行良久的老SAP系統(tǒng)里,肥皂接口是唯一的對(duì)外數(shù)據(jù)交互接口。
在德國(guó),可能只有繳稅和SAP,是你無法避免接觸的東西。
SAP為各行各業(yè)提供了各種可能的解決方案,以及海量的定制業(yè)務(wù)模塊,它的構(gòu)架體系和功能非常龐大和復(fù)雜。德國(guó)人形容SAP系統(tǒng)是Eierlegende Wollmilchsau (eierlegendes Wollmilchschwein),翻譯過來就是會(huì)生蛋的既產(chǎn)羊毛又產(chǎn)牛奶的豬,簡(jiǎn)稱蛋毛奶豬。
2一半冰海
有意思的是,周邊的IT行業(yè)的朋友,對(duì)蛋毛奶豬的看法通常分成兩派,一派如初戀般對(duì)待SAP,非??春闷浼夹g(shù)和市場(chǎng)前景;另一派就如對(duì)待前女(男)友,一邊罵渣,一邊希望永不再見。
我不是做SAP開發(fā)的,但長(zhǎng)期在公司使用各種SAP的系統(tǒng)。作為一個(gè)多年互聯(lián)網(wǎng)產(chǎn)品一線開發(fā),大部分時(shí)間的使用體驗(yàn)是:想摔鍵盤。
慢:裝載頁面的等待半天,一個(gè)操作要等待半天,無論干什么都比其它互聯(lián)網(wǎng)同類產(chǎn)品慢。
難看:界面UI設(shè)計(jì)古老,基本停留在21世紀(jì)初期設(shè)計(jì)水平,丑到爆。
難用:UX設(shè)計(jì)爛,頁面很多還不是Rich Client,還沿用表單submit形式,操作必須刷新當(dāng)前頁面,萬一填錯(cuò)數(shù)據(jù),刷新之后又要重新填寫。
總之,使用起來非常反人類。
以前項(xiàng)目中也做過SAP的相關(guān),懂點(diǎn)ABAP二次開發(fā),也做過sapui5 fiori前端項(xiàng)目。ABAP是SAP的專有編程語言,用于系統(tǒng)內(nèi)二次開發(fā),基本結(jié)構(gòu)類似于COBOL,感覺像是在開發(fā)Visual Basic。而Fiori的API是仿JQuery設(shè)計(jì)而成,雖然不算太老舊的前端框架,但和現(xiàn)在主流的Angular,React和Vue的設(shè)計(jì)模式已經(jīng)有較大的代差,實(shí)際開發(fā)起來不算太高效。
很多程序員都和我一樣的體驗(yàn),覺得SAP技術(shù)單調(diào)老舊,為什么這么難用的系統(tǒng)怎么還沒有被其它更先進(jìn)的系統(tǒng)取代?而且ABAP雖然入門容易,但模塊二次開發(fā)繁瑣無比,發(fā)一個(gè)餅圖的數(shù)據(jù)報(bào)告可能需要寫上千行的xlst transformation。
有的SAP程序員可能做了十幾年ABAP還不知道OOP,不知道模塊式開發(fā),處于開發(fā)語言鄙視鏈的最底端。有喜歡嘗試新技術(shù)的同行認(rèn)為,SAP開發(fā)不少人一輩子只做一個(gè)模塊和技術(shù),很難理解和忍受這種孤獨(dú)和寂寞。還有同行認(rèn)為,SAP只是市場(chǎng)營(yíng)銷做得不錯(cuò),產(chǎn)品更新快,但很多只是搞賣點(diǎn),曾參與Oracle到SAP的數(shù)據(jù)Migration項(xiàng)目,做的焦頭爛額。
從純粹的技術(shù)角度來看,我站在冰海那一端,SAP實(shí)在是太難用,開發(fā)體驗(yàn)又不友好。
3一半火焰
不過從事SAP開發(fā)和咨詢的同行都持另外的看法。
首先,SAP并不是以漂亮的UI和高效的操作而見長(zhǎng)。
一,SAP靠的是靈活性和可擴(kuò)展性,因?yàn)橐鎸?duì)全世界各行各業(yè)的公司,或者同一個(gè)行業(yè)但卻有天壤之別的業(yè)務(wù)流程,對(duì)這些去開發(fā)一套全部適用的系統(tǒng),難度可想而知。任何復(fù)雜的流程都可以基于SAP開發(fā)出來。
二,可以條理清楚地存儲(chǔ)企業(yè)級(jí)復(fù)雜的海量數(shù)據(jù),SAP系統(tǒng)寫代碼雖然比較容易,但是理解SAP各個(gè)模塊里的表格數(shù)據(jù)和他們之間的關(guān)系比較費(fèi)時(shí)間。數(shù)據(jù)和業(yè)務(wù)才是企業(yè)的立足所在。
三,SAP的技術(shù)構(gòu)架并不落后,SAP可以搞IoT, Machine Learning, AI,開發(fā)上可以和Node.js, R等其他語言混合編程,可以用微服務(wù)分布式架構(gòu),可以部署于公有云也可以私有云。
SAP在ERP階段還只負(fù)責(zé)企業(yè)流程,但從HANA開始,SAP已經(jīng)相當(dāng)于企業(yè)的操作系統(tǒng),全面接管企業(yè)的方方面面。今年所在部門開會(huì)時(shí)還透露,未來將斥巨資把公司現(xiàn)在所有的SAP系統(tǒng)升級(jí)到SAP HANA,但在這之前將實(shí)施一個(gè)兩年期的先導(dǎo)試點(diǎn)項(xiàng)目。
我現(xiàn)在做的是工業(yè)4.0的生產(chǎn)管理系統(tǒng)這領(lǐng)域的項(xiàng)目,上周被下放到工廠第一線深入體驗(yàn)生活。生產(chǎn)線目前采用的是源自日本的(Heijunka)精益生產(chǎn)管理方式。
Heijunka,簡(jiǎn)單的解釋, 如果按計(jì)劃要在5天內(nèi)需要生產(chǎn)5個(gè)產(chǎn)品A,那可能會(huì)根據(jù)實(shí)際需求動(dòng)態(tài)安排每天生產(chǎn)1-N個(gè)A,而不是在第一天一口氣生產(chǎn)5個(gè),而在其他的4天休息或干別的。而這么做的意義,除了自身需要更少的資源以外(日生產(chǎn)能力為1個(gè)A就能滿足需要了,而不需要5或其他),對(duì)零部件和原材料的需求也更穩(wěn)定了,意味著供應(yīng)商儲(chǔ)備更少的庫存,或維持更小的生產(chǎn)能力就可以滿足最終市場(chǎng)的需求。另外對(duì)于客戶所要求的急單,或者生產(chǎn)線突發(fā)狀況也可以更快地動(dòng)態(tài)做出調(diào)整。
看起來是不是特別熟悉,非常像我們軟件開發(fā)進(jìn)程管理用的Kanban面板?是的,這貨就是Kanban,我們程序員常用的虛擬Kanban面板的爺爺。
生產(chǎn)大線上每天早上會(huì)開個(gè)例會(huì)(站會(huì)),討論分配一下當(dāng)天和明天的計(jì)劃,總結(jié)下昨天已完成的計(jì)劃,和出現(xiàn)的問題。然后這個(gè)面板會(huì)被推到各個(gè)細(xì)分生產(chǎn)線那里,方便產(chǎn)線管理人員調(diào)配。這些操作目前還是靠人工手動(dòng)操作,我的項(xiàng)目就是把生產(chǎn)上的一切流程數(shù)字化,并把數(shù)據(jù)和SAP系統(tǒng)對(duì)接,也就是俗稱的數(shù)字孿生。
產(chǎn)品負(fù)責(zé)人給我們講解從生產(chǎn)調(diào)度,到原料采購,備料,生產(chǎn),檢驗(yàn),包裝,發(fā)送等一系列生產(chǎn)步驟。而這所有步驟中,不可缺少的一個(gè)環(huán)節(jié)就是:任何操作都會(huì)通過RFID或者掃碼被錄入數(shù)據(jù),供中控調(diào)度。你們猜這些數(shù)據(jù)去哪了?
全去了SAP系統(tǒng)(部分去了MES系統(tǒng))。
我注意到一個(gè)細(xì)節(jié),一名工人在備料時(shí),用車將零件送到備料區(qū),上貨前需要用移動(dòng)設(shè)備掃碼和記錄,這時(shí)他的設(shè)備可能因?yàn)楹笈_(tái)系統(tǒng)反應(yīng)慢沒了響應(yīng),他就丟下送貨車和沒入庫的零件走了。換句話說,生產(chǎn)中任何一步的SAP系統(tǒng)出了岔子導(dǎo)致停工,那么整條生產(chǎn)線都要停下來等候系統(tǒng)恢復(fù)。工人們什么都不能干,集體喝咖啡休息。
恐怖不恐怖?SAP開發(fā)程序員你們責(zé)任大不大?
而這些原料采購,備料,生產(chǎn),檢驗(yàn),包裝,發(fā)送等一系列生產(chǎn)步驟中所涉及到的SAP系統(tǒng)和模塊,已經(jīng)在工廠中沿用了幾十年,所有生產(chǎn)數(shù)據(jù)都在其中。換句話說,不可能出現(xiàn)一個(gè)第三方軟件平臺(tái),可以百分百接管SAP的任務(wù)。除非這個(gè)軟件供應(yīng)商可以做到這點(diǎn),邊開車邊修車:一邊平穩(wěn)升級(jí)軟件平臺(tái),一邊保持原有的生產(chǎn)暢通。
這完全是Misson Impossible,阿湯哥也做不到!
只有一種可能可以取代SAP,那就是新建整個(gè)工廠,并且重建整個(gè)生產(chǎn)管理系統(tǒng),同時(shí)這套新系統(tǒng)還必須同步打通和原有老SAP系統(tǒng)的數(shù)據(jù)對(duì)接。以德國(guó)目前的IT開發(fā)專家缺乏的困境來看,這絕對(duì)是不可能完成的任務(wù)。
從純粹的業(yè)務(wù)角度來看,我又站在火焰這一邊,如果沒了SAP工廠將無法運(yùn)轉(zhuǎn)。
4冰山一角
最終回到這個(gè)永恒的道理:業(yè)務(wù)高于一切,技術(shù)只是輔助。
不管你喜不喜歡SAP,待它甘之如飴,或是深惡痛疾,它都將在德國(guó)一直茁壯地生存下去,并為無數(shù)人提供飯碗。
德國(guó)工業(yè)界使用SAP系統(tǒng)已然成為歷史慣例,并且深入到生產(chǎn)的每個(gè)毛細(xì)血管里,短時(shí)間內(nèi)不會(huì)出現(xiàn)另一個(gè)第三方平臺(tái)可以取而代之。對(duì)于第一線生產(chǎn)人員來說:你界面好不好看,交互好不要用,后臺(tái)用Java還是C++什么技術(shù)管我P事,我只要一點(diǎn):
不要出錯(cuò),順利生產(chǎn)!
大部分人所接觸到的SAP,比如我們所詬病的界面難看難用,技術(shù)過時(shí)等方面只是浮于水面上冰山可見的一角,而潛于水下那龐大的數(shù)據(jù)結(jié)構(gòu)和復(fù)雜的業(yè)務(wù)流程,卻很少有人會(huì)注意到。
水下的這塊冰山,才是真正的SAP,靜寂,難以窺視全局。
我們常說一套軟件系統(tǒng)不好用,并不是它們當(dāng)初的設(shè)計(jì)和構(gòu)架真的不好,它們只是老了。
本月新聞&文章回顧
可向下滑動(dòng)
世界消滅你,與你無關(guān)
慕尼黑將用三年時(shí)間重迎企鵝
德國(guó)奔馳將自主研發(fā)車載系統(tǒng)MB.OS,對(duì)抗Tesla
德國(guó)大眾20億歐元押寶中國(guó)電動(dòng)車市場(chǎng)
2020.05新聞&文章回顧
2020.04新聞&文章回顧
2020.03新聞&文章回顧
2020.02新聞&文章回顧
2020.01新聞&文章回顧
總結(jié)
- 上一篇: php redis 唯一id,PHP +
- 下一篇: 详解液晶面板制造全过程