ビジネス ルール エンジン

ビジネス ルール フレームワークは、Microsoft .NET 準拠のクラス ライブラリです。 このフレームワークは、非常に判読しやすく意味論的にも充実した宣言型のルールを、任意のビジネス オブジェクト (.NET コンポーネント)、XML ドキュメント、またはデータベース テーブルにリンクできる効率的な推論エンジンを提供します。 アプリケーション開発者は、ビジネス ロジックの小さな構成要素 (小さなルール セット) を基にしてルールを作成することによって、ビジネス ルールを構築できます。ルールは、.NET オブジェクト、データベース テーブル、および XML ドキュメントに含まれている情報 (ファクト) に対して適用されます。 このデザイン パターンによって、コードの再利用、デザインの簡潔化、およびビジネス ロジックのモジュール化が促進されます。 また、ルール エンジンを利用することで、ビジネス アプリケーションのアーキテクチャやデザインに制約が生じることはありません。 実際、ルール エンジンを直接呼び出してルール テクノロジをビジネス アプリケーションに追加することも、ビジネス オブジェクトを変更せずにこれらを呼び出す外部ロジックを使用することもできます。 つまり、このテクノロジによって、開発者は最小限の作業でアプリケーションを作成および保守できるようになります。

ルールベースのアプリケーション開発を計画するときは、そのルールをビジネス プロセスにどう適合させるかを決めておく必要があります。 アプリケーション側では、ポリシーのインスタンスを作成し、操作の対象となるデータ、つまりファクトをポリシーに渡します。 ポリシー オブジェクトは、ルール エンジンをカプセル化して、実行ポイントを 1 か所にまとめます。

ルール デザインの開発とテストも計画する必要があります。 ポリシーを展開および更新する方法を考慮してください。 ルール エンジン実行の進捗状況を追跡し、現在の状態を監視する必要も生じるのが普通です。

ルールの開発を計画する際は、次の手順に従ってください。

  1. アプリケーションにルールを組み込む方法を検討します。

  2. アプリケーション内で、ルールによって表すビジネス ロジックを特定します。 "ビジネス ロジック" という語が示す意味はさまざまです。たとえば、"500 ドルを超える注文書にはマネージャーの承認が必要である" もビジネス ロジックです。

  3. ルール要素のデータ ソースを特定します。 オプションで、ボキャブラリ (基になるバインドを表すドメイン固有の命名規則) を定義し、公開できます。

  4. ルールをボキャブラリ定義から定義するか、データ バインドから直接定義し、それによってビジネス ロジックを表すポリシーを作成します。

    Note

    ボキャブラリは、ルールに適用する前に公開する必要があります。

  5. サンプルのファクトを使用してポリシーをテストし、デバッグします。 ビジネス ルール作成ツールのテスト ポリシー機能を使用するか、 Policy クラスまたは PolicyTester クラスを使用して、アプリケーション、コマンド ライン プログラム、またはオーケストレーションから実行できます。

  6. ポリシーのバージョンをルール ストアに公開します。

  7. ポリシーのバージョンを展開します。

  8. ホスト アプリケーションに短期間のファクト リストをインスタンス化し、構築します。 オーケストレーションで [ルールの呼び出し] 図形を使用して、ビジネス ポリシーを実行するか、ホスティング アプリケーションでポリシー バージョンをプログラムでインスタンス化します。

  9. 必要に応じてルールの実行を監視および追跡します。

    Note

    既定の追跡情報インターセプターはオーケストレーションと連携して機能します。 ホスト アプリケーションがオーケストレーションではない場合は、独自の追跡情報インターセプターを作成して実行する必要があります。

このセクションの内容