接(jiē)下來將介紹如何通過低代碼來完成以上規則的配置。
在低代碼中,複(fù)雜規則配置開(kāi)發主要依靠直觀的圖(tú)形配置界(jiè)麵,以"入參+組件+出參"的方式,通過(guò)簡單的拖拽和配(pèi)置操作,實現(xiàn)規則數據配置、邏(luó)輯配置及結果反饋(kuì)。

入參數據:通過可視化功(gōng)能,用戶可以定義規則的入參數據。
從案例中可以看到(dào),規則的入參是訂購的商品(pǐn)列表,因此以(yǐ)表單的方式進行參數配置,支(zhī)持以結構樹的方式進行展示,支持屬性、對象(xiàng)、數組等不同形式的參數配置,是一種比較好的實踐。
應用數據:規(guī)則中可能需(xū)要使用到應用的(de)業務數據。因此,規則開發過程中需要支持集成SQL服務(wù)、編排服務、對象操作服務(wù)等方(fāng)式來獲取數據,並且能夠將這些數據與規則的邏輯組件結合起(qǐ)來進行應(yīng)用。
案例中,商品優(yōu)惠策略信息,屬於商家在係統中配置的數據。在国产亚洲熟妇在线视频靈犀開發平台(tái)中,規則邏輯編排時獲取內部數據是(shì)非常簡(jiǎn)單的事情,因(yīn)為其內置了一個對象引擎,封裝了各種(zhǒng)對象操作組件(jiàn),隻需要進行對象、動作、條件的選擇即可輕鬆(sōng)完成數據的操(cāo)作,如下圖:

除了入參數據(jù)和應用參數外,很多規則的實現過程中(zhōng)還涉及到(dào)外(wài)部(bù)數據和係統變量。
外部數據:指的是不在本應用內的數據,需要通過接口的方式獲取。這需(xū)要支持(chí)可視化的方式集成(chéng)外部接口,獲取數據並(bìng)進行操(cāo)作。
係(xì)統變量:如登錄信息、環境信息等係統變量,也(yě)是邏輯(jí)判斷中不(bú)可或缺的數據。因此,支持可視化的方式操作這些變量,也是(shì)必不可少的(de)功能。
在低代碼平台中實現邏輯的方式(shì)是通過數據和動作的組合來完成的。針對各種邏輯需求,應該提供各種邏輯組件的配置,包括:
比較:規則邏輯配置過(guò)程中,支持字符串、數據、屬性與對(duì)象以及數組的比較,以實現規則條件的定義。比如判斷(duàn)兩個字符串是否相等、對數據進行大小比較、判斷屬(shǔ)性是否存在於對象中,或者判斷一個數組是(shì)否包含某個(gè)元素等。
計算:提供各種計算功能的配置,比如數據計算、字(zì)符(fú)或者數組的長度計算等。
流程控製:能夠根據判斷條件配置程(chéng)序的執行路徑,如循環、跳出、分支、退出等。
組件組合:可以通過定義組件的(de)執行順序來實現串聯,從而實現組件的(de)組合。
獲取商家配置的優惠策略信(xìn)息,判斷商品是否有(yǒu)配置優惠,並進行優惠計算的過程,隻(zhī)需要按順序配(pèi)置 “數據組件”獲取商品優惠策略信息,“比較組件”判斷是(shì)否有優(yōu)惠策略,“計算組件”進行打折(shé)計算,就可以輕鬆完成規則邏輯的編排。


在配置過程中,以顯性化的方式配置規則的返回參數,易於(yú)規(guī)則的開發和理解(jiě)。
調試(shì)時,執行過的節點高亮展示,形成執行線路圖。每個(gè)節點(diǎn)的執行(háng)時間、時長、入參、出參、執行狀態,根據執行順(shùn)序進行(háng)展示,為規則執行過(guò)程中的問題排查提(tí)供了非常好的手段。

以上(shàng)是規(guī)則配置的過程,下麵我們繼續介紹規則的使用(yòng)。
在許多場景中,業務係(xì)統需要通過多個規則(zé)才(cái)能完成完整的業務校驗。以商品訂購(gòu)的場景為例,在訂單提交前進行業務校驗,校驗的規則可能有上百個。因(yīn)此,為了更好(hǎo)地(dì)實現規則(zé)的開放調用,需要以(yǐ)規則事件的(de)維度做好規則的封裝,同時支持傳統應用和低代碼應用的(de)集成。


首先,事件配置,事件是指業務係統調用規則的時機或者動(dòng)作,用(yòng)於說明和區分業(yè)務係統在不同代碼中的埋點,同時規範埋點的參數要求。事件配置主要完成兩項操作:
參數規範定義(yì):根據業務係統的需求,自定義埋(mái)點參數規(guī)範,以適(shì)配各個業務係(xì)統。同一(yī)個事件下的所有規則都遵循統一(yī)的(de)參數規範。
規則執行(háng)的策略編排:支持在事件中對規則的執行順序和策略(luè)進行編排,包括條件、串(chuàn)行、並行等不同的策略。
其次,規則集成(chéng),針對應用的不同,規則集成的(de)方式有兩種:
API方式:針對傳統的應用,需要通過在係統代碼中進行埋點,實現規則事件的調用。
服務節點方式:針對低代碼應用,業(yè)務邏輯主要通過編排服務來實現。因此,在編排(pái)服務中需要支(zhī)持通過“事件(jiàn)”組件來綁定事件服務,從而(ér)實現對規則的調用。

