康世杰,黃 鶴
(1.成都東軟學(xué)院信息與商務(wù)管理學(xué)院,四川成都 611844;2.阿里云計算有限公司,浙江杭州 310024)
廣義的低代碼(Low-Code)概念由Forrester于2014年首次正式提出,定義為:能夠以最少的手寫代碼和設(shè)置快速開發(fā)應(yīng)用、配置和部署業(yè)務(wù)應(yīng)用程序.同時,與低代碼密切相關(guān)的兩個概念是:純代碼(Pro-Code)和無代碼(No-Code)[1].如果定義純代碼的開發(fā)代碼量是100,那么無代碼就是0[2],上述三者之間的關(guān)系[3]可表述為公式(1)所示:
廣義的低代碼=無代碼*X%+純代碼(1-X%)
(1)
其中X(0≤X≤100)代表了可復(fù)用的“數(shù)字化資產(chǎn)”[4]滿足業(yè)務(wù)需求的程度.X值越大,滿足業(yè)務(wù)需求的程度越高,但同時,靈活性會被削弱[5].當X=0時,就是純代碼;0 2014年后,低代碼市場發(fā)展迅速.研究機構(gòu)Gartner預(yù)測,2024年應(yīng)用軟件開發(fā)活動當中的65%將通過低代碼方式完成,同時75%的大型企業(yè)將使用至少四種低代碼開發(fā)工具進行應(yīng)用開發(fā).從2021年到2026年,中國低代碼市場收入將以25.4%的復(fù)合年增長率(CAGR)增長[6].同時,行業(yè)參與者的隊伍也迅速壯大,國外的低代碼行業(yè)領(lǐng)導(dǎo)者包括:OutSystems、Mendix、Microsoft、Salesforce、ServiceNow等[7-8].國內(nèi)的低代碼行業(yè)領(lǐng)先者包括:阿里巴巴(宜搭)、葡萄城(活字格)、第四范式(HyperCycle)、百度(愛速搭)、華為(應(yīng)用魔方)、騰訊(微搭)、ClickPaaS等[9]. 雖然低代碼市場發(fā)展迅速,低代碼開發(fā)也有著上手快、開發(fā)快、運行快和運維快的特點,但是,低代碼行業(yè)的參與者,大多只從自己擅長領(lǐng)域入手,進行平臺架構(gòu)設(shè)計,缺少針對企業(yè)級應(yīng)用復(fù)雜性的整體考量,導(dǎo)致市場的企業(yè)級低代碼開發(fā)平臺標準不統(tǒng)一,產(chǎn)品品質(zhì)參差不齊[10].在低代碼、無代碼產(chǎn)品急速發(fā)展、賦能業(yè)務(wù)的時期,亟需推出統(tǒng)一的企業(yè)級低代碼開發(fā)平臺關(guān)鍵能力指標和低代碼開發(fā)平臺架構(gòu)標準,更好的規(guī)范、促進行業(yè)發(fā)展和業(yè)務(wù)創(chuàng)新. 研究機構(gòu)Gartner將低代碼開發(fā)平臺(Low-Code Development Platform,LCDP)定義為通過抽象和最小化手動編碼來快速開發(fā)和部署自定義應(yīng)用程序的一種開發(fā)工具或軟件.必須包括如模型驅(qū)動或帶有腳本的圖形編程方法在內(nèi)的低代碼能力,來開發(fā)包含了從UI、業(yè)務(wù)邏輯、到工作業(yè)務(wù)流和數(shù)據(jù)服務(wù)的完整應(yīng)用[6]. 低代碼平臺面向的用戶群體是無需專業(yè)開發(fā)能力的“公民開發(fā)者”(Citizen Developers)和“專業(yè)開發(fā)者”(Professional Developers),以及“專業(yè)和公民開發(fā)者融合團隊”(Professional and Citizen Developers)[6,11]. (1)“公民開發(fā)者”是指來自財務(wù)、銷售、運作等自業(yè)務(wù)部門,本職工作與IT無關(guān)但參與到軟件開發(fā)中的業(yè)務(wù)開發(fā)者,完全可以自己或者在技術(shù)人員The Critical capability indicators and Architecture of LCDP的指導(dǎo)下開發(fā)出更符合特定業(yè)務(wù)工作需求的應(yīng)用程序[11]. (2)“專業(yè)開發(fā)者”是指服務(wù)于企業(yè)IT部門或軟件的公司IT技術(shù)人員,包含程序員、項目經(jīng)理、實施顧問等,可通過可視化、流程化的開發(fā)方式,實現(xiàn)相比于純代碼模式更高效的開發(fā)[11]. (3)“專業(yè)和公民開發(fā)者融合團隊”是指由IT技術(shù)人員和業(yè)務(wù)開發(fā)者組成的團隊[11]. 從“基礎(chǔ)設(shè)施架構(gòu)演進”的角度看,經(jīng)典代碼開發(fā)平臺到低代碼開發(fā)平臺經(jīng)歷的5個發(fā)展階段[12],如圖1所示. 圖1 代碼開發(fā)平臺的5個發(fā)展階段Fig.1 Five development stages of code development platform 第一階段:純物理環(huán)境階段.經(jīng)典代碼開發(fā)平臺的軟、硬件基礎(chǔ)設(shè)施都需要自建,所有環(huán)境都是純物理設(shè)備;第二階段:IaaS(Infrastructure as a Service基礎(chǔ)設(shè)施即服務(wù))階段.代碼開發(fā)平臺擺脫了自建硬件的束縛,使用者將主要精力放在軟件環(huán)境的搭建和自建應(yīng)用上;第三階段:PaaS(Platform as a Service平臺即服務(wù))階段.代碼開發(fā)平臺進一步擺脫了自建系統(tǒng)軟件的束縛,使用者將主要精力集中在自建應(yīng)用上;第四階段:SaaS(Software as a Service 軟件即服務(wù))階段.使用者可以直接使用高度封裝的應(yīng)用軟件服務(wù),完全不用自建應(yīng)用.但在實踐中,發(fā)現(xiàn)SaaS的短板:定制性太弱.因此在SaaS的基礎(chǔ)上,又演進出aPaaS的軟件服務(wù)體系;第五階段:aPaaS(Application Platform as a Service 應(yīng)用程序平臺即服務(wù))階段.Gartner對aPaaS的定義是:aPaaS是基于PaaS的一種解決方案,支持應(yīng)用程序在云端的開發(fā)、部署和運行,提供軟件開發(fā)中的基礎(chǔ)工具給用戶,包括數(shù)據(jù)對象、權(quán)限管理、用戶界面等.在aPaaS模式下,非技術(shù)人員可以直接在云端完成應(yīng)用程序的搭建、部署、使用、更新和管理,整個過程所見即所得,可以不需要專業(yè)技術(shù)人員的參與,成本低、速度快. 1.4.1 按照開發(fā)模式 按搭建應(yīng)用時開發(fā)模式,可將廣義低代碼平臺分為狹義低代碼平臺和無代碼平臺兩種,二者均可通過可視化界面,對封裝好的代碼模塊進行拖拉拽來完成應(yīng)用搭建[13].其中狹義低代碼平臺主要服務(wù)關(guān)注業(yè)務(wù)邏輯的開發(fā)部門,需要編寫少量代碼進行模塊銜接或功能拓展;無代碼平臺更強調(diào)低代碼的低門檻,僅需理順業(yè)務(wù)邏輯即可快速搭建流程管理、表單等輕量級應(yīng)用.整體上看,低代碼平臺的函數(shù)與系統(tǒng)解耦,在少量代碼的支持下應(yīng)用場景較廣,而無代碼輕量便捷,搭建速度快,賦予業(yè)務(wù)部門更多自主權(quán). 1.4.2 按照底層驅(qū)動技術(shù) 按照低代碼平臺的底層驅(qū)動技術(shù),可劃分為表單驅(qū)動、模型驅(qū)動[11,13].表單驅(qū)動直接關(guān)注業(yè)務(wù)場景,以數(shù)據(jù)表為核心、以工作流為媒介構(gòu)建應(yīng)用.模型驅(qū)動從業(yè)務(wù)場景中抽象出模型,如數(shù)據(jù)模型[14]、本體論需求模型[15]和集成經(jīng)營過程模型[16]構(gòu)建頁面和業(yè)務(wù)流,其應(yīng)用場景更加復(fù)雜且廣泛.整體上看,低代碼正從表單驅(qū)動向模型驅(qū)動遞進,其功能性逐漸提升,覆蓋更多業(yè)務(wù)場景. 1.4.3 按照應(yīng)用場景 按照低代碼平臺的應(yīng)用場景,可將其劃分為通用型和垂直型[13].通用型低代碼平臺覆蓋各行業(yè)各場景,有多種行業(yè)模板和解決方案可供用戶挑選.垂直型低代碼平臺深耕特定行業(yè)或特定場景,針對不同行業(yè)屬性和場景特點提供專業(yè)性高的模板和解決方案. 1.4.4 按照技術(shù)類型 按照低代碼平臺的技術(shù)類型,可將其劃分為9種類型[9]:數(shù)字流程自動化(BPM)、公有云、面向?qū)I(yè)開發(fā)者的低代碼開發(fā)平臺、面向公民開發(fā)者的低代碼開發(fā)平臺、AI/機器學(xué)習(xí)、BI、協(xié)作管理、流程自動化機器人(RPA)和數(shù)字化運營平臺. 企業(yè)級應(yīng)用復(fù)雜性分析是分析低代碼開發(fā)平臺關(guān)鍵能力指標和設(shè)計平臺架構(gòu)的前提.企業(yè)級應(yīng)用是承載企業(yè)核心價值鏈業(yè)務(wù)的主要應(yīng)用平臺,而企業(yè)級應(yīng)用開發(fā)平臺則是用以提升開發(fā)效率的工具.只有正確地理解和分析企業(yè)級應(yīng)用復(fù)雜性,才能明確開發(fā)平臺需要具備哪些關(guān)鍵能力,才能設(shè)計出適合的平臺架構(gòu),定制出適合的企業(yè)級應(yīng)用. 企業(yè)級應(yīng)用復(fù)雜性分為三類[17-18]:一類為業(yè)務(wù)復(fù)雜性,一類為技術(shù)復(fù)雜性,一類為應(yīng)用全生命周期管理復(fù)雜性.如表1所示. 表1 企業(yè)級應(yīng)用復(fù)雜性分類Tab.1 Enterprise application complexity classification 企業(yè)級低代碼開發(fā)平臺關(guān)鍵能力指標(后稱:關(guān)鍵能力指標),是專門針對企業(yè)級應(yīng)用復(fù)雜性提出的應(yīng)對方案集合[19-20],以及相關(guān)的系統(tǒng)和軟件質(zhì)量要求[21],目的是通過提升開發(fā)平臺的能力,解決應(yīng)用的各類復(fù)雜性問題. (1)針對業(yè)務(wù)復(fù)雜性,提出了基礎(chǔ)的應(yīng)用開發(fā)能力指標、可視化能力指標、應(yīng)用業(yè)務(wù)流程管理提升能力指標等. (2)針對技術(shù)復(fù)雜性,提出了專業(yè)的應(yīng)用開發(fā)能力指標、應(yīng)用部署能力指標、平臺安全與合規(guī)管理能力指標、應(yīng)用的內(nèi)外部集成化能力指標、穩(wěn)健的服務(wù)能力指標、業(yè)務(wù)創(chuàng)新能力指標等. (3)針對管理復(fù)雜性,提出了應(yīng)用全生命周期管理能力指標、可視化提升能力指標等. 按照各種關(guān)鍵能力指標的重要程度和復(fù)雜程度,進行了指標的細化和分級[6,11,19],包括:初級能力指標、中級能力指標和高級能力指標. 主要是面向“公民開發(fā)者”,解決基礎(chǔ)的“表單/辦公自動化”應(yīng)用開發(fā)、應(yīng)用部署等問題,以及基本的應(yīng)用全生命周期管理、平臺安全與合規(guī)、服務(wù)能力等問題,如表2所示. 表2 初級能力指標Tab.2 Primary capacity indicators 主要是面向“專業(yè)和公民開發(fā)者融合團隊”,解決較為復(fù)雜的模型驅(qū)動開發(fā)、業(yè)務(wù)流程管理提升、應(yīng)用的內(nèi)外部集成等問題,如表3所示. 表3 中級能力指標Tab.3 Intermediate Capability Index 主要是面向“專業(yè)開發(fā)者”,解決更為復(fù)雜的、特殊的、個性化的業(yè)務(wù)創(chuàng)新、應(yīng)用生態(tài)部署、可視化提升等問題,如表4所示. 表4 高級能力指標Tab.4 Advanced capability indicators 企業(yè)級低代碼開發(fā)平臺架構(gòu),是實現(xiàn)企業(yè)級低代碼開發(fā)平臺關(guān)鍵能力指標的信息技術(shù)工具集合及其關(guān)系的抽象描述.用于指導(dǎo)企業(yè)級低代碼開發(fā)平臺(后稱:平臺)的設(shè)計,評估平臺的能力等級,幫助企業(yè)根據(jù)自己的需求進行平臺的選型. 在充分考慮關(guān)鍵能力指標的基礎(chǔ)上,為保證開發(fā)的應(yīng)用有更長的生命周期,在架構(gòu)設(shè)計上,支持開放的、多層次的、服務(wù)化的架構(gòu)方式,綜合文獻[22-24]考慮多種架構(gòu)方式,設(shè)計了平臺架構(gòu),如圖2所示. 圖2 企業(yè)級低代碼開發(fā)平臺架構(gòu)Fig.2 Architecture of Enterprise-Level LCDP 為滿足部分關(guān)鍵能力指標的要求,平臺外部架構(gòu)主要包括以下七個組成部分: (1)平臺應(yīng)遵從安全與合規(guī)管理的要求,滿足保密性、完整性、抗抵賴性、可核查性、真實性、信息安全性的依從性等要求[10];(2)針對應(yīng)用管理,平臺作為BizDevOps的一部分,被納入企業(yè)應(yīng)用全生命周期管理中[1,20];(3)平臺聚合多樣的系統(tǒng)運行環(huán)境,集成各種類型的中間件[26],支持SQL數(shù)據(jù)庫、NoSQL數(shù)據(jù)庫和外部數(shù)據(jù)源等多種類型的數(shù)據(jù)管理形態(tài),支持公有云、私有云、混合云和本地化等應(yīng)用部署方式[27];(4)平臺雙向集成第三方軟硬件和數(shù)據(jù)資源,保證平臺的開放性和包容性,以對接物聯(lián)網(wǎng)IoT、RPA機器人、ML機器學(xué)習(xí)等新的技術(shù);(5)平臺支持事務(wù)處理、數(shù)據(jù)統(tǒng)計、數(shù)據(jù)分析和決策支持等多種應(yīng)用場景的開發(fā);(6)平臺支持如ERP、CRM、CAX和SCM等多種類型的應(yīng)用軟件開發(fā);(7)平臺支持如機械行業(yè)、電子行業(yè)、化工行業(yè)和服務(wù)行業(yè)等多種行業(yè)的應(yīng)用軟件開發(fā). 平臺內(nèi)部架構(gòu)主要包括以下五個組成部分: (1)平臺支持多端開發(fā)和發(fā)布.開發(fā)者可以通過PC端、移動端接入完成開發(fā),只需要一鍵發(fā)布,就可以完成各類大屏展示端、PC端、移動端等多端部署和訪問[28];(2)面向公民開發(fā)者,平臺提供可視化開發(fā)功能[29],支持表單驅(qū)動或模型驅(qū)動模式的可視化開發(fā),頁面可視化編排、流程可視化編排和邏輯可視化編排等功能,實現(xiàn)全流程的可視化開發(fā)能力;(3)面向熟悉業(yè)務(wù)的專業(yè)開發(fā)者,平臺提供編程擴展功能,包括前端開發(fā)和后端開發(fā)的擴展,與可視化開發(fā)互為補充,在提高平臺易用性的同時,保持平臺的靈活性,覆蓋更多的業(yè)務(wù)場景;(4)平臺支持企業(yè)數(shù)字化資產(chǎn)管理,包括各類模板庫、組件庫、元數(shù)據(jù)、平臺接口與服務(wù)等[4],為可視化開發(fā)提供有力的支持,實現(xiàn)企業(yè)數(shù)字化資產(chǎn)在多個項目間的快速復(fù)用;(5)面向技術(shù)能力較強的專業(yè)開發(fā)者,平臺支持數(shù)字資產(chǎn)開發(fā)的功能,有針對性的開發(fā)新的模板和組件,不斷豐富企業(yè)數(shù)字化資產(chǎn)庫,實現(xiàn)平臺能力的整體提升. 本文首先分析了企業(yè)級應(yīng)用復(fù)雜性問題,包括業(yè)務(wù)復(fù)雜性、技術(shù)復(fù)雜性和應(yīng)用全生命周期管理復(fù)雜性;然后,有針對性的提出了企業(yè)級低代碼開發(fā)平臺關(guān)鍵能力指標,包括:面向“公民開發(fā)者”的初級能力指標,面向“專業(yè)和公民開發(fā)者融合團隊”的中級能力指標和面向“專業(yè)開發(fā)者”的高級能力指標;最后,秉承開放的、多層次的、服務(wù)化的架構(gòu)方式,設(shè)計了企業(yè)級低代碼開發(fā)平臺架構(gòu),包括平臺架構(gòu)圖、外部架構(gòu)的七個組成部分和內(nèi)部架構(gòu)的五個組成部分. 未來可從以下六個方向開展研究: (1)平臺關(guān)鍵能力指標細化和平臺架構(gòu)細化研究.本文是站在整體架構(gòu)的角度,提出的關(guān)鍵能力指標和平臺架構(gòu),未來的研究,可以在此基礎(chǔ)上,進一步細化其中的內(nèi)容,有助于形成更完整的能力指標體系和更詳盡的平臺架構(gòu)細節(jié);(2)低代碼開發(fā)方法論集合研究.低代碼開發(fā)平臺改變了應(yīng)用開發(fā)過程,對傳統(tǒng)的軟件工程方法論提出了挑戰(zhàn),因此,針對不同類型的低代碼開發(fā)平臺,需要提出適配的應(yīng)用開發(fā)方法論,最終與關(guān)鍵能力指標對應(yīng),形成一套完整的低代碼開發(fā)方法論集合;(3)平臺產(chǎn)品技術(shù)分類研究.使用關(guān)鍵能力指標和平臺架構(gòu)定期評估市場上現(xiàn)有的低代碼平臺產(chǎn)品,對不同的產(chǎn)品按能力等級、適用的開發(fā)者、實現(xiàn)的功能細節(jié)等進行技術(shù)分類;(4)平臺產(chǎn)品選型研究.在技術(shù)分類的基礎(chǔ)上,企業(yè)可以根據(jù)自己的長中短期的不同層次的需求,研究如何匹配合適的平臺產(chǎn)品;(5)平臺產(chǎn)品的市場研究.在企業(yè)需求和產(chǎn)品分類的匹配基礎(chǔ)上,可以對不同的平臺產(chǎn)品進行市場定位、客戶群識別、營銷策劃、定價方案、合作伙伴發(fā)展等市場方面的研究;(6)低代碼的教育研究.低代碼市場發(fā)展迅速,必然促進相應(yīng)的人才培養(yǎng).面向“公民開發(fā)者”的通識教育,面向“專業(yè)開發(fā)者”的職業(yè)教育,都變得同等重要,根據(jù)不同類型群體的開發(fā)不同的課程、培養(yǎng)計劃、培訓(xùn)資料和考級認證體系等進行研究.1 低代碼開發(fā)平臺介紹
1.1 低代碼開發(fā)平臺的定義
1.2 低代碼開發(fā)平臺的用戶群體
1.3 低代碼開發(fā)平臺的發(fā)展
1.4 低代碼平臺的分類
2 企業(yè)級應(yīng)用復(fù)雜性分析
3 企業(yè)級低代碼開發(fā)平臺關(guān)鍵能力指標分析
3.1 初級能力指標
3.2 中級能力指標
3.3 高級能力指標
4 企業(yè)級低代碼開發(fā)平臺架構(gòu)
4.1 平臺架構(gòu)圖
4.2 平臺外部架構(gòu)
4.3 平臺內(nèi)部架構(gòu)
5 結(jié)論