2.3 統一能力框架
iuap針對微服務開發、中臺服務孵化、連接及持續發展,定義且實現了統一的規范及配套組件,將企業服務的微服務化、平臺化、中臺化最佳實踐方案沉淀為iuap5.0的核心框架,即統一能力框架,英文Unified Capacity Framework,簡稱UCF。UCF致力于為企業云服務的發展提供堅實的底座,與企業云共同發展、相互促進,實現真正的共創共贏。
2.3.1 統一能力框架的理念
如果把一個功能完備、堅實耐用的數字化中臺比喻為一棟摩天大樓,那么數字化中臺的開發框架就是這棟大樓的框架。一個成熟的開發框架可以保障程序開發效率、軟件健壯性、軟件性能、運行維護和功能擴展等。由于開發框架實現了很多基礎性功能,有了統一的開發標準規范,程序員只需專心實現自己的業務需求。
UCF是用友云針對企業數字化中臺理念實現的一套開發框架,目標是讓開發人員快速開發數字化中臺,支撐中臺理論的開發落地,并用中臺能力快速實現創新業務。用友數字化平臺本身是基于UCF規范構建的,同時也支持企業基于UCF構建自己的業務平臺。
iuap以UCF編程模型為基礎,在其上構建技術平臺、數據中臺、業務中臺、領域中臺等中臺化產品。開放平臺是內部中臺能力、開發支撐能力對外開放的生態開發入口,它提供開發工具的支撐和開發資產的管理,涵蓋運維部署等功能。UCF和中臺產品的關系如圖2.14所示。

圖2.14 UCF和中臺產品關系
2.3.2 UCF是中臺落地的抓手
針對開發、集成、運維、擴展、多端化、國際化、專屬化七大企業云服務的關鍵研發訴求,UCF通過UCF-CN(云原生應用基礎規范及配套組件)、UCF-MDD(元數據驅動及配套服務)、UCF-DEM(數字化建模基礎規范及服務接口)、UCF-OE(開放擴展的機制與接口)、UCF-EC(專屬化的規范標準和工具)五大核心模塊對具體問題域進行細分并對基礎框架進行支撐。五個模塊可相互獨立,但又由統一規約連接形成一個完整的整體。五大模塊類似于一只手的五根手指(如圖2.15所示),“一指禪可悟道,兩指、三指、四指各式組合可練神功”,其最終目標是五指合力形成最有力的抓手。

圖2.15 UCF是中臺落地的抓手
圍繞這五大核心模塊,iuap及各個領域服務還會在UCF的基礎上持續建設周邊配套,實現中臺能力孵化、運營、業務管理、數據分析及考核等相關服務。比如UCF-CP(能力廣場)、UCF-TOOL(能力孵化工具包)等。
UCF從企業云服務核心問題域出發,通過梳理核心解決方案,提煉并抽象出最佳實踐,形成一整套統一的標準及規范,可指導企業數字化中臺理念的開發落地。以下是對UCF五大落地抓手的詳細介紹。
1. 云原生應用基礎規范及配套組件
UCF-CN中的CN指的是Cloud Native,即云原生應用開發。在新的云服務模式下,用友總結了在業務開發中的問題,提出了UCF-CN的云原生開發規范和基于開發規范提供的工具、組件、腳手架工程,從而幫助云應用開發人員快速掌握開發技術,規避開發風險。
UCF-CN已經提供的組件包括:ucf-parent(統一第三方包管理)、ucf-common(核心對象接口定義)、ucf-core(針對ucf-common中核心接口的工具實現)、ucf-log(日志組件)、ucf-dao(數據庫持久化組件)、ucf-sql-translator(數據庫方言適配)、ucf-sharding(數據庫分庫分表)、ucf-web(前端開發組件)、ucf-spring-boot-stater(基于Spring Boot的啟動器)。UCF-CN的功能框架如圖2.16所示。

