0

私は POC を行うために IBM ILOG JRules を使用していますが、JRules は初めてです。次のようなビジネス要件があります。

  1. ドキュメント クラスとそのプロパティをデータベースに格納します。
  2. Rule Studio で、ロールごとに次の条件でデシジョン テーブルを作成します。

    If Document Class is <abc> and User Role is <xyz> Then Return Properties <P1, P2,…&gt; as editable.

  3. デシジョン テーブルがプロパティ値を認識できるように、データベースとデシジョン テーブルを統合する方法を見つけなければなりません。

IRLコードを使用して簡単な方法でそれを達成する方法について、誰か助けてもらえますか?

4

2 に答える 2

1


JRules を初めて使用する場合は、JRules で定義され「言語化」されたものにビジネス ルール アーティファクト (ビジネス ルール、デシジョン テーブル、デシジョン ツリー) を記述することを忘れないでください。

あなたがやろうとしていることは、BRMS の観点から見ると間違っています。

デシジョン テーブル (DT) には、何百もの行、つまり何百もの個別のルールを含めることができます。各行は 1 つのルールに変換されます。
したがって、それを行うと、DB を何百回も呼び出すことになりますが、これはあなたが望むものではありません。
ルール タスクで fastPath アルゴリズムを使用できると主張する人もいるかもしれませんが、JRules は初めてなので、この点を思い出させてください。 1/ Java でオブジェクト モデルを作成します

。 2/ オブジェクト モデル (Java ライブラリ) に基づいて JRules で BOM を作成します。


3/ BOM を言語化します (設計時に JRules にインポートする際に自動化できます)。
4/ DT を作成します
。5/ Java のオーケストレーション レイヤーで DB への呼び出しを作成します。
6/ オーケストレーション レイヤーからオブジェクト インスタンスと属性を入力します。
7/ 正しい入力/出力 (ルールセット パラメーター) を使用して、ルール プロジェクトからルールセットをエクスポートします。
8/ ルールセットを使用してエンジンを呼び出します
9/ 結果を取得します

ジョブが完了

しました 実行時にルール エンジンから DB を呼び出すことは、おそらく間違った考えであることに注意してください。 DB を n 回呼び出しますが、これは効率的ではありません。

于 2012-09-07T11:33:36.993 に答える
0

事前にデータベースからデータを読み込んでみてください。JRulesは、ロードされたデータを使用して呼び出され、結果を呼び出し側システムに返し、呼び出し側システムがデータをDBに格納する必要があります。DBとの直接統合は、私がお勧めするものではありません。

DBからのデータが頻繁に変更されず、変更が発生するたびに再デプロイできる場合は、データをBOM自体にロードできます。この場合、データをBOMに挿入するダイナミックドメインプラグインを使用してデータを読み込むことができますが、前述したように、これにはRuleAppの再デプロイが必要です。

于 2012-09-06T11:28:47.033 に答える