除了規則的配置開發和對外開放使用,規則的管理還包括規則的發布上線(xiàn)、規則的生失效管理以(yǐ)及對規則(zé)的日誌分析(xī)。
發布上線:不同的低代碼實現,規則的保存形式有所不同(tóng),一般以編譯文件的形(xíng)式保存,如Java、PHP,或者使用Python、Groovy腳本等。而靈犀平(píng)台(tái)選擇了以(yǐ)數據的方式(shì)進行存儲。在發布規(guī)則時,隻需要導出規則數據,然後(hòu)在運行環境中進行數據的導入(rù),即(jí)可實(shí)現規則的發布,無(wú)需進行環境部署或代(dài)碼編譯構(gòu)建的複雜操作。這種方(fāng)式簡化了(le)規則發布的流程,提高了開發效率。
生/失效管理:在規則設計中,可以設定規則的生效時間和失效時間,隻(zhī)有在指定的時間段內規(guī)則才會生效。這項功能對於季節性規則(zé)或限時促銷規則非常有用,可以避免(miǎn)規則在過期後繼續生效,從而(ér)避免不必要的衝突和問題。同時,規則(zé)生(shēng)/失效狀態的管理也非常重要。通過規則狀態的控製(zhì),可以及時根據業務要求(qiú)進行規則的調整和決策。
規則日誌:日誌在規則管理中有兩個重要部分。首先(xiān),操作日誌記錄了對規則的邏輯(jí)調整和(hé)狀(zhuàng)態變更等操作,方便問題(tí)的溯源。其次,運(yùn)行日誌記錄了規則執行時的輸入參數(shù)、輸出結果、執行時間、耗(hào)時(shí)和異常原因等,有助於快速定位和解決問題。
除了支持可視化(huà)、圖形化的規則開發、使用和管理功能,我們還需要重點(diǎn)關注配置效率和配置靈(líng)活性這兩方麵的問題:
在配(pèi)置規則過程中,不同複雜度的參數對象,會(huì)導致配置效率降低,遇到(dào)多規則開發場景時,效率問題愈發凸顯。所以,我們需要增強工具自(zì)身能(néng)力,通過自動生成、缺省默認、一鍵操作、批量處理等方式來應對效率問題:
自動生成參數:在事件上,增(zēng)加規則創建的入口,創建規則時,自動通過事件的參數規(guī)範生成規則(zé)的參數,並允許對參數進行(háng)裁剪。
自動參數(shù)賦值(zhí):在規則編排過程中實現參數自動賦值功能。在服務編排中加入事件節點時,或者在事件中加入規則時,都可以根據參數名稱自動匹配上下文進行賦值。
報文一鍵生成參(cān)數:在事件和規則配置參數時,支持(chí)通過報(bào)文一鍵生成(chéng)參數配置,在(zài)傳統開發過程中,高效的ctrl+c和ctrl+v能夠得到很好的應用。
批量加入規則:在事件編(biān)排中增加批量規則組件,在組件中可以批(pī)量選擇(zé)多(duō)個規則加(jiā)入到事(shì)件中。組內可以定義規則執行的(de)策(cè)略,如串行或者並行(háng)。這樣(yàng)既能簡化(huà)事件編排畫布,又能提升(shēng)加入規則的效率。
增加運維視圖:在事件中增加關聯規則的視圖,同時在規則設計器中也增加關聯的事件視圖,在調整規則(zé)時就可以清晰地評(píng)估其影響範圍。
與傳統規則引(yǐn)擎不同,低代碼平台的規則執行策略是通過事件編(biān)排來實現的,執行過程會遇到(dào)所有規則執行結(jié)果合並、同一事件(jiàn)下參數(shù)相(xiàng)互依賴和共享等問題。因此,技(jì)術上需要支持規則結(jié)果的匯總計算、支持事件級的數據總線,實現數據的共享和傳遞。

增加規則結果計算組件。每(měi)加入或刪除一(yī)個規則,會自動將規則的結果和返回參數記錄到該(gāi)組件中。在(zài)組件中支持設置(zhì)結果(guǒ)返回的策(cè)略,例如:全部規則校驗(yàn)成(chéng)功(gōng)時返回成功,或者隻要有一個成功就返回成(chéng)功。
引入事件級dataBus數據總線。在(zài)事件啟動(dòng)環節初始化數(shù)據總線,在事件結束(shù)後銷毀數(shù)據儲存空間。在此過程中,每個規則(zé)都可(kě)以向數據總結寫入數據和讀取數據。
針對複雜業務規則開發,国产亚洲熟妇在线视频靈犀開發平台提供了(le)非常便利的開發工(gōng)具(jù),在(zài)大(dà)量項目(mù)中落地(dì)使用。通過国产亚洲熟妇在线视频(jīng)靈(líng)犀(xī)開發平台讓開發人員能夠輕(qīng)鬆完成規則的配置工作,真正實現了業務規則可(kě)視化管理、圖形化開發,開發(fā)效率(lǜ)大幅提升,可做到實時發布非常靈活。在接下來繼續與大模型技術結合(hé),實現更智能化的業務規則(zé)管理和決策支持、自動(dòng)化的(de)規則驗證和修正、業務規則的執行和監(jiān)控相結合等技術突破,未來可期。