圖2.16 UCF-CN的功能框架
除上述組件以外,UCF-CN還在RPC(遠程過程調用服務)、統一日志追蹤、開發平臺、專屬化安裝盤打包及專屬化安裝器等產品中也適配了UCF的規范。它們將作為一個完整的整體,為廣大開發人員提供便利的、體系化的原生開發環境,同時讓企業的數字化中臺能力基于云原生進行構建,以保證原生能力的彈性及健壯性。
2. 元數據驅動及配套服務
UCF-CN更多的是規范和基礎性的組件,UCF-MDD則是一個開發套件,其整體開發流程如圖2.17所示。

圖2.17 UCF-MDD開發流程
MDD指的是模型驅動開發(Model Driven Development),這不是一個新的概念,多年以前就由UML(統一建模語言)的創建組織OMG提出。MDD采用了模型和技術分離的架構設計,其在形式化后就是MDA(模型驅動架構,Model Driven Architecture)。它通過使用高度抽象的領域業務模型作為構件,配以各種模型驅動引擎作為配置支撐,達到降低開發成本,應對復雜需求變更的目的。
UCF-MDD的核心就是元數據服務和相關場景的驅動引擎。UCF-MDD基于統一元數據服務和領域模型驅動開發框架的整合/融合而抽象出來。UCF-MDD目前包含了企業應用中比較常用的兩大元數據及其對應的引擎:物理對象元數據和UI元數據。UCF-MDD在擴展性上除了針對兩大元數據提供相關的設計器進行可視化的模型擴展之外,還有一個規則引擎,提供代碼級別的擴展機制,并預置了眾多默認規則。UCF-MDD向下對接UCF-CN規范,向上則通過規則實現和各類公共支撐服務的對接。UCF-MDD架構如圖2.18所示。

圖2.18 UCF-MDD架構
UCF-MDD需要體現更大的價值,除了完善框架本身的功能之外,陸續進行公共服務的對接和預置服務的默認規則的實現也很重要。為了擴大元數據范圍,可以將更多企業應用模型納入統一元數據管理。深入具體業務可以沉淀大量的行業業務模型作為元數據模板,也作為整個用友中臺的數據資產來提供支撐。以上都需要各領域和行業中臺能力服務的支持,所以希望更多的領域和伙伴參與進來,共同構建基礎能力,一起打造業務中臺的開發生態!
3. 數字化建模基礎規范及服務接口
UCF-DEM是數字化企業建模(如圖2.19所示),它提供企業數字化轉型過程中最基礎的業務模型,并提供模型與模型之間關系的維護管理功能。UCF-DEM是用友多年產品開發過程沉淀下來的一系列的數字化模型規范、接口契約、使用規范等。基于這些契約和規范可以實現各模型間的協議互通,也可以實現基于此協議的相同建模能力的替換和兼容。

圖2.19 UCF-DEM數字化企業建模
目前UCF-DEM是業務中臺的核心內容,包含企業中心、用戶中心、企業賬號中心等企業管理核心模型,也包含組織中心、權限中心、大量社會化數據和租戶級基礎數據服務,它可以解決組織管理、授權與管控,以及基礎檔案建模等相關問題。另外,它也包含大量業務日志、編碼規則、調度預警等支撐服務,對內能支撐領域和行業構建中臺能力,對外能幫助企業快速構建企業應用或構建企業自己的中臺服務。
隨著用友公司大力推進中臺能力的建設,UCF-DEM作為業務中臺的核心構成,也在進行融合發展。隨著用友云的大力發展及被眾多客戶使用,也會反向促使業務中臺各能力中心和支撐服務得到長足發展,支撐多個領域及行業云的融合和運行,實現中/高端不同客戶對能力的需求,并實現對其能力進行分層設計。
4. 開放擴展的機制與接口
UCF-OE是指能力的開放與擴展。在企業服務向中臺架構轉變的過程中,如何最大限度地利用已有能力,這對能力本身提出了很強的開放擴展要求。用友根據ToC互聯網應用的開放性和ToB企業應用的擴展性,總結了一套開放擴展的規范與機制,幫助大家更好地建設能力。
UCF-OE是用友云服務生態建設必不可少的一個重要環節,其開放及擴展能力如圖2.20所示。

