元數(shù)據(jù)驅(qū)動(dòng)的YonBIP:真正讓商業(yè)創(chuàng)新便捷高效

文/科技看門道 余文

“在云原生環(huán)境下通常一個(gè)企業(yè)業(yè)務(wù)流程由多個(gè)微服務(wù)共同組成,比如商城、會(huì)員、訂貨、零售、基礎(chǔ)服務(wù)、OMS、API查詢等等。如果每一個(gè)微服務(wù)需要占用8G內(nèi)存,10個(gè)微服務(wù)就是80G,占用的計(jì)算資源就太大了。”用友網(wǎng)絡(luò)YonBIP開發(fā)總監(jiān)肖靜提到了一個(gè)很少見諸于媒體的技術(shù)名詞——“元數(shù)據(jù)驅(qū)動(dòng)”。

依照肖靜的說法,只有元數(shù)據(jù)驅(qū)動(dòng),才能讓這些微服務(wù)動(dòng)態(tài)共享地調(diào)用計(jì)算資源,在面向多域多例的企業(yè)應(yīng)用時(shí)形成緊耦合,提升計(jì)算效率;不僅如此,只有基于大量最佳實(shí)踐封裝了的元數(shù)據(jù)驅(qū)動(dòng)模型,才能讓低代碼或無代碼真正高效發(fā)揮作用。

這幾句話或許在IT男肖靜看來,是最通俗易懂的解釋了,然而對(duì)于筆者這樣一個(gè)編程門外漢來說,仍然太過生澀。筆者忽然想起來最近在陪上小學(xué)的兒子學(xué)編程,他學(xué)的其實(shí)就是無代碼、搭積木式的編程方法,或許能夠幫助我們更直觀地理解什么是元數(shù)據(jù)驅(qū)動(dòng)。

云數(shù)據(jù)驅(qū)動(dòng)讓無代碼編程成為現(xiàn)實(shí)

小時(shí)候,誰都玩過搭積木。其實(shí)無代碼編程就和搭積木差不多,只不過組成積木的是“當(dāng)”xx被xx”,或者“如果xx否則xx”,“重復(fù)執(zhí)行”,“保持等待直到xx”等隱含著代碼的邏輯指令,孩子們需要的僅僅是“編”。

實(shí)際上,“編程”這個(gè)詞是由編和程兩個(gè)字組成的,和“編書”、“編故事”沒啥區(qū)別,因?yàn)?ldquo;編”就代表著一種邏輯。

荷蘭計(jì)算機(jī)科學(xué)家、圖靈獎(jiǎng)獲得者Edsger Wybe Dijkstra說過一句話:“我們使用的工具影響著我們的思維方式和思維習(xí)慣,從而也將深刻地影響我們的思維能力”。

很顯然,用英語寫出來的編程語言作為一個(gè)工具不僅對(duì)于中國人太難了,即便對(duì)于英語是母語的人來說,也并非易事。因?yàn)橹挥袌D形化、積木化的無代碼開發(fā)工具,才能讓每一個(gè)普通人真正把全部精力用于思考業(yè)務(wù)的流程邏輯,才能在企業(yè)數(shù)字化轉(zhuǎn)型和IT進(jìn)入社會(huì)化創(chuàng)新時(shí)代的今天,最大化發(fā)揮創(chuàng)新力。

換句話說,如今的企業(yè)數(shù)字化轉(zhuǎn)型不僅是要把企業(yè)內(nèi)部各系統(tǒng)間的數(shù)據(jù)打通,而且還要引入各種企業(yè)外的數(shù)據(jù),包括供應(yīng)鏈上下游和社會(huì)化的數(shù)據(jù),來進(jìn)行實(shí)時(shí)的運(yùn)營分析,來支持企業(yè)的管理和輔助決策。對(duì)于數(shù)字時(shí)代企業(yè)信息系統(tǒng)的構(gòu)建來說,實(shí)際上就是從傳統(tǒng)ERP拓展到BIP社會(huì)化商業(yè)創(chuàng)新平臺(tái)的過程。

