低代碼平臺中的“模型驅(qū)動”與“表單驅(qū)動”有何區(qū)別?(表單驅(qū)動 模型驅(qū)動)

低代碼定義:

低代碼是近幾年比較火的一種應(yīng)用程序快速開發(fā)方式,它能幫助用戶在開發(fā)軟件的過程中大幅減少手工編碼量,并通過可視化組件加速應(yīng)用程序的高效交付。(低代碼的定義來自Forrester報告,被認為是低代碼一詞的起源)。

而這顯然不是軟件工程界第一次試圖通過結(jié)合可視化開發(fā)技術(shù)(我們稱之為“模型”)和代碼自生成來減少手工編碼。事實上,正如GradyBooch所說,軟件工程的整個歷史都是關(guān)于提高抽象層次的。低代碼是減少開發(fā)應(yīng)用程序所需手工編碼量的最新嘗試。而這也是我們從軟件工程開始之初就一直追求的目標。

通常來講,低代碼開發(fā)平臺在設(shè)計思想上可以分為“表單驅(qū)動”和“模型驅(qū)動”兩種。前者將頁面的表單和數(shù)據(jù)的存儲結(jié)構(gòu)合二為一,而后者則與純代碼開發(fā)類似,實現(xiàn)了數(shù)據(jù)與表現(xiàn)得完全分離。那么二者之間究竟有何區(qū)別呢?下面給大家詳細講解:低代碼平臺中的“模型驅(qū)動”與“表單驅(qū)動”有何區(qū)別?

低代碼平臺中的“模型驅(qū)動”與“表單驅(qū)動”有何區(qū)別?(表單驅(qū)動 模型驅(qū)動)

一、表單驅(qū)動

1、表單驅(qū)動是什么?

表單驅(qū)動是傳統(tǒng)BPM的典型標志,也是使用Excel做數(shù)據(jù)管理的常見做法:為了實現(xiàn)某個業(yè)務(wù)目標,利用計算機在多個參與者之間按某種預(yù)定規(guī)則自動傳遞文檔、信息或者任務(wù)。一些從BPM或者Excel服務(wù)器類產(chǎn)品轉(zhuǎn)型而來的低代碼開發(fā)平臺,大多延續(xù)了這種表單驅(qū)動的模式。

簡單來說:如果不需要再配置數(shù)據(jù)庫實體,直接集成在表單中,也就不能對數(shù)據(jù)庫進行直接操作,稱為表單驅(qū)動。

2、表單驅(qū)動優(yōu)勢有哪些?

表單驅(qū)動在軟件定制方面的優(yōu)勢有:

(1)、通用流程定制支持:通過針對流程過程中的抽象充分考慮到了流轉(zhuǎn)過程中的權(quán)限分配模型。在一定程度上可以更靈活地完成審批業(yè)務(wù)上的定制。瞞住大部分流轉(zhuǎn)業(yè)務(wù)。

(2)、權(quán)限集成化設(shè)計:根據(jù)業(yè)務(wù)特點,以表單和流程為中心,最大程度地集成權(quán)限模型,實現(xiàn)更細粒度的權(quán)限授權(quán)。

(3)、表單可視化:在表單方面,系統(tǒng)最大程度地提取通用組件,增加拖拽設(shè)計抽取通用屬性方便用戶選擇。同時在部分腳本動作中實現(xiàn)可以話處理。在一定程度上減少代碼工作量。實現(xiàn)簡單業(yè)務(wù)邏輯。

3、表單驅(qū)動問題與不足有哪些?

在表單驅(qū)動中,針對一些通用業(yè)務(wù)做了抽象和工具能力的提升。但在實際應(yīng)用中還是存在了很多的問題。

(1)、系統(tǒng)集成能力不足

在企業(yè)實際應(yīng)用中,很少有獨立存在的業(yè)務(wù)審批業(yè)務(wù),多數(shù)情況下,組織機構(gòu)需要從釘釘、或企業(yè)微信讀取、而各種業(yè)務(wù)審批則需要跟響應(yīng)的業(yè)務(wù)系統(tǒng)完成數(shù)據(jù)交互。即使是簡單的“請銷假流程”也需要和企業(yè)微信、企業(yè)的HR(讀取員工剩余假期)系統(tǒng),CRM等系統(tǒng)進行接口交互,才能很好的完成業(yè)務(wù)流轉(zhuǎn)。而這些系統(tǒng)接口交互使得業(yè)務(wù)表單驅(qū)動的模式很難以輕量級的模式來運行。而在這些系統(tǒng)集成領(lǐng)域則過度地依賴傳統(tǒng)編程。

