3

「動的ビジネスルール」エンジンを必要とするアプリケーションがあります。一部のビジネスルールは非常に頻繁に変更されます。その後、一部は限られたビジネスアカウントのセットに適用されます。例:私の顧客は、サイズ、営業担当者の数、製品の数、場所などに基づいて店舗を認定するプロセスを持っています。しかし、彼は異なるアカウントを管理し、各アカウントは各属性に異なる「重み」を与えます。

Rubyを使用してこのエンジンを実装するにはどうすればよいですか?Javaにはよだれが出ていることは知っていますが、よだれは煩わしく複雑です。そして、私はJRubyを使用する必要がないことを好みます...

よろしく、

ルベム

4

1 に答える 1

6

ルールエンジンが必要なものであることが確実な場合は、Rubyで使用できるルールエンジンを見つける必要があります。Googleですばやく検索すると、Rools(http://rools.rubyforge.org/)とRuby Rules(http://xircles.codehaus.org/projects/ruby-rules)が表示されました。どちらのプロジェクトの状況もわかりませんが。DroolsでJRubyを使用するのが最善の策かもしれませんが、私はJava開発者であり、Droolsの大支持者です。:)

すべての詳細を知らなければ、それをどのように実装すべきかを言うのは少し難しいです。また、ルールをどのように更新するかによっても異なります。1つのアプローチは、次のようなルールのコレクションを作成することです。「50人を超える営業担当者がいる店舗が存在し、それを反映するように店舗の重量が更新されていない場合は、店舗の重量を更新します。」ただし、何らかの方法で、それをハードコーディングと比較することができます。

より良いアプローチは、ウェイトを適用するために満たす必要のある基準を使用してウェイトオブジェクトを作成することです。次に、ウェイトとストアの両方に一致する1つのルールを記述できます。「ウェイトの基準に一致するストアが存在し、ストアにそのウェイトがまだ割り当てられていない場合は、ウェイトをストアに追加します。」そうすれば、ビジネス関係者は、ルールを維持する代わりに、おそらくWebフロントエンドデータベースでウェイトを作成および更新することができます。

于 2010-11-22T04:39:37.993 に答える