2016-10-17 16 views
0

多くのルールを含むDroolsプロジェクトに取り組んでいます。 Droolsのルールを検証に使用します。多くのフィールドとさまざまなエラーの組み合わせがあります。 Drools workbench 6.4.0では、Guided Rules(DSL付き)ウィザードを使用してビジネスフレンドリーなUIを作成し、ルールを作成しました。問題はそれぞれ新しいGuided Ruleアクションが1つのルールだけを作成できるようになり、1つのルールファイル、.rdslrファイルとして保存されます。droolsワークベンチガイドルールが1つのファイルに複数のルールを含める

私が手動でdroolsルールを作成した場合、10個または20個のルールを1つのルールファイルにグループ化するだけで済みます。 WebガイドルールUIを使用して、既存のガイドルールファイルに新しいルールを追加する方法はありますか?それ以外の場合は、ルールごとにルールファイルを作成し、膨大な数のルールファイルを作成しなければならず、Web UIでナビゲートするのは非常に難しいでしょう。

各ルールを独自のルールファイルに保存する必要がある場合、ルールファイルの数に制限はありますか?パフォーマンスに関する懸念はありますか?

答えて

0

私が手動でドロップルールを作成した場合、10個または20個のルールをまとめて1つのルールファイルにまとめることができます。 WebガイドルールUIを使用して、既存のガイドルールファイルに新しいルールを追加する方法はありますか?それ以外の場合は、ルールごとにルールファイルを作成し、膨大な数のルールファイルを作成しなければならず、Web UIでナビゲートするのは非常に難しいでしょう。

when条件がほぼ同じ場合は、ガイド決定表を使用することをお勧めします。 1つの行が1つのルールです。

各ルールを独自のルールファイルに保存する必要がある場合、ルールファイルの数に制限はありますか?

実際の制限は、適切なコンピュータハードウェア(CPU、RAM)で簡単に実行できます。

パフォーマンスに問題がありますか?

複数のルールファイルの場合、起動時に、Droolsは内部的にキャッシュされたテーブルにルールを処理するので、最終的な結果は元のルールフォーマット(例えば、1つの大きなルールファイル、すべて別々のルールファイル内)に関係なく効果的に同じになります。

ルールの構成に関するパフォーマンス上の懸念事項については、ルールの数量によります。実行時のパフォーマンスは、多くのルールで非常に良好です。予想通り、ビルド時間は長くなりますが、システムのルールは増えますが、実行の遅さはありません。

しかし、ルールの量は私が見たことのない問題でした。不十分なルールアーキテクチャは、ルールの数量ではなく、重要なパフォーマンスとメンテナンスの問題です。

+0

残念ながら、デシジョンテーブルはDSLをサポートしておらず、ほとんどの検証ルールはデフォルトの演算子セットでは表現できません。私は最大の長さのフィールドのような簡単な例のサポートを見ません。私はユーザーが行の番号を入力することができたら、私たちはmyfield.length()> maxLengthのようなルールを構築し、エラーコードを追加することができます。 –

+1

ガイド付きデシジョンテーブルには、多くの弱点/欠点があります。それに関する2つのこと:1. BRLまたはDRLの条件またはアクションを使用して、必要なスニペットをコーディングできるようにします。 2.スプレッドシートを使用してデシジョン・テーブルのフルパワーをアップロードします。私はパワーエンドユーザがデシジョンテーブルにうまく適応し、それを愛していることを知りました。 DSLは必要ありません。最後に、あなたの最後の声明は、Drools Templatesを考慮する必要があることを意味します。彼らはそれをうまく行います - データのみのスプレッドシート(​​1行は1ルールのデータ)を定義し、スプレッドシート行ごとに1つのルールを生成するテンプレートルール(パラメータ化ルール)を作成します。 – Jeff

+0

ガイドルールエディタで他のルールを拡張することでこれを達成できますか? – Neetika

関連する問題