(2)、無法處理復(fù)雜數(shù)據(jù)關(guān)系

表單驅(qū)動模型,大多數(shù)表單起始于通用模板,但通用模板中更多可選擇的不同業(yè)務(wù)種類以及風(fēng)格樣式。但實際應(yīng)用中,數(shù)據(jù)間都會存在一定的數(shù)據(jù)勾稽關(guān)系。特別是一些專有領(lǐng)域類似于,財務(wù)、人事政府事務(wù)審批中其表單及流程的核心還是在于數(shù)據(jù)的流轉(zhuǎn),在這些領(lǐng)域模板就略顯雞肋。而大多數(shù)模板在勾稽關(guān)系運算方面過渡地依賴二次開發(fā)實現(xiàn)。

(3)、開放及交互能力較弱只能局限于內(nèi)部系統(tǒng)使用

表單驅(qū)動模型,大多數(shù)主要還是來自于業(yè)務(wù)系統(tǒng)內(nèi)部系統(tǒng)(企業(yè)OA,CRM),或者作為釘釘、企業(yè)微信等平臺的附屬部分即使有業(yè)務(wù)集成也絕大多數(shù)局限于內(nèi)部自有業(yè)務(wù)系統(tǒng)集成。在跨系統(tǒng)或領(lǐng)域應(yīng)用中鮮有成功的案例。

(4)、部署復(fù)雜維護困難

表單驅(qū)動本身部署及維護并不困難,但在真正融合業(yè)務(wù)后會進行大量的業(yè)務(wù)和接口定制。這些定制使得大量的混合代碼(模板和原生開發(fā))存在。在業(yè)務(wù)變更或者架構(gòu)升級時,維護開發(fā)會出現(xiàn)超乎現(xiàn)象的復(fù)雜。多數(shù)系統(tǒng)在選擇技術(shù)升級或架構(gòu)改變時會拋棄替換性的升級。這也是很多成熟的行業(yè)軟件即使犧牲業(yè)務(wù)的靈活度也要也選擇避免流程引擎表單定制之類的應(yīng)用存在已便于架構(gòu)的間接性。

二、模型驅(qū)動

1、模型驅(qū)動是什么?

模型驅(qū)動使用可視化建模技術(shù)來定義數(shù)據(jù)關(guān)系、流程邏輯和構(gòu)建用戶界面,使開發(fā)人員和業(yè)務(wù)用戶能夠快速交付應(yīng)用程序,而不需要代碼。系統(tǒng)運行時模型驅(qū)動對于降低系統(tǒng)開發(fā)和維護門檻、支撐快速開發(fā)和運維具有重要價值。通常不需要專業(yè)的代碼工程師。業(yè)務(wù)專家、業(yè)務(wù)工程師也不用關(guān)注技術(shù)細節(jié)就可以快速實現(xiàn)系統(tǒng)的定制開發(fā)和運維。

簡單來說:如果需要再創(chuàng)建數(shù)據(jù)庫實體與之映射的,稱為模型驅(qū)動,后續(xù)可以對數(shù)據(jù)庫進行直接的操作。

2、模型驅(qū)動優(yōu)勢有哪些?

(1)、系統(tǒng)架構(gòu)更清晰,表單和數(shù)據(jù)模型均可單獨開發(fā)與維護;

(2)、基于模型的API層,使用少量編碼即可基于模型實現(xiàn)更多復(fù)雜邏輯;

(3)、純代碼開發(fā)的企業(yè)系統(tǒng)絕大多數(shù)都是模型驅(qū)動的架構(gòu),當需要與之做系統(tǒng)系統(tǒng)集成時,數(shù)據(jù)打通變得更加容易,部分低代碼開發(fā)平臺甚至能直連其他系統(tǒng)的數(shù)據(jù)庫;

3、模型驅(qū)動的問題與不足有哪些?

上手難度比表單驅(qū)動高。

三、兩者區(qū)別總結(jié):

