文/科技看門道 余文
“在云原生環(huán)境下通常一個企業(yè)業(yè)務流程由多個微服務共同組成,比如商城、會員、訂貨、零售、基礎服務、OMS、API查詢等等。如果每一個微服務需要占用8G內存,10個微服務就是80G,占用的計算資源就太大了。”用友網絡YonBIP開發(fā)總監(jiān)肖靜提到了一個很少見諸于媒體的技術名詞——“元數據驅動”。
依照肖靜的說法,只有元數據驅動,才能讓這些微服務動態(tài)共享地調用計算資源,在面向多域多例的企業(yè)應用時形成緊耦合,提升計算效率;不僅如此,只有基于大量最佳實踐封裝了的元數據驅動模型,才能讓低代碼或無代碼真正高效發(fā)揮作用。
這幾句話或許在IT男肖靜看來,是最通俗易懂的解釋了,然而對于筆者這樣一個編程門外漢來說,仍然太過生澀。筆者忽然想起來最近在陪上小學的兒子學編程,他學的其實就是無代碼、搭積木式的編程方法,或許能夠幫助我們更直觀地理解什么是元數據驅動。
云數據驅動讓無代碼編程成為現實
小時候,誰都玩過搭積木。其實無代碼編程就和搭積木差不多,只不過組成積木的是“當”xx被xx”,或者“如果xx否則xx”,“重復執(zhí)行”,“保持等待直到xx”等隱含著代碼的邏輯指令,孩子們需要的僅僅是“編”。
實際上,“編程”這個詞是由編和程兩個字組成的,和“編書”、“編故事”沒啥區(qū)別,因為“編”就代表著一種邏輯。
荷蘭計算機科學家、圖靈獎獲得者Edsger Wybe Dijkstra說過一句話:“我們使用的工具影響著我們的思維方式和思維習慣,從而也將深刻地影響我們的思維能力”。
很顯然,用英語寫出來的編程語言作為一個工具不僅對于中國人太難了,即便對于英語是母語的人來說,也并非易事。因為只有圖形化、積木化的無代碼開發(fā)工具,才能讓每一個普通人真正把全部精力用于思考業(yè)務的流程邏輯,才能在企業(yè)數字化轉型和IT進入社會化創(chuàng)新時代的今天,最大化發(fā)揮創(chuàng)新力。
換句話說,如今的企業(yè)數字化轉型不僅是要把企業(yè)內部各系統間的數據打通,而且還要引入各種企業(yè)外的數據,包括供應鏈上下游和社會化的數據,來進行實時的運營分析,來支持企業(yè)的管理和輔助決策。對于數字時代企業(yè)信息系統的構建來說,實際上就是從傳統ERP拓展到BIP社會化商業(yè)創(chuàng)新平臺的過程。
然而,數據采集范圍擴大了,數據來源增多了,對于IT系統技術架構來說,社會級應用意味著需要依靠新的云原生架構,在其基礎上部署和運行多方基于云原生和容器化的微服務,才能夠為企業(yè)帶來真正的數據和業(yè)務閉環(huán)。
這時候,IT技術架構就回到了文章開篇所討論到的問題:如何降低多方開發(fā)的多個微服務共同組成的業(yè)務應用的計算資源負載?如何讓微服務間的松耦合變成動態(tài)緊耦合,來提升計算效率?答案是,構成同一個企業(yè)業(yè)務應用的微服務需要在同一套規(guī)則下編寫,也就是說,構成各個微服務的“積木”,需要統一,而這些“積木”,就是“元數據模型”。
肖靜舉了個直觀的例子,就像雷神山、火神山蓋醫(yī)院,它不再用傳統的水泥、沙子、鋼筋蓋樓,而是框架式的,還支持靈活配置,因此施工速度大大提高了。
云數據驅動是構建微服務的能力
“其實MDD元數據驅動本身屬于APaaS,是應用平臺或者業(yè)務中臺能力。云原生屬于GPaaS,是技術中臺的能力。元數據驅動對應的是開發(fā)框架,即模型驅動開發(fā)和元數據動態(tài)建模。”肖靜解釋說,“用友做了大量最佳實踐模型的封裝,從對應的領域層、業(yè)務層一直到視圖模型層和UI層,形成了用友iuap5.0業(yè)務中臺里面快速支撐業(yè)務應用構建的能力。”
實際上,iuap平臺最早脫胎于用友NC自身的開發(fā)平臺UAP——Unified Application Platform,即統一應用平臺。2014年發(fā)布的iuap3.0,雖然在服務客戶方面與UAP有一脈相承的地方,但實際上已經是一個完全重寫代碼的基于互聯網架構的平臺。而最新的iuap5.0,更是完全基于云原生架構重寫的新一代PaaS,包括了技術平臺、數據中臺、智能中臺及業(yè)務中臺,為企業(yè)提供了中臺化構建能力、多云環(huán)境下的混合云開放集成互聯互通能力、 技術普惠化下的低代碼開發(fā)和數智能力、自助應用快速構建能力,支撐企業(yè)服務產業(yè)生態(tài)伙伴共享共創(chuàng), 實現數字企業(yè)的智能服務。
“我們從2018年開始做用友云的終端云服務套件YonSuite,當時定位我們先把對應的財務、供應鏈和制造三個領域的產品,包括數字化建模、財務的收付、總賬、固定資產、存額核算、進銷存,以及生產訂單、物料清單等十幾個模塊用對應的元數據驅動引擎進行對應的應用構建。”肖靜回憶說。
應該說,元數據驅動并不是一個新概念,因為元數據模型實際上就是積木式的封裝模塊,但以前的元數據的驅動引擎是放在虛機環(huán)境下的,主要是單域單例,滿足不了今天社會化應用需要對應多個數據庫實例的需求。
“在對應的云原生、微服務下,我們把每一個領域下的應用拆成一個服務,那它就是一個域;每一個域我們?yōu)榱吮WC服務的獨立性,就要單獨的實例。”肖靜解釋說,“要讓服務之間不受對應的各種資源互相之間進行沖突,保證獨立性、隔離性,就必須全新開發(fā)支撐多域多例的元數據驅動引擎。”
據悉,無論是Salesforce還是其它友商的元數據驅動,大部分還沒有對應到微服務架構下的多域多例模式;即便少數對應了多域多例,也只停留在領域層,極少部分到了業(yè)務邏輯層,但覆蓋到UI和視圖模型層的應該只有用友一家。
“我們不僅封裝了大量的前端模型,而且對驅動引擎做了徹底的云原生微服務的改造。”肖靜表示,“用友今天的元數據驅動引擎,是我們將企業(yè)應用服務進行了一系列的微服務解藕,對每個服務進行數據庫實例獨享,并且進行了大量的驗證,填平了無數的坑,是真正的自研自創(chuàng)。”
元數據驅動是BIP賦能生態(tài)的底層邏輯
我們知道,傳統的ERP對于企業(yè)來說主要是業(yè)務支撐和管控,把企業(yè)內部的人財物打通,以流程為中心進行驅動,在適應變化的靈活性上有一定的局限性;而今天的商業(yè)環(huán)境需要企業(yè)快速應變,需要企業(yè)通過在線的運營服務和客戶保持黏性,需要利用在線產生的數據,通過算法和模型,優(yōu)化和快速迭代服務。
換句話說,數智化時代,企業(yè)必然以數據驅動為核心,進行商業(yè)化創(chuàng)新。這中間,企業(yè)需要一個商業(yè)創(chuàng)新平臺,協同企業(yè)內部、企業(yè)外部,以及社會化商業(yè)線索,進行便捷 、快速和高效地開發(fā)和部署應用。
YonBIP技術架構體系
在這樣一個大環(huán)境下,用友YonBIP應運而生。因而YonBIP不只是一個工具化的商業(yè)操作系統,更是全生命周期的多元綜合服務體。實際上,YonBIP是用友及生態(tài)整體業(yè)務的統一平臺,而iuap5.0則是YonBIP的技術支撐底座。
很顯然,iuap5.0需要承載的上層應用極其復雜,同時iuap5.0又需要讓生態(tài)伙伴能夠很方便地上手進行面向各個業(yè)務場景的個性化開發(fā)和各個領域的定制開發(fā),因為YonBIP需要通過平臺服務和運營,賦能生態(tài)伙伴,與生態(tài)ISV合作創(chuàng)新,服務于更多的行業(yè)客戶。
這,就是YonBuilder低代碼開發(fā)平臺以及元數據驅動引擎和模型的意義所在。
有了這樣的業(yè)務需求,肖靜和他的同事們沒有退路。肖靜舉了一個例子:“早期做云服務,PC寫PC的,移動寫移動的,沒有視圖模型層。而現在的架構是組件化開發(fā),在對應的運行態(tài)、部署態(tài)要做到服務的可分可合,對應的業(yè)務邏輯、計算模型必須視為同一份,因此我們在元數據驅動開發(fā)框架里面,每一層的視圖模型、業(yè)務邏輯、領域模型都要完全一致才能做到多端應用在模型層的統一,而且還要保障獨立服務的資源擴容的高可用。”
這一番話說起來簡單,但實現起來,會遇到各式各樣的問題。“比如OLTP、OLAP對應分析查詢,我們就選擇了很多條路;比如微服務架構拆分完之后的事務一致性問題,實際上有非常多的攻堅點,我們需要一個一個去攻堅。”肖靜解釋說,“當我們真正把大量對應的能力,高度封裝集成形成這套開發(fā)框架之后,用友iuap5.0業(yè)務中臺就具備了快速支撐業(yè)務應用構建的能力,業(yè)務的開發(fā)配置就變得極其簡單——像YonSuite1.0采用這套框架建模,從立項到發(fā)版只花了半年多的時間,而以前沒有三年時間是做不出來的。”
肖靜對用友的技術架構如數家珍,這也難怪,因為今年已經是他在用友的第18個年頭。作為一個有著近20年碼農經歷的典型技術男,肖靜的日常穿著普通得不能再普通:一件黑色套頭衫、一條牛仔褲。然而讓人沒想到的是,這件印著BIP和OD(overcome difficulties,即攻堅克難)logo組成的套頭衫竟然是一件榮譽文化衫,代表著肖靜團隊的精神“攻堅克難”、癡迷客戶、高效協作、持續(xù)賦能、無所不學——只有每個月獲評的出色人物才能得到團隊文化官的嘉獎。
“我們十一期間都在加班,每周都是996甚至007,所以大伙得有目標,得認同這個目標,因此文化建設十分重要。”看得出肖靜一臉平靜,但內心是澎湃的,“YonBIP怎么達成?就是要踐行攻堅克難,因為我們用友3.0戰(zhàn)略實施進入第二個階段,云服務從產品服務模式升維到平臺服務模式,就是肩負著數智化時代讓企業(yè)商業(yè)創(chuàng)新如此便捷的使命和責任。”
(免責聲明:本網站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網站出現的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網站中的網頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件后,將會依法盡快聯系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。 )