然而,數(shù)據(jù)采集范圍擴(kuò)大了,數(shù)據(jù)來源增多了,對(duì)于IT系統(tǒng)技術(shù)架構(gòu)來說,社會(huì)級(jí)應(yīng)用意味著需要依靠新的云原生架構(gòu),在其基礎(chǔ)上部署和運(yùn)行多方基于云原生和容器化的微服務(wù),才能夠?yàn)槠髽I(yè)帶來真正的數(shù)據(jù)和業(yè)務(wù)閉環(huán)。

這時(shí)候,IT技術(shù)架構(gòu)就回到了文章開篇所討論到的問題:如何降低多方開發(fā)的多個(gè)微服務(wù)共同組成的業(yè)務(wù)應(yīng)用的計(jì)算資源負(fù)載?如何讓微服務(wù)間的松耦合變成動(dòng)態(tài)緊耦合,來提升計(jì)算效率?答案是,構(gòu)成同一個(gè)企業(yè)業(yè)務(wù)應(yīng)用的微服務(wù)需要在同一套規(guī)則下編寫,也就是說,構(gòu)成各個(gè)微服務(wù)的“積木”,需要統(tǒng)一,而這些“積木”,就是“元數(shù)據(jù)模型”。

肖靜舉了個(gè)直觀的例子,就像雷神山、火神山蓋醫(yī)院,它不再用傳統(tǒng)的水泥、沙子、鋼筋蓋樓,而是框架式的,還支持靈活配置,因此施工速度大大提高了。

云數(shù)據(jù)驅(qū)動(dòng)是構(gòu)建微服務(wù)的能力

“其實(shí)MDD元數(shù)據(jù)驅(qū)動(dòng)本身屬于APaaS,是應(yīng)用平臺(tái)或者業(yè)務(wù)中臺(tái)能力。云原生屬于GPaaS,是技術(shù)中臺(tái)的能力。元數(shù)據(jù)驅(qū)動(dòng)對(duì)應(yīng)的是開發(fā)框架,即模型驅(qū)動(dòng)開發(fā)和元數(shù)據(jù)動(dòng)態(tài)建模。”肖靜解釋說,“用友做了大量最佳實(shí)踐模型的封裝,從對(duì)應(yīng)的領(lǐng)域?qū)?、業(yè)務(wù)層一直到視圖模型層和UI層,形成了用友iuap5.0業(yè)務(wù)中臺(tái)里面快速支撐業(yè)務(wù)應(yīng)用構(gòu)建的能力。”

實(shí)際上,iuap平臺(tái)最早脫胎于用友NC自身的開發(fā)平臺(tái)UAP——Unified Application Platform,即統(tǒng)一應(yīng)用平臺(tái)。2014年發(fā)布的iuap3.0,雖然在服務(wù)客戶方面與UAP有一脈相承的地方,但實(shí)際上已經(jīng)是一個(gè)完全重寫代碼的基于互聯(lián)網(wǎng)架構(gòu)的平臺(tái)。而最新的iuap5.0,更是完全基于云原生架構(gòu)重寫的新一代PaaS,包括了技術(shù)平臺(tái)、數(shù)據(jù)中臺(tái)、智能中臺(tái)及業(yè)務(wù)中臺(tái),為企業(yè)提供了中臺(tái)化構(gòu)建能力、多云環(huán)境下的混合云開放集成互聯(lián)互通能力、 技術(shù)普惠化下的低代碼開發(fā)和數(shù)智能力、自助應(yīng)用快速構(gòu)建能力,支撐企業(yè)服務(wù)產(chǎn)業(yè)生態(tài)伙伴共享共創(chuàng), 實(shí)現(xiàn)數(shù)字企業(yè)的智能服務(wù)。

“我們從2018年開始做用友云的終端云服務(wù)套件YonSuite,當(dāng)時(shí)定位我們先把對(duì)應(yīng)的財(cái)務(wù)、供應(yīng)鏈和制造三個(gè)領(lǐng)域的產(chǎn)品,包括數(shù)字化建模、財(cái)務(wù)的收付、總賬、固定資產(chǎn)、存額核算、進(jìn)銷存,以及生產(chǎn)訂單、物料清單等十幾個(gè)模塊用對(duì)應(yīng)的元數(shù)據(jù)驅(qū)動(dòng)引擎進(jìn)行對(duì)應(yīng)的應(yīng)用構(gòu)建。”肖靜回憶說。

