2012-10-03 91 views
26

我不是Drools專家。儘管如此,我還是有一些熟悉的,試驗一下。 我無法欣賞,爲什麼我需要它。我爲什麼要用Drools?

我的典型應用程序是商業Web應用程序。是的,他們確實有一些規則。但是這些都是使用數據庫表,SQL查詢以及用於修改規則的業務用戶的一個很好的UI實現的。規則並不是任意的,在投入生產之前,他們會經過仔細考慮。

我的商業用戶永遠不會使用(Drools)腳本語言來修改任何事情。單獨修改規則。他們非常樂意使用UI屏幕來修改規則。另外,如果我讓它們靠近它,它們會在Drools文件中造成數十萬語法錯誤。

再次
- 爲什麼我應該在這種情況下使用Drools?
- 有我遇到的Drools狂熱分子誰堅持我應該改變我所有的代碼使用Drools。

那麼,Drools有用嗎?我不確定。

+0

意識到這是一個非常古老的問題,但我只是想指出的是,Drools的確實有一些用戶界面來修改一個「好」的方式的規則,而不必擔心腳本語法。 –

回答

17

所有條紋的狂熱分子都應該被質疑,無論他們熱衷於什麼話題。

數據驅動的決策表是實現複雜行爲的完美方式。在它不能根據您的需求進行擴展或執行的那一天,或許您會想要考慮其他事情。

我不想在工作生產代碼中進行技術交換,除非我有一個令人信服的理由。這要比粉絲男孩遊說要多得多。

如果你真的感興趣,做一個PoC並獲得一些真實的數據。如果沒有,學習如何禮貌地微笑和忽略他們。

我已經回答了這個前:

Rules Engine - pros and cons

UPDATE:如果這是你的老闆,你不能解僱,然後根據它的接口,並嘗試在PoC一個Drools的實現。如果您使用Spring,請先注入一個,然後注入另一個,然後在有意義的生產額定負載下測量性能。獲取一些真實的數據 - 也許你們都會學到一些東西。

+1

如何對老闆微笑? :) – Jasper

+5

微笑很容易;這是無視這是棘手的一點。 – duffymo

+0

Duffymo我有興趣開始使用Drools,請你指點我一些教程。 –

2
  • Drools是開源的。
  • 它提供正向和規則執行的反向鏈接
  • 它提供模板庫規則定義
  • 它使用JSR-94
  • 它決策表設施
  • 它的規則是人類可讀實施
  • 它與春天集成
0

考慮一個珠寶店的一個簡單的例子,它需要維護計算d的商業邏輯iscount根據珠寶的類型。這可以在我們的Java代碼中完成。 但是這些規則可能會每天更改,並且需要定期更新我們的代碼,這不是很好。此外,我們將始終要求開發人員進行此類更改。因此,將這種邏輯定義爲業務規則管理系統中的規則是一種很好的做法。如果明天折扣要更改,甚至可以由非技術人員完成。

JBoss Drools Tutorial

+0

把珠寶類型和折扣之間的簡單關係應用於數據庫表或配置。文件。更簡單和容易。爲什麼流口水? – Jasper

+0

對於非技術人員來說很難。 Drools的主要優點是規則可以用簡單的英文寫成 – Rameez