4

ビジネス プロセス ロジックに触れずにルールを追加できるように、ビジネス プロセスからビジネス ルールを外部化するにはどうすればよいですか?

たとえば、「製品の追加」と「製品の更新」という 2 つのビジネス プロセスがあり、これら 2 つのプロセスが共有するいくつかの共通ルールがあり、後でルールを追加し続けることができます。特定のプロセスで使用可能なすべてのルールを実行し、例外がスローされない場合は、ビジネス プロセスを正常に完了し続けるビジネス プロセスを 1 回作成するつもりです。

ルール エンジンを使用するつもりはありません。これは、私のアーキテクチャには重すぎる可能性があるためです。

よろしくお願いします、
アジェイ

4

3 に答える 3

1

多くの手法を使用して、ルールをプロセスの流れから切り離すことができます。ある程度の抽象化では、ビジネス プロセスのさまざまなポイントから「メソッド」を呼び出しています。問題は、ビジネス プロセス自体を変更せずにそのメソッドを変更できるメカニズムの 1 つになります。

メソッドを独自のライブラリ (dll、jar など) にパッケージ化し、その jar を新しいバージョンに置き換えることができます。ライブラリを変更し、ビジネス ルールを変更します。

データベースから取得した構成可能なパラメーターの観点から、メソッドのロジックを表現することができます。データベースを変更し、ビジネス ルールを変更します。

複雑さが増すと、独自のルール エンジンを実装したことがわかります。

ある時点で、この車輪を再発明するよりも、既存のルール エンジンを使用する方が効率的になります。

より詳細なアドバイスが必要な場合は、あなたが何をしているかについて詳しく教えていただく必要があります。

于 2009-08-22T09:20:50.647 に答える
1

この質問への答えは、ここに書くよりも複雑です。これは、データ関係の科学、セキュリティ、ポリシーの教義、およびビジネス/業界の管理上の制約に触れています。

「ビジネス ルール」や「ビジネス ポリシー」よりも漠然としたものを意味している場合、質問を誤解している可能性があります。

于 2009-08-22T08:01:41.087 に答える
0

質問がかなり広いので、一般的なパターンでお答えします。

多くの場合、私が行ったことは、プロセスの適切な段階で多数の「ゲートキーパー」アクティビティを挿入するようにプロセスを定義することです。これらの各ゲート キーパーは、ビジネス ルールの特定のサブセットを実施する責任があります。したがって、たとえば、そのようなアクティビティの 1 つがデータ品質を強制する場合があります。別の人は、ビジネス ルールに基づいてルーティングを決定する場合があります。別の価格設定。等々。

実際のルール自体はワークフローの外部に保持され、ワー​​クフローとは無関係に変更できます。秘訣は、ルール評価の「プロセスの結果」を制約して、予測可能な (そしてテスト可能な) プロセスを継続できるようにすることです。

于 2009-08-22T08:10:38.463 に答える