這是一個一些業務開發人員或者架構設計人員經常遇到的困惑:
1、給我推薦一個最簡單、易用的規則引擎
1、營運人員覺得之前做的規則引擎不好用,是否可以做一個适合我們使用的規則引擎?不用看懂代碼,直接界面表單送出操作。
2、我們的操作者是營運人員,大部分無技術背景,人員還有流動性,是以選型傾向選擇可視化易編輯易了解的開源規則引擎。
能否推薦下選型,并說明優缺點
我的觀點:
- 1、你要的可視化易編輯易了解的開源規則引擎是不存在的。
通用的規則引擎隻是把原來的java代碼轉化成了腳本來動态解析執行而已。本質上還是需要寫代碼,比如要寫drools的表達式,如果你的營運人員不懂,并且教育訓練無效那就沒有辦法了。
- 2、但是基于規則引擎的業務系統可以做到配置人員無需了解代碼。
這個過程首先需要開發人員總結、提煉出目前的N個業務類型,然後針對每個業務類型開發出營運人員需要配置的web界面。
這樣當營運送出表單的時候,就可以通過背景程式自動拼裝出腳本引擎可以解讀的代碼了。
- 綜上,如果隻追求無需寫死,并且配置人員懂得簡單編碼可以使用通用的規則引擎;如果還要追求配置界面的可讀性,配置人員無需了解代碼,開發人員就必須往前走一步,做每個業務類型的配置界面,然後再做一個界面到規則DSL語句的轉化功能。
附錄:一些半通用的規則配置截圖:(取材自微信讨論群)
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLyYWYwMTYmhzYwcjMlFDZiJ2Y3czYwMjZ0MTYmZWYzUTN0MTO5IzMm9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)