一、經常使用規則引擎、java規則引擎的標準。

1、概述。JSR94標準

在本文中,咱們將介紹一些最流行的Java規則引擎。
在應用程序中,業務規則很複雜(好比:優惠券的使用規則)。若是用源代碼實現這些規則,很繁瑣。經過規則引擎將業務邏輯與源代碼分離,能夠簡化開發和維護。
在Java世界中,大多數規則引擎庫都實現了稱爲Java Rule API Engine的 JSR94標準。spring

2、經常使用的規則引擎。

一、Drools

Drools的官網:https://www.drools.org/
Drools是業務規則管理系統(BRMS)解決方案。Drools能夠與jBPM集成,jBPM是一個業務流程管理工具,用於流程,事件活動,任務等的標準化。 若是你想閱讀更多內容,能夠在這裏找到Drools的介紹,以及一篇關於與Spring集成的文章。框架

二、OpenL Tablets

官網:http://openl-tablets.org/
OpenL Tablets是一個業務規則管理系統和一個基於Excel決策表的業務規則引擎。因爲此框架使用的表格格式對業務用戶來講很熟悉,所以它彌合了業務用戶和開發人員之間的差距。工具

3. Easy Rules

官網:http://www.jeasy.org/
Easy Rules是一個簡單的Java規則引擎,提供輕量級和基於POJO的框架來定義業務。它能夠經過使用複合模式從原始規則建立複雜規則。
與最傳統的規則引擎相比,此框架不使用XML文件或任何域特定語言文件來將規則與應用程序隔離。它使用基於註釋的類和方法將業務邏輯注入應用程序編碼

Easy Rules能夠方便開發人員使用與應用程序自己徹底分離的業務邏輯來建立和維護應用程序。另外一方面,因爲此框架未實現JSR94標準,所以業務邏輯必須直接編碼爲Java代碼。事件

四、RuleBook

RuleBook是一個Java框架,它利用Java 8 lambdas和責任鏈模式來使用簡單的BDD方法定義規則。ci

與大多數規則引擎同樣,RuleBook使用「Facts」 的概念,即提供給規則的數據。RuleBook容許規則修改Facts的狀態,而後能夠經過鏈中的規則讀取和修改。對於讀取一種類型的數據(Facts)並輸出不一樣類型的結果的規則,RuleBook具備Decisions。
RuleBook可使用Java DSL與Spring集成。開發

相關文章
相關標籤/搜索