應(yīng)該說,元數(shù)據(jù)驅(qū)動(dòng)并不是一個(gè)新概念,因?yàn)樵獢?shù)據(jù)模型實(shí)際上就是積木式的封裝模塊,但以前的元數(shù)據(jù)的驅(qū)動(dòng)引擎是放在虛機(jī)環(huán)境下的,主要是單域單例,滿足不了今天社會(huì)化應(yīng)用需要對(duì)應(yīng)多個(gè)數(shù)據(jù)庫實(shí)例的需求。

“在對(duì)應(yīng)的云原生、微服務(wù)下,我們把每一個(gè)領(lǐng)域下的應(yīng)用拆成一個(gè)服務(wù),那它就是一個(gè)域;每一個(gè)域我們?yōu)榱吮WC服務(wù)的獨(dú)立性,就要單獨(dú)的實(shí)例。”肖靜解釋說,“要讓服務(wù)之間不受對(duì)應(yīng)的各種資源互相之間進(jìn)行沖突,保證獨(dú)立性、隔離性,就必須全新開發(fā)支撐多域多例的元數(shù)據(jù)驅(qū)動(dòng)引擎。”

據(jù)悉,無論是Salesforce還是其它友商的元數(shù)據(jù)驅(qū)動(dòng),大部分還沒有對(duì)應(yīng)到微服務(wù)架構(gòu)下的多域多例模式;即便少數(shù)對(duì)應(yīng)了多域多例,也只停留在領(lǐng)域?qū)?,極少部分到了業(yè)務(wù)邏輯層,但覆蓋到UI和視圖模型層的應(yīng)該只有用友一家。

“我們不僅封裝了大量的前端模型,而且對(duì)驅(qū)動(dòng)引擎做了徹底的云原生微服務(wù)的改造。”肖靜表示,“用友今天的元數(shù)據(jù)驅(qū)動(dòng)引擎,是我們將企業(yè)應(yīng)用服務(wù)進(jìn)行了一系列的微服務(wù)解藕,對(duì)每個(gè)服務(wù)進(jìn)行數(shù)據(jù)庫實(shí)例獨(dú)享,并且進(jìn)行了大量的驗(yàn)證,填平了無數(shù)的坑,是真正的自研自創(chuàng)。”

元數(shù)據(jù)驅(qū)動(dòng)是BIP賦能生態(tài)的底層邏輯

我們知道,傳統(tǒng)的ERP對(duì)于企業(yè)來說主要是業(yè)務(wù)支撐和管控,把企業(yè)內(nèi)部的人財(cái)物打通,以流程為中心進(jìn)行驅(qū)動(dòng),在適應(yīng)變化的靈活性上有一定的局限性;而今天的商業(yè)環(huán)境需要企業(yè)快速應(yīng)變,需要企業(yè)通過在線的運(yùn)營服務(wù)和客戶保持黏性,需要利用在線產(chǎn)生的數(shù)據(jù),通過算法和模型,優(yōu)化和快速迭代服務(wù)。

換句話說,數(shù)智化時(shí)代,企業(yè)必然以數(shù)據(jù)驅(qū)動(dòng)為核心,進(jìn)行商業(yè)化創(chuàng)新。這中間,企業(yè)需要一個(gè)商業(yè)創(chuàng)新平臺(tái),協(xié)同企業(yè)內(nèi)部、企業(yè)外部,以及社會(huì)化商業(yè)線索,進(jìn)行便捷 、快速和高效地開發(fā)和部署應(yīng)用。

元數(shù)據(jù)驅(qū)動(dòng)的YonBIP:真正讓商業(yè)創(chuàng)新便捷高效

YonBIP技術(shù)架構(gòu)體系

在這樣一個(gè)大環(huán)境下,用友YonBIP應(yīng)運(yùn)而生。因而YonBIP不只是一個(gè)工具化的商業(yè)操作系統(tǒng),更是全生命周期的多元綜合服務(wù)體。實(shí)際上,YonBIP是用友及生態(tài)整體業(yè)務(wù)的統(tǒng)一平臺(tái),而iuap5.0則是YonBIP的技術(shù)支撐底座。

