《3-黃波-大型企業引入低代碼產品淺析.pdf》由會員分享,可在線閱讀,更多相關《3-黃波-大型企業引入低代碼產品淺析.pdf(34頁珍藏版)》請在三個皮匠報告上搜索。
1、大型企業引入低代碼產品淺析2023 深圳站黃波長期在編碼一線從事技術架構和平臺研發工作,曾打造過移動應用開發平臺、物聯網平臺、低代碼等產品。亞信科技 低代碼產品架構師嘉賓照片2023 深圳站目錄CONTENTS企業IT支撐的痛點01 低代碼產品在企業中的定位02 企業選型低代碼產品的關注點03 企業引入低代碼產品的三個階段04 下一步低代碼產品要解決的問題05 低無代碼&生成代碼&ChatGPT06 回顧總結07 2023 深圳站企業IT支撐的痛點缺乏可持續演進的統一技術棧。業務支撐的風險大,高居不下。隨著系統的演進和迭代,系統治理的難度越來越大,周而復始的重構。技術棧龐雜,開發人員能力參差不
2、齊,開發成本高居不下。業務發展迅速,需求變化頻繁,而需求和開發人員溝通成本大,轉換效率低。傳統開發缺乏靈活性,開發周期長,難以支撐業務與市場的快速變化。IT支撐痛點開發周期長轉換率低開發運維成本高系統治理難度大業務支撐風險大2023 深圳站05統一技術底座01物料體系建設02需求和業務梳理03封裝技術和規范04完整的治理體系低代碼產品的解決方式搭建復用的物料體系。提升產物復用,特別是提升業務復用。正向縮短需求到業務的鏈路,反向從系統中提煉業務設計,便于需求迭代。簡化技術組件使用,并將開發規范融入產品,提高開發效率,降低開發成本和門檻。使用低代碼開發出來的各類應用,都附帶完備的系統治理功能。統一
3、技術棧和開發架構,形成統一的開發標準,降低遷移、迭代的風險。2023 深圳站低代碼產品在大型企業中的定位企業級系統三部分加強對已知業務能力的沉淀和復用,提升對未知業務開發的效能和質量。COTS(Commercial Off-The-Shelf)穩定的核心業務功能Configuration通過配置實現的靈活性業務Customization通過工具實現定制開發的業務提升效能和質量2023 深圳站低代碼選型思路和關注點容易上手,能力分級。使用低代碼開發出來的各類應用,都附帶完整的系統、數據治理體系。能夠同現有的組織體系、郵件系統、消息推送等內外部能力打通。區隔好產品實施時二次定制開發的邊界,低代碼產
4、品無法滿足的能力可以定制開發實現。確保數據安全、應用安全、訪問可控、認證等。適應適配企業已有的IT基礎設施。風格、樣式、組件支持自定義,滿足使用習慣。能夠從前到后創建一個完整的應用系統。產品功能是否可以解耦售賣,降低初次使用單價。易用性可觀測完整性易集成適應性性價比安全性擴展性2023 深圳站05業務審批01界面編排02模型設計03數據可視化04表單設計大型企業使用低代碼產品的功能提供拖拽式的界面編排工具,并與后端服務集成,實現業務功能。延伸面向業務屬性的界面編排。元數據能力衍生,除了數據模型和領域模型的定義,還對校驗、邏輯、展現均提供元數據定義?;跀祿治龅慕Y果進行報表、大屏、自定義圖表等
5、可視化展現?;诜?、模型、SQL生成原子表單。提供請假單、調查表、投票等簡潔的數據收集功能。業務流程引擎結合表單引擎靈活配置審批流程。06案例模板庫提供一系列的低代碼產物和案例,便于學習、復制,降低使用門檻。2023 深圳站大型企業使用低代碼產品的功能協同開發發布管理版本管理運維監控運營工具集成體系擴展體系企業租戶2023 深圳站企業引入低代碼產品的三個階段融入現有系統系統認證操作權限數據權限高效業務賦能系統持續治理復雜性復用性易用性穩定性觸點調用鏈監控預警0102032023 深圳站階段一:融入現有系統-系統認證支持多種系統認證協議OAuth2、JWT、LDAP、CAS。認證接入實現配置化
6、認證協議、認證地址、認證數據格式、認證判斷策略、認證提示信息等??缦到y認證性能優化目的是減少每次認證的請求交互,降低認證服務壓力,提升性能。委托令牌設計。主系統委托子系統在一段時間來獨自驗證Token,避免頻繁交給主系統驗證Token。目的1.用戶和權限的創建均在企業現有認證系統中操作完成。2.定義認證的流程、接口的格式,認證實現配置化,靈活對接不同的認證系統。3.從登錄、界面加載、服務請求等多環節實行認證,全方位保障。2023 深圳站階段一:融入現有系統-操作權限目的1.企業的權限系統負責統一管理和分配用戶權限。2.菜單、按鈕和其他均屬于操作元素,均可受管控。3.創建業務功能后,開啟操作權限
7、,將菜單和按鈕信息同步到企業權限系統。支持多種服務調用方式RESTful、RPC、Webservice、MQTT。配置化實現權限信息跨系統同步調用方式、請求路徑、出入參格式等支持配置。權限編碼規則適配不同權限系統的編碼規則,同時建立操作元素和權限編碼映射。2023 深圳站階段一:融入現有系統-數據權限目的1.使用企業現有的數據模型進行業務擴展,需要進行數據權限管控。2.基于數據過濾器實現數據權限控制,需要在數據過濾條件處進行設計和優化。數據權限的擴展點在SQL生成的邏輯節點中,設計和插入數據權限管控的擴展點。數據權限的SQL AST這里主要用于SQL查詢語句的語法樹結構。實現在WHERE節點的
8、條件子節點擴展。SQL AST亦是SQL的低代碼DSL。數據權限的上下文登錄后的用戶權限信息會用在數據權限的編輯過程中,成為數據的過濾條件。2023 深圳站階段二:高效業務賦能-應對復雜性一、如何滿足復雜業務的前端實現前端擴展1.界面動態腳本。前端預制規則無法滿足復雜業務時使用。通過前端動態化設計動態加載自定義腳本,滿足定制開發需求。其中,腳本引擎內置常用函數、上下文,簡化使用。并支持函數自定義擴展。2.控件擴展:可擴展自定義控件,集成額外的功能,例如地圖、支付、社交。3.數據綁定:屬于特定交互事件的擴展,數據與界面元素進行綁定時支持格式適配和轉換。4.表單驗證:支持自定義正則表達式。2023
9、 深圳站階段二:高效業務賦能-應對復雜性二、如何滿足復雜業務的后端實現后端擴展1.表達式節點擴展。注冊自定義的小顆粒度原子業務方法和工具方法,表達式作為膠水代碼來組裝邏輯。2.業務行為節點擴展。自定義大顆粒度的業務方法,以節點方式復用。3.服務節點擴展。注冊自定義的業務服務,以節點方式復用。4.子流程節點擴展。復用邏輯流程。子流程和主流程相互隔離,可嵌入執行,亦可獨立執行。2023 深圳站低代碼系統現有業務系統階段二:高效業務賦能-應對復用性三、如何滿足低代碼同現有系統的集成前端集成1.鏈接集成:以iframe嵌入方式集成到現有系統中使用。優點:隔離好,解耦。缺點:遠程加載慢。2.SDK集成:
10、提供界面解析引擎SDK集成到現有系統中使用。優點:加載效率高、體驗好。缺點:產品耦合,SDK更新有成本。3.微前端集成:以微前端技術集成到現有系統中,業務系統作為主應用來加載使用。優點:加載效率高、體驗好、解耦。缺點:管控難度較大。后端集成將低代碼創建的服務和專業代碼開發的服務,均注冊到微服務體系的服務注冊中心中。既可集成到邏輯編排引擎中作為服務節點使用,亦可供網關組件調用。數據存儲后端服務前端頁面瀏覽器/客戶端低代碼應用后端低代碼應用前端2023 深圳站階段二:高效業務賦能-應對復用性四、如何通過低代碼賦能業務人員實現業務沉淀從前到后實現業務模型復用需求分析后設計業務模型,基于業務模型延伸渲
11、染模型、校驗模型、存儲模型的元數據設計,從業務界面、業務規則、數據存儲三個方面實現復用。擴大業務模型的定義范圍,一次定義,多次使用。服務管理模塊中注冊已有業務服務實現復用將常用的業務服務打包成庫注冊到低代碼產品中。以API接口形式暴露,使開發人員能夠輕松調用已存在的服務。而且,統一的服務管理更易于管控和升級。前端界面模版復用開發人員可使用模板來加速應用程序的構建,并根據自己的需求進行定制化修改。使用業務模板可以顯著減少開發時間和成本。2023 深圳站階段二:高效業務賦能-應對易用性五、如何簡化低代碼的使用讓受眾面更廣提供簡單業務的操作范式以SQL為基礎,創建數據查詢表單。通過入參格式轉換、基礎
12、規則校驗、業務規則校驗、SQL執行、出參格式轉換等步驟高效創建。以表模型為基礎,創建數據維護表單。通過基礎規則校驗、業務規則校驗、數據操作執行等步驟高效創建。低代碼模塊獨立使用服務邏輯編排能實現數據能力開放。移動端低代碼,能構建一套內置的小程序生態。需求分析業務流程業務模型功能模塊數據流和格式界面編排邏輯編排流程編排數據維護表單業務原子行為數據查詢表單儀表盤/大屏/圖表統計數據模型業務SQL2023 深圳站階段二:高效業務賦能-應對穩定性六、低代碼應用升級如何保障業務穩定性低代碼引擎升級會影響所有業務,存在隱患。核心模塊升級滯后核心和非核心業務隔離部署,分別進行低代碼引擎版本管控。減少非核心業
13、務變化帶來的核心業務低代碼引擎升級,降低隱患。特定場景使用代碼生成模式針對特定場景,提供腳手架生成代碼模式。讓高并發、核心、復雜的業務能夠通過少量二次開發定制實現,確保穩定性和性能。自動化生成測試用例針對低代碼生成的應用功能,自動化生成全覆蓋的測試用例,及時發現低代碼引擎升級帶來的業務影響?,F有業務系統核心業務低代碼v1.0非核心業務低代碼v1.0升級后業務系統核心,v1.1非核心,v1.1升級后業務系統核心,v1.0非核心,v1.1核心模塊低代碼升級非核心模塊低代碼升級腳手架代碼生成高并發/核心/復雜功能(20%)少量二開手動生成測試用例低代碼生成低代碼當前適合功能(80%)基于低代碼規則自
14、動成測試用例2023 深圳站階段三:系統持續治理低代碼產品的其中一項核心能力就是將業務軟件的組成元素進一步抽象,使其能夠通過可視化界面來配置和編輯。在業務軟件分解的過程中,我們會對業務軟件各類組成元素進行更加精細的管理和管控,從而衍生出更多的軟件治理能力。觸點行為分析UI控件中植入SDK采集操作行為數據,相比以往的無入侵行為信息采集,更具深度。調用鏈分析基于組件更易建立調用鏈條的關聯關系。使得業務系統組成元素的治理、追蹤、溯源等能力更加完善。SQL分析和監控預警SQL統一管理,監控所有SQL執行效率,實時預警。對于執行的SQL進行定期的執行計劃分析。組件拓撲治理建立組件和組件、組件和業務、業務
15、和業務之間的關聯管理,清晰體現變更影響的范圍。UI控件低代碼應用界面觸發事件界面交互業務規則數據處理內部接口調用外部接口調用服務觸點行為分析調用鏈分析SQL性能分析SQL統計SQL監控服務調用統計服務調用監控接口調用監控接口調用統計2023 深圳站低代碼的組裝式開發應用模塊業務組件原子組件業務系統業務系統公告管理公告管理權限管理權限管理組織管理組織管理用戶管理用戶管理周報管理周報管理請假審批請假審批考勤管理考勤管理產品變更組件產品變更組件用戶信息組件用戶信息組件組織樹組件組織樹組件功能業務功能業務功能B B物模型組件物模型組件打卡組件打卡組件搜索組件搜索組件模型數據模型數據模型領域模型領域模型
16、界面布局布局元素元素視圖視圖事件事件控件控件業務功能業務功能A A業務功能業務功能C C服務過程化邏輯過程化邏輯中間件使用中間件使用數據操作數據操作子服務子服務腳本腳本函數函數低代碼設計界面界面DSL+DSL+引擎引擎服務服務DSL+DSL+引擎引擎模型模型DSL+DSL+引擎引擎技術棧服務端前端前端框架前端框架(Vue)(Vue)前端庫前端庫(Element)(Element)自定義前端庫自定義前端庫服務框架服務框架(Spring)(Spring)持久層框架持久層框架MQMQCacheCacheFileSystemFileSystemJobJob語言JSJSCSSCSSHTMLHTMLiOS
17、iOSJavaJavaAndroidAndroid2023 深圳站除了業務建模能力、界面編排能力、邏輯編排能力、流程編排能力,還包含:大型企業使用低代碼產品的形式運維態能力基于低代碼的各種運維能力,包含:一鍵私有化部署、版本管理、灰度發布、問題定位、鏈路跟蹤、性能監控、日志監控。管理態能力基于低代碼的各層級各維度的管理能力,包含:應用管理、模板管理、物料管理、服務管理、SQL管理。其他協同開發的能力、異構數據源接入能力。2023 深圳站下一步低代碼產品要解決的問題實現業務的沉淀和復用實現系統功能和業務需求的梳理正向縮短業務需求到系統功能的鏈路,反向提煉系統的業務需求,保障系統的迭代。成本和質量
18、需要平衡的海量測試低代碼是有一定規則的開發模式,對應規則可以自動化生成測試用例。低代碼產品實現了技術復用以后,需要讓業務人員自行實現業務上的復用。提供量化體系體現價值用數據指標來體現低代碼產品帶來的價值,如:新需求開發周期縮短、新功能平均BUG數降低等。2023 深圳站低無代碼&生成代碼&ChatGPT組裝規則API化,結合自然語言處理技術提升低代碼產品使用效果。需要依賴開發框架,在一定規則下去生成。比如一套開發業務系統的技術棧:Vue+Element+SpringMvc+SpringBoot+Mybatis+Mysql。生成模型代碼:生成模型、生成SQL;生成前端代碼:生成提交表單、生成查詢
19、表單;生成后端代碼:生成實體類、生成服務邏輯。組裝規則范例:UI:布局,拖拽事件,屬性設置,服務事件。服務:存取數、格式轉化、校驗、業務規則、中間件調用。模型:定義模型,ER關系,原子邏輯。低無代碼&ChatGPT生成代碼&ChatGPT一方面是設定好的組裝規則下生成代碼,一方面是復用沉淀的代碼靈活組裝。2023 深圳站回顧低代碼01.融入現有系統關注02.高效業務賦能03.系統持續治理思路功能三個階段認證權限擴展集成簡化版本系統對接觸點 調用鏈 SQL 關系下一步量化業務復用測試用例需求映射業務 產品小顆粒度自動化覆蓋正反向開發標準上下文限定組裝結合GPT開發周期轉化運維成本治理技術風險物料
20、需求技術規范治理統一底座核心規律定制編輯方式配置分級痛點解決方式定位復雜復用易用穩定2023 深圳站總結融入業務流程業務層面易用性深入業務快速低成本適配低代碼產品個性化助力自研量化服務感謝聆聽CSDN全球最大的中文開發者社區平臺CSDN全球最大的中文開發者社區平臺CSDN創立于1999年全球編程類網站排名第7(來源:Similarweb 2023.04)注冊用戶超過4300萬,覆蓋90%的中文開發者新媒體矩陣粉絲數量超過3100萬超過1000家企業客戶和合作伙伴目前公司員工近800名,分布在北京、長沙、上海、深圳、杭州、成都等城市,并在美國硅谷常設辦事處旗下品牌旗下品牌專業中文IT技術社區:CSDN.NET多媒體專業出版:新程序員開發者專屬移動APP:CSDN APP代碼托管協作平臺:GitCode代碼工具協同平臺:InsCodeIT人力資源服務:科銳??怂关俗W絡高校IT技術學習成長平臺:高校俱樂部