天天看點

關于規則引擎的選型和疑惑思考

這是一個一些業務開發人員或者架構設計人員經常遇到的困惑:

1、給我推薦一個最簡單、易用的規則引擎

1、營運人員覺得之前做的規則引擎不好用,是否可以做一個适合我們使用的規則引擎?不用看懂代碼,直接界面表單送出操作。

2、我們的操作者是營運人員,大部分無技術背景,人員還有流動性,是以選型傾向選擇可視化易編輯易了解的開源規則引擎。

能否推薦下選型,并說明優缺點

我的觀點:

  • 1、你要的可視化易編輯易了解的開源規則引擎是不存在的。

通用的規則引擎隻是把原來的java代碼轉化成了腳本來動态解析執行而已。本質上還是需要寫代碼,比如要寫drools的表達式,如果你的營運人員不懂,并且教育訓練無效那就沒有辦法了。

  • 2、但是基于規則引擎的業務系統可以做到配置人員無需了解代碼。

這個過程首先需要開發人員總結、提煉出目前的N個業務類型,然後針對每個業務類型開發出營運人員需要配置的web界面。

這樣當營運送出表單的時候,就可以通過背景程式自動拼裝出腳本引擎可以解讀的代碼了。

  • 綜上,如果隻追求無需寫死,并且配置人員懂得簡單編碼可以使用通用的規則引擎;如果還要追求配置界面的可讀性,配置人員無需了解代碼,開發人員就必須往前走一步,做每個業務類型的配置界面,然後再做一個界面到規則DSL語句的轉化功能。

附錄:一些半通用的規則配置截圖:(取材自微信讨論群)

關于規則引擎的選型和疑惑思考
關于規則引擎的選型和疑惑思考

繼續閱讀