115

JavaルールエンジンのJESSDroolsを採用することの長所と短所は何ですか?他にプレイヤーはいますか?

Droolsはオープンソースであり、JESSはそうではないことを理解していますが、使いやすさ、パフォーマンス、コードとの統合レベルなど、他の分野でどのように比較していますか?

4

5 に答える 5

132

Java ルール エンジン JESS と Drools を採用することの長所と短所は何ですか?

ビジネス ルールをアプリケーション ロジックから分離する必要がある場合は、ルール エンジンを使用します。Does Your Project Need a Rule Engine の記事に良い例があります。

たとえば、典型的な店頭システムには、割引を計算するためのコードが含まれる場合があります。

if (product.quantity > 100 && product.quantity < 500) {
  product.discount = 2;
} else if (product.quantity >= 500 && product.quantity < 2000) {
  product.discount = 5;
} else if (product.quantity >= 2000) {
  product.discount = 10;
}

ルール エンジンは、上記を次のようなコードに置き換えます。

ruleEngine.applyRules(product);

ルール管理コンソールを非技術者の手に委ねることが良いことかどうかを決めるのはあなた次第です:)

詳細については、ルール エンジンを使用する必要がありますか? ,ルール エンジンを使用する理由 ルール エンジンを使用するかどうかを決定するためのガイドライン、およびGoogle .

他のプレイヤーはいますか?

他のプレーヤーには、JRules、Corticon が含まれます (JRules は最も有名な IMO です - これは最高という意味ではありません)。

使いやすさ、パフォーマンス、コードとの統合レベルなど、他の分野でどのように比較しますか?

正確には言えませんが、私は Drools について少し (前向きな) 経験しかありません。しかし、 JBoss Drools vs ILog JRules - 逸話(必ず読んでください) やJRules の観点から Drools を操作する などのブログ投稿からフィードバックを得ることができます。Google でもっと多くのものを見つけることができると思います (ただし、Drools を試してみます)。

于 2010-01-30T12:43:54.140 に答える
16

現在、アプリケーション サーバーで使用するルールを評価しています。OpenRules、Java との統合が容易で、テストで示されている限り、十分に高速です。他のものよりも優れた OpenRules の主な利点は、ルールが変更および処理される方法です。これは、プログラマー以外にとって最も簡単な方法である Excel テーブルで行われます。関係者全員、技術者ではない人も含めて、すべてを完全に理解していました:-)

drools も統合されていますが、よりプログラム的なアプローチであるため、ルールを理解するのははるかに複雑です。そのため、私たちは (おそらく) OpenRules に固執します。

于 2010-01-30T09:48:00.053 に答える
2

ルール エンジンが必要になったとき、利用可能なルール エンジンは単純なタスクには複雑すぎるため、独自のルール エンジンを作成することにしました。ユーザーが入力する可能性のある式を解析する経験が少しでもあれば、これはそれほど難しいことではありません。私たちの場合、仕様の大部分は XSD によって処理され、さらに解析されるフィールドはわずかです。

于 2010-01-30T13:49:07.573 に答える