很顯然,iuap5.0需要承載的上層應(yīng)用極其復(fù)雜,同時(shí)iuap5.0又需要讓生態(tài)伙伴能夠很方便地上手進(jìn)行面向各個(gè)業(yè)務(wù)場景的個(gè)性化開發(fā)和各個(gè)領(lǐng)域的定制開發(fā),因?yàn)閅onBIP需要通過平臺(tái)服務(wù)和運(yùn)營,賦能生態(tài)伙伴,與生態(tài)ISV合作創(chuàng)新,服務(wù)于更多的行業(yè)客戶。

這,就是YonBuilder低代碼開發(fā)平臺(tái)以及元數(shù)據(jù)驅(qū)動(dòng)引擎和模型的意義所在。

有了這樣的業(yè)務(wù)需求,肖靜和他的同事們沒有退路。肖靜舉了一個(gè)例子:“早期做云服務(wù),PC寫PC的,移動(dòng)寫移動(dòng)的,沒有視圖模型層。而現(xiàn)在的架構(gòu)是組件化開發(fā),在對(duì)應(yīng)的運(yùn)行態(tài)、部署態(tài)要做到服務(wù)的可分可合,對(duì)應(yīng)的業(yè)務(wù)邏輯、計(jì)算模型必須視為同一份,因此我們?cè)谠獢?shù)據(jù)驅(qū)動(dòng)開發(fā)框架里面,每一層的視圖模型、業(yè)務(wù)邏輯、領(lǐng)域模型都要完全一致才能做到多端應(yīng)用在模型層的統(tǒng)一,而且還要保障獨(dú)立服務(wù)的資源擴(kuò)容的高可用。”

這一番話說起來簡單,但實(shí)現(xiàn)起來,會(huì)遇到各式各樣的問題。“比如OLTP、OLAP對(duì)應(yīng)分析查詢,我們就選擇了很多條路;比如微服務(wù)架構(gòu)拆分完之后的事務(wù)一致性問題,實(shí)際上有非常多的攻堅(jiān)點(diǎn),我們需要一個(gè)一個(gè)去攻堅(jiān)。”肖靜解釋說,“當(dāng)我們真正把大量對(duì)應(yīng)的能力,高度封裝集成形成這套開發(fā)框架之后,用友iuap5.0業(yè)務(wù)中臺(tái)就具備了快速支撐業(yè)務(wù)應(yīng)用構(gòu)建的能力,業(yè)務(wù)的開發(fā)配置就變得極其簡單——像YonSuite1.0采用這套框架建模,從立項(xiàng)到發(fā)版只花了半年多的時(shí)間,而以前沒有三年時(shí)間是做不出來的。”

肖靜對(duì)用友的技術(shù)架構(gòu)如數(shù)家珍,這也難怪,因?yàn)榻衲暌呀?jīng)是他在用友的第18個(gè)年頭。作為一個(gè)有著近20年碼農(nóng)經(jīng)歷的典型技術(shù)男,肖靜的日常穿著普通得不能再普通:一件黑色套頭衫、一條牛仔褲。然而讓人沒想到的是,這件印著BIP和OD(overcome difficulties,即攻堅(jiān)克難)logo組成的套頭衫竟然是一件榮譽(yù)文化衫,代表著肖靜團(tuán)隊(duì)的精神“攻堅(jiān)克難”、癡迷客戶、高效協(xié)作、持續(xù)賦能、無所不學(xué)——只有每個(gè)月獲評(píng)的出色人物才能得到團(tuán)隊(duì)文化官的嘉獎(jiǎng)。

“我們十一期間都在加班,每周都是996甚至007,所以大伙得有目標(biāo),得認(rèn)同這個(gè)目標(biāo),因此文化建設(shè)十分重要。”看得出肖靜一臉平靜,但內(nèi)心是澎湃的,“YonBIP怎么達(dá)成?就是要踐行攻堅(jiān)克難,因?yàn)槲覀冇糜?.0戰(zhàn)略實(shí)施進(jìn)入第二個(gè)階段,云服務(wù)從產(chǎn)品服務(wù)模式升維到平臺(tái)服務(wù)模式,就是肩負(fù)著數(shù)智化時(shí)代讓企業(yè)商業(yè)創(chuàng)新如此便捷的使命和責(zé)任。”

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )