ルールエンジンを組み込んだシステムが本当に成功したことはありますか? [closed] 質問する

ルールエンジンを組み込んだシステムが本当に成功したことはありますか? [closed] 質問する

当社のシステム (エキゾチック商品デリバティブ取引キャプチャおよびリスク管理) は、近々再開発される予定です。私が聞いた提案の 1 つは、エンド ユーザー (商品トレーダー、つまりかなり高度な知識を持つ人) がビジネス ロジックに特定の変更を加えやすくするために、ルール エンジンを組み込むというものです。

私はルール エンジンに少し懐疑的です。アジャイル主義者の私は、ルール エンジンがプロセスの問題に対する単なる技術的なソリューションではないかと考えています。つまり、開発者がビジネスの変更ニーズに対応するのに時間がかかりすぎるのです。この問題の解決策は、開発に対するより協調的なアプローチ、より優れたテスト範囲、全体的にアジャイルな実践であるべきです。

ルール エンジンが本当に役立った状況 (特に取引環境) について聞くことは、確かに役立つでしょう。

ベストアンサー1

Fair Issac の Blaze Rete エンジンを使用したアプリケーションを 2 つ見たことがあります。

あるアプリケーションは、何千ものルールを単一のナレッジ ベースに詰め込み、ひどいメモリの問題を抱え、ほとんどの人が理解できないブラック ボックスになってしまいました。これは成功とは言えませんが、実稼働環境では実行されています。

別のアプリケーションでは、意思決定ツリーを使用して、医療フォームの数百の質問を表現し、クライアントの処置を行いました。これは非常に洗練された方法で実行されたため、ビジネス パーソンは開発者を介さずに、必要に応じてルールを更新できます (ただし、開発者がデプロイする必要があります)。これは大成功と言えるでしょう。

したがって、問題がどの程度焦点を絞られているか、ルール セットのサイズ、開発者の知識によって異なります。私の偏見では、ルール エンジンを単一障害点にして、そこにルールをダンプするだけでは、おそらく良いアプローチではないと思います。私なら、データ駆動型またはテーブル駆動型のアプローチから始めて、ルール エンジンが必要になるまでそれを拡張します。また、ルール エンジンをオブジェクトの動作の一部としてカプセル化するように努めます。ルール エンジンをユーザーから隠し、ルール空間をドメイン モデルに分割しようとします。

おすすめ記事