圖2.20 UCF-OE開放及擴展能力
UCF-OE目前已經提供了UCG(統一能力網關)、開放平臺、云市場、APILink等支持微服務的快速開放能力。UCF-OE和UCF-CN、UCF-MDD緊密合作,制定擴展規范與機制,形成了用友云統一開發平臺的核心組成部分。同時和行業、領域客戶及伙伴一同構筑了用友混合云開放生態體系,如圖2.21所示。

圖2.21 用友混合云開放生態體系
5. 專屬化的規范標準和工具
UCF-EC是指專屬云,解決如何專屬化的問題。專屬云跟公有云一樣,也是一種云產品形態,在用友給客戶交付的產品中占主要的地位。不同于公有云服務,專屬云有其自身的特點,特別是在大型企業服務市場,由于數據和業務安全等原因,企業不太認可公有云模式。所以,用友需要提供給企業專門部署的云產品。專屬云其實涵蓋了兩個方面,一方面是部署到客戶機房和IDC的模式,類似于傳統的軟件交付模式;另一方面是在公有云上為客戶在隔離的IaaS資源之上進行產品的部署。
產品的專屬化,絕不僅是把公有云的產品進行下沉那么簡單。由于用友目前朝微服務架構的方向發展,服務之間的依賴,產品和組件的依賴關系日趨復雜(包括使用的中間件、配置)。在現有的研發模式下,產品架構設計缺乏專屬化相關的規范考慮和相關的支撐服務工具,導致現有的云產品在專屬化交付時的難度很大。一方面是研發的壓力,另一方面是測試的壓力。這相當于在云產品之外又進行了一套專屬云產品的開發,特別是在產品的打包、測試、發版和交付方面需要耗費很多的資源。云產品使用的組件和技術棧等各不相同,測試人員每介入一個新的產品,就得熟悉相關的技術和工具。另外,產品的部署各不相同,既增加資源的消耗,又減少了真正提高產品質量的開發人員。
UCF-EC就是為了解決現有云產品專屬化的問題而被提出來的。它通過工程規范、產品依賴規范、數據腳本規范等,結合產品打包工具、安裝器等服務,為云產品提供一套標準化的專屬化流程和工具。遵循UCF相關規范,就能夠在整個產品的研發周期中,通過自動化的規范和工具來解決專屬云版本部署包的生成、產品安裝部署等一系列的問題,從而提升研發效率和產品質量。用友iuap專屬云能力如圖2.22所示。

圖2.22 用友iuap專屬云能力
隨著邊緣計算、5G網絡的發展,未來的云架構會超越現有網絡架構的瓶頸和極限。隨著技術的進步及開源運動的進行,大多數的企業會轉向技術公司。這意味著越來越多的企業開始認同技術紅利帶來的突破性業務創新。企業可以通過團隊力量構建自己的技術服務,賦能自身的業務,進行業務的變革和創新。
未來,多云的模式會成為常態化,越來越多的企業會采用多種不同的云部署模式來構建自己的業務服務。多部署模式、架構的快速打包、在多環境下的快速復制/部署、滿足對產品化的要求、產品快速云上/云下的升遷,以及不同云環境間的轉移/復制,都是未來云服務設計及架構需求的重中之重。
- Advanced Quantitative Finance with C++
- AngularJS Testing Cookbook
- PHP 從入門到項目實踐(超值版)
- Python數據分析基礎
- Learn Swift by Building Applications
- 精通Scrapy網絡爬蟲
- C語言程序設計
- Hands-On Reinforcement Learning with Python
- The Complete Coding Interview Guide in Java
- Linux:Embedded Development
- Learning R for Geospatial Analysis
- Hands-On Nuxt.js Web Development
- 大話Java:程序設計從入門到精通
- 計算機應用基礎項目化教程
- 黑莓(BlackBerry)開發從入門到精通