之前Gartner就曾表示過低代碼服務(wù)商在一定程度上有業(yè)務(wù)上的重合,但各自也都有邊界,出發(fā)點和動因也不盡相同。這些服務(wù)商的不同之處在于其技術(shù)框架與驅(qū)動的區(qū)別。

比如面向?qū)I(yè)開發(fā)人員或業(yè)務(wù)人員等多種角色的模型驅(qū)動低代碼平臺,具有強大的本地化定制支持能力,在平臺開發(fā)過程中需要與領(lǐng)域?qū)<一蛘咂髽I(yè)IT進行聯(lián)合協(xié)作,適用于服務(wù)高級別和中等級別IT成熟度企業(yè),具體服務(wù)商包括:活字格、織信Informat、ClickPaaS等。

以表單或辦公自動化應(yīng)用程序,提供輕量級解決方案以滿足相應(yīng)市場需求的無代碼平臺廠商(CADP),比如:釘釘宜搭、氚云、輕流等。

還包括像用友、金蝶等企業(yè)應(yīng)用廠商(Enterprise Application ),此類廠商主要通過向LCAP提供打包業(yè)務(wù)功能和連接器來擴展產(chǎn)品,以支持不同范圍的特定行業(yè)或特定領(lǐng)域的應(yīng)用程序及解決方案。

此外,還有像阿里巴巴、百度、微軟等云服務(wù)廠商(Cloud Service Provider ),這些大型云服務(wù)提供商尋求加強其云服務(wù),以擴大銷售,目標是通過基于各自云平臺的解決方案,發(fā)展合作伙伴的生態(tài)系統(tǒng)。

從上述幾種類型的出發(fā)點和動因其實不難看出,雖然大家都在談?wù)撟约壕邆涞痛a能力,但解決的實際應(yīng)用場景卻有著千差萬別。事實上,不論是LACP還是CADP或云廠商等包羅萬象的標簽,其實都是營銷性詞匯,其主要的底層技術(shù)路徑主要還是表單驅(qū)動和模型驅(qū)動,因此它不管怎么稱呼,還是要落到實際解決的應(yīng)用場景。

很多時候,從客戶視角來看從來都不關(guān)心我們是誰誰誰,我們的產(chǎn)品是基于什么架構(gòu),客戶最關(guān)心的是誰能解決我的問題。比如像企業(yè)內(nèi)部的協(xié)同OA、自動化管理等輕量級的需求,完全可以使用以表單驅(qū)動的低/無代碼平臺。如果涉及到企業(yè)核心業(yè)務(wù),比如像銀行業(yè)的估值減值、融資租賃、風(fēng)控等企業(yè)級核心業(yè)務(wù)系統(tǒng),主要依靠的還是以模型驅(qū)動為主的低代碼廠商。

但不論是以表單驅(qū)動還是模型驅(qū)動為主的低代碼服務(wù)商,本質(zhì)上都是為企業(yè)數(shù)字化提供自動化解決方案,并加速企業(yè)數(shù)字化轉(zhuǎn)型進程。

之前,我也曾體驗過幾家低代碼平臺,發(fā)現(xiàn)有一些比較優(yōu)質(zhì)的平臺(如織信Informat、活字格)為了滿足企業(yè)級應(yīng)用對業(yè)務(wù)場景復(fù)雜度以及對數(shù)據(jù)一致性的高要求,其采用“模型驅(qū)動”的理念進行設(shè)計。開發(fā)者可以在該平臺上,分別設(shè)計用于定義數(shù)據(jù)模型的數(shù)據(jù)表,供用戶操作的頁面,以及運行于服務(wù)器上、承載復(fù)雜業(yè)務(wù)邏輯的服務(wù)端命令。

低代碼平臺中的“模型驅(qū)動”與“表單驅(qū)動”有何區(qū)別?(表單驅(qū)動 模型驅(qū)動)

即便是沒有受過專業(yè)編程訓(xùn)練的平民開發(fā)者也能輕松構(gòu)建出專業(yè)級應(yīng)用,達到滿足數(shù)據(jù)庫設(shè)計范式、表與頁面分離式設(shè)計、前后端分離架構(gòu)等軟件開發(fā)行業(yè)廣泛推薦的技術(shù)要求,為企業(yè)級應(yīng)用的開發(fā)和維護打下堅實的基礎(chǔ)。

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部