2011-09-22 118 views
5

這更多的是一個通用的問題。但是我想了解一個使用工具的概念,以及爲什麼需要這個工具。我一直在循環。 q)爲什麼我們需要規則引擎?使用規則引擎的推理

我一直在閱讀Drools和ILOG規則引擎,並且對組織使用這些工具有什麼好處的概念仍不清楚。

q)它只是爲商業用戶提供一種將查詢(稱爲規則)引發到數據庫(存儲庫)的方法嗎?

這些額外的軟件不會導致更多的錢花在許可證和支持上,而不是獲得的利益?

我們無論如何有一個所有的應用程序做同樣的事情。

例子: 如果銷售<那麼$ 5000000訂單出貨=無

以上是例如業務邏輯的。這在程序中很容易實現。那麼通過規則引擎的好處是什麼?

任何輸入將是偉大的! 謝謝。

回答

2

難道你看看這個文檔:Why should I use a rule engine ?

這是很清楚的時候使用,而不是使用一個規則引擎。

有這些2個paragrpahs仔細一看:

1.2.5。強大而鬆散的耦合

毫無疑問,您已經在系統設計中聽到類似「緊耦合」和「鬆耦合」的術語。通常人們斷言,由於其提供的靈活性增加,「鬆散」或「弱」耦合在設計方面是優選的。同樣,你可以有「強耦合」和 「弱耦合」規則。這種意義上的強烈耦合意味着一個「觸發」規則將明顯導致另一個規則觸發,依此類推;換句話說,有一個明確的(可能是顯而易見的)邏輯鏈。如果 您的規則都是強烈耦合的,那麼可能會發生意志不靈活,更重要的是,規則引擎 是一個矯枉過正的問題。明確的鏈可以被硬編碼,或者使用決策樹來實現。這並不是說強耦合本質上是不好的,但是在考慮規則引擎 以及捕獲規則的方式時要謹記這一點。 「鬆散」耦合規則應該導致系統允許更改,刪除和添加規則,而不需要更改其他不相關的規則。

在我看來,在與規則引擎, 人們忘記了規則引擎只是一件複雜 應用或解決方案的工作的興奮。規則引擎並非真正用於處理工作流或流程執行,也不是用於執行規則的工作流引擎或流程管理工具。使用正確的工具爲 工作。當然,一把鉗子可以用作捏合工具中的錘擊工具,但這不是它的設計目的。 --Dave Hamu

希望它可以幫助

+0

謝謝你所有的信息:) – JJunior

+0

規則引擎對某些類型的商業邏輯是什麼數據庫是數據。 – Marco

1

有很多的使用業務規則引擎或業務規則管理套件的優勢。當您開始使用聲明性方法將業務邏輯從應用程序中解耦出來時,您最終會在這些規則中表達業務知識。這個事實對於一個公司來說是非常有價值的,他們可以在一個集中的存儲庫中獲得所有知識,並且所有的應用程序都可以重用。

在我看來,陳述權也是一個關鍵概念。讓引擎選擇特定情況所需的規則的想法非常棒。規則引擎爲此目的進行了優化,並在您需要評估大量規則時做出非常好的工作。

希望它能幫助:)

+1

謝謝!是非常有幫助的:) – JJunior