低代碼平臺(tái)中的“模型驅(qū)動(dòng)”與“表單驅(qū)動(dòng)”有何區(qū)別?
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
低代碼定義: 低代碼是近幾年比較火的一種應(yīng)用程序快速開發(fā)方式,它能幫助用戶在開發(fā)軟件的過(guò)程中大幅減少手工編碼量,并通過(guò)可視化組件加速應(yīng)用程序的高效交付。(低代碼的定義來(lái)自Forrester報(bào)告,被認(rèn)為是低代碼一詞的起源)。 而這顯然不是軟件工程界第一次試圖通過(guò)結(jié)合可視化開發(fā)技術(shù)(我們稱之為“模型”)和代碼自生成來(lái)減少手工編碼。事實(shí)上,正如GradyBooch所說(shuō),軟件工程的整個(gè)歷史都是關(guān)于提高抽象層次的。低代碼是減少開發(fā)應(yīng)用程序所需手工編碼量的最新嘗試。而這也是我們從軟件工程開始之初就一直追求的目標(biāo)。 通常來(lái)講,低代碼開發(fā)平臺(tái)在設(shè)計(jì)思想上可以分為“表單驅(qū)動(dòng)”和“模型驅(qū)動(dòng)”兩種。前者將頁(yè)面的表單和數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)合二為一,而后者則與純代碼開發(fā)類似,實(shí)現(xiàn)了數(shù)據(jù)與表現(xiàn)得完全分離。那么二者之間究竟有何區(qū)別呢?下面給大家詳細(xì)講解:低代碼平臺(tái)中的“模型驅(qū)動(dòng)”與“表單驅(qū)動(dòng)”有何區(qū)別? 一、表單驅(qū)動(dòng)1、表單驅(qū)動(dòng)是什么? 表單驅(qū)動(dòng)是傳統(tǒng)BPM的典型標(biāo)志,也是使用Excel做數(shù)據(jù)管理的常見做法:為了實(shí)現(xiàn)某個(gè)業(yè)務(wù)目標(biāo),利用計(jì)算機(jī)在多個(gè)參與者之間按某種預(yù)定規(guī)則自動(dòng)傳遞文檔、信息或者任務(wù)。一些從BPM或者Excel服務(wù)器類產(chǎn)品轉(zhuǎn)型而來(lái)的低代碼開發(fā)平臺(tái),大多延續(xù)了這種表單驅(qū)動(dòng)的模式。 簡(jiǎn)單來(lái)說(shuō):如果不需要再配置數(shù)據(jù)庫(kù)實(shí)體,直接集成在表單中,也就不能對(duì)數(shù)據(jù)庫(kù)進(jìn)行直接操作,稱為表單驅(qū)動(dòng)。 2、表單驅(qū)動(dòng)優(yōu)勢(shì)有哪些? 表單驅(qū)動(dòng)在軟件定制方面的優(yōu)勢(shì)有: (1)、通用流程定制支持:通過(guò)針對(duì)流程過(guò)程中的抽象充分考慮到了流轉(zhuǎn)過(guò)程中的權(quán)限分配模型。在一定程度上可以更靈活地完成審批業(yè)務(wù)上的定制。瞞住大部分流轉(zhuǎn)業(yè)務(wù)。 (2)、權(quán)限集成化設(shè)計(jì):根據(jù)業(yè)務(wù)特點(diǎn),以表單和流程為中心,最大程度地集成權(quán)限模型,實(shí)現(xiàn)更細(xì)粒度的權(quán)限授權(quán)。 (3)、表單可視化:在表單方面,系統(tǒng)最大程度地提取通用組件,增加拖拽設(shè)計(jì)抽取通用屬性方便用戶選擇。同時(shí)在部分腳本動(dòng)作中實(shí)現(xiàn)可以話處理。在一定程度上減少代碼工作量。實(shí)現(xiàn)簡(jiǎn)單業(yè)務(wù)邏輯。 3、表單驅(qū)動(dòng)問(wèn)題與不足有哪些? 在表單驅(qū)動(dòng)中,針對(duì)一些通用業(yè)務(wù)做了抽象和工具能力的提升。但在實(shí)際應(yīng)用中還是存在了很多的問(wèn)題。 (1)、系統(tǒng)集成能力不足 在企業(yè)實(shí)際應(yīng)用中,很少有獨(dú)立存在的業(yè)務(wù)審批業(yè)務(wù),多數(shù)情況下,組織機(jī)構(gòu)需要從釘釘、或企業(yè)微信讀取、而各種業(yè)務(wù)審批則需要跟響應(yīng)的業(yè)務(wù)系統(tǒng)完成數(shù)據(jù)交互。即使是簡(jiǎn)單的“請(qǐng)銷假流程”也需要和企業(yè)微信、企業(yè)的HR(讀取員工剩余假期)系統(tǒng),CRM等系統(tǒng)進(jìn)行接口交互,才能很好的完成業(yè)務(wù)流轉(zhuǎn)。而這些系統(tǒng)接口交互使得業(yè)務(wù)表單驅(qū)動(dòng)的模式很難以輕量級(jí)的模式來(lái)運(yùn)行。而在這些系統(tǒng)集成領(lǐng)域則過(guò)度地依賴傳統(tǒng)編程。 (2)、無(wú)法處理復(fù)雜數(shù)據(jù)關(guān)系 表單驅(qū)動(dòng)模型,大多數(shù)表單起始于通用模板,但通用模板中更多可選擇的不同業(yè)務(wù)種類以及風(fēng)格樣式。但實(shí)際應(yīng)用中,數(shù)據(jù)間都會(huì)存在一定的數(shù)據(jù)勾稽關(guān)系。特別是一些專有領(lǐng)域類似于,財(cái)務(wù)、人事政府事務(wù)審批中其表單及流程的核心還是在于數(shù)據(jù)的流轉(zhuǎn),在這些領(lǐng)域模板就略顯雞肋。而大多數(shù)模板在勾稽關(guān)系運(yùn)算方面過(guò)渡地依賴二次開發(fā)實(shí)現(xiàn)。 (3)、開放及交互能力較弱只能局限于內(nèi)部系統(tǒng)使用 表單驅(qū)動(dòng)模型,大多數(shù)主要還是來(lái)自于業(yè)務(wù)系統(tǒng)內(nèi)部系統(tǒng)(企業(yè)OA,CRM),或者作為釘釘、企業(yè)微信等平臺(tái)的附屬部分即使有業(yè)務(wù)集成也絕大多數(shù)局限于內(nèi)部自有業(yè)務(wù)系統(tǒng)集成。在跨系統(tǒng)或領(lǐng)域應(yīng)用中鮮有成功的案例。 (4)、部署復(fù)雜維護(hù)困難 表單驅(qū)動(dòng)本身部署及維護(hù)并不困難,但在真正融合業(yè)務(wù)后會(huì)進(jìn)行大量的業(yè)務(wù)和接口定制。這些定制使得大量的混合代碼(模板和原生開發(fā))存在。在業(yè)務(wù)變更或者架構(gòu)升級(jí)時(shí),維護(hù)開發(fā)會(huì)出現(xiàn)超乎現(xiàn)象的復(fù)雜。多數(shù)系統(tǒng)在選擇技術(shù)升級(jí)或架構(gòu)改變時(shí)會(huì)拋棄替換性的升級(jí)。這也是很多成熟的行業(yè)軟件即使?fàn)奚鼧I(yè)務(wù)的靈活度也要也選擇避免流程引擎表單定制之類的應(yīng)用存在已便于架構(gòu)的間接性。
二、模型驅(qū)動(dòng)1、模型驅(qū)動(dòng)是什么? 模型驅(qū)動(dòng)使用可視化建模技術(shù)來(lái)定義數(shù)據(jù)關(guān)系、流程邏輯和構(gòu)建用戶界面,使開發(fā)人員和業(yè)務(wù)用戶能夠快速交付應(yīng)用程序,而不需要代碼。系統(tǒng)運(yùn)行時(shí)模型驅(qū)動(dòng)對(duì)于降低系統(tǒng)開發(fā)和維護(hù)門檻、支撐快速開發(fā)和運(yùn)維具有重要價(jià)值。通常不需要專業(yè)的代碼工程師。業(yè)務(wù)專家、業(yè)務(wù)工程師也不用關(guān)注技術(shù)細(xì)節(jié)就可以快速實(shí)現(xiàn)系統(tǒng)的定制開發(fā)和運(yùn)維。 簡(jiǎn)單來(lái)說(shuō):如果需要再創(chuàng)建數(shù)據(jù)庫(kù)實(shí)體與之映射的,稱為模型驅(qū)動(dòng),后續(xù)可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行直接的操作。 2、模型驅(qū)動(dòng)優(yōu)勢(shì)有哪些? (1)、系統(tǒng)架構(gòu)更清晰,表單和數(shù)據(jù)模型均可單獨(dú)開發(fā)與維護(hù); (2)、基于模型的API層,使用少量編碼即可基于模型實(shí)現(xiàn)更多復(fù)雜邏輯; (3)、純代碼開發(fā)的企業(yè)系統(tǒng)絕大多數(shù)都是模型驅(qū)動(dòng)的架構(gòu),當(dāng)需要與之做系統(tǒng)集成時(shí),數(shù)據(jù)打通變得更加容易,部分低代碼開發(fā)平臺(tái)甚至能直連其他系統(tǒng)的數(shù)據(jù)庫(kù); 3、模型驅(qū)動(dòng)的問(wèn)題與不足有哪些? 上手難度比表單驅(qū)動(dòng)高。
三、低代碼平臺(tái)模型驅(qū)動(dòng)與表單驅(qū)動(dòng)的區(qū)別總結(jié):之前Gartner就曾表示過(guò)低代碼服務(wù)商在一定程度上有業(yè)務(wù)上的重合,但各自也都有邊界,出發(fā)點(diǎn)和動(dòng)因也不盡相同。這些服務(wù)商的不同之處在于其技術(shù)框架與驅(qū)動(dòng)的區(qū)別。 比如面向?qū)I(yè)開發(fā)人員或業(yè)務(wù)人員等多種角色的模型驅(qū)動(dòng)低代碼平臺(tái),具有強(qiáng)大的本地化定制支持能力,在平臺(tái)開發(fā)過(guò)程中需要與領(lǐng)域?qū)<一蛘咂髽I(yè)IT進(jìn)行聯(lián)合協(xié)作,適用于服務(wù)高級(jí)別和中等級(jí)別IT成熟度企業(yè),具體服務(wù)商包括:活字格、織信Informat、ClickPaaS等。 以表單或辦公自動(dòng)化應(yīng)用程序,提供輕量級(jí)解決方案以滿足相應(yīng)市場(chǎng)需求的無(wú)代碼平臺(tái)廠商(CADP),比如:釘釘宜搭、氚云、輕流等。 還包括像用友、金蝶等企業(yè)應(yīng)用廠商(Enterprise Application ),此類廠商主要通過(guò)向LCAP提供打包業(yè)務(wù)功能和連接器來(lái)擴(kuò)展產(chǎn)品,以支持不同范圍的特定行業(yè)或特定領(lǐng)域的應(yīng)用程序及解決方案。 此外,還有像阿里巴巴、百度、微軟等云服務(wù)廠商(Cloud Service Provider ),這些大型云服務(wù)提供商尋求加強(qiáng)其云服務(wù),以擴(kuò)大銷售,目標(biāo)是通過(guò)基于各自云平臺(tái)的解決方案,發(fā)展合作伙伴的生態(tài)系統(tǒng)。 從上述幾種類型的出發(fā)點(diǎn)和動(dòng)因其實(shí)不難看出,雖然大家都在談?wù)撟约壕邆涞痛a能力,但解決的實(shí)際應(yīng)用場(chǎng)景卻有著千差萬(wàn)別。事實(shí)上,不論是LACP還是CADP或云廠商等包羅萬(wàn)象的標(biāo)簽,其實(shí)都是營(yíng)銷性詞匯,其主要的底層技術(shù)路徑主要還是表單驅(qū)動(dòng)和模型驅(qū)動(dòng),因此它不管怎么稱呼,還是要落到實(shí)際解決的應(yīng)用場(chǎng)景。 很多時(shí)候,從客戶視角來(lái)看從來(lái)都不關(guān)心我們是誰(shuí)誰(shuí)誰(shuí),我們的產(chǎn)品是基于什么架構(gòu),客戶最關(guān)心的是誰(shuí)能解決我的問(wèn)題。比如像企業(yè)內(nèi)部的協(xié)同OA、自動(dòng)化管理等輕量級(jí)的需求,完全可以使用以表單驅(qū)動(dòng)的低/無(wú)代碼平臺(tái)。如果涉及到企業(yè)核心業(yè)務(wù),比如像銀行業(yè)的估值減值、融資租賃、風(fēng)控等企業(yè)級(jí)核心業(yè)務(wù)系統(tǒng),主要依靠的還是以模型驅(qū)動(dòng)為主的低代碼廠商。 但不論是以表單驅(qū)動(dòng)還是模型驅(qū)動(dòng)為主的低代碼服務(wù)商,本質(zhì)上都是為企業(yè)數(shù)字化提供自動(dòng)化解決方案,并加速企業(yè)數(shù)字化轉(zhuǎn)型進(jìn)程。 之前,我也曾體驗(yàn)過(guò)幾家低代碼平臺(tái),發(fā)現(xiàn)有一些比較優(yōu)質(zhì)的平臺(tái)(如織信Informat、活字格)為了滿足企業(yè)級(jí)應(yīng)用對(duì)業(yè)務(wù)場(chǎng)景復(fù)雜度以及對(duì)數(shù)據(jù)一致性的高要求,其采用“模型驅(qū)動(dòng)”的理念進(jìn)行設(shè)計(jì)。開發(fā)者可以在該平臺(tái)上,分別設(shè)計(jì)用于定義數(shù)據(jù)模型的數(shù)據(jù)表,供用戶操作的頁(yè)面,以及運(yùn)行于服務(wù)器上、承載復(fù)雜業(yè)務(wù)邏輯的服務(wù)端命令。 即便是沒(méi)有受過(guò)專業(yè)編程訓(xùn)練的平民開發(fā)者也能輕松構(gòu)建出專業(yè)級(jí)應(yīng)用,達(dá)到滿足數(shù)據(jù)庫(kù)設(shè)計(jì)范式、表與頁(yè)面分離式設(shè)計(jì)、前后端分離架構(gòu)等軟件開發(fā)行業(yè)廣泛推薦的技術(shù)要求,為企業(yè)級(jí)應(yīng)用的開發(fā)和維護(hù)打下堅(jiān)實(shí)的基礎(chǔ)。 該文章在 2023/7/4 10:37:31 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |