2011-08-05 3 views
5

私は、ユーザーが実行時にドメイン固有のオブジェクトから独自のビジネスルールを構築し、それらのルールをデータベースに保持してからアプリケーションで使用できるようにするインターフェイスを作成しています。これらのうちのいくつかは複雑な述語であり、他のものは、かなり複雑な関係に見えるドメインオブジェクトの組み合わせを必要とします。これまでは、GoF、evalのダイナミクス、CodeDomについて調べました。誰に何を使うべきかについての提案はありますか?動的ビジネスルール

+2

あなたの質問は正確にどのように保存したり取得したり、どのように高速に実行するのですか?いくつかのサンプルが役に立つでしょう。また、ルールがどのように動作すべきかもわかります。 – gjvdkamp

+0

Code Effectsルールエンジンを見てください。あなたが探しているものはありますか? – Lacash

答えて

1

Kaizen動的ルールの範囲と種類によっては、MS WFなどのワークフローエンジンを使用してルールをワークフローアクティビティとして定義することもできます。このようにロジックを分離し、不要にするワークフロー内の何かを変更する必要があるときにアプリケーションを完全に再構築します。

これは

1

ルールエンジンを構築してアプローチに取り組んで1年を費やしたことが、あなたには簡単ではないことが伝えられます。特にあなたの目標が何であるかに焦点を当てるとき。ユーザにシステムのルールを書くようにさせるには、本当にその領域に集中する必要があります。おそらく、開発者にとっては、ほとんどのビジネスユーザーにとってははるかに難しいでしょう。私たちはExcelでC#にコンパイルされ、動的に実行されるルールオーサリングプラットフォームを構築しました...ユーザーはスプレッドシートとロジックの流れが複雑すぎて、ルールを構築するためにASp.NET請負業者を雇っていませんでした。

のBizTalkは、私は、.NETアプリケーション http://www.microsoft.com/biztalk/en/us/business-rule-framework.aspx

は楽しみを持ってのために使用することができると信じてエンジンを持っています!

1

ルールはどのくらいの頻度で変更されますか?プログラマがルールを動的に更新できるようにするシステムを構築するよりも、ビジネスに自分のルールをビルド(およびバージョンアップ)するシステムを構築することは、はるかに困難です。

過去のプロジェクトで同様の要件が発生した場合、ビジネスは許可されていますが、ルールは変更されることを認めています。頻繁に変更されることはありませんので、にはがあります。 動的パートにIronPythonを使用してコードをデータベースに格納すると、システムは読み込み時に適切なルールをプルアップします。アプリの残りの部分はC#で書かれています。私たちとビジネスのための勝利。

関連する問題