10

私は、DRY 原則 (Don't Repeat Yourself) に問題があり、Rete ルール エンジンを中心に展開する依存関係を最小限に抑えています。

大規模な IT 組織のルール エンジンはエンタープライズになる傾向があります (大文字の「E」に注意してください。これは深刻なビジネスです)。すべてのルールは一度だけ表現され、ナイスで DRY であり、高価なルール エンジンに集中化される必要があります。グループはルール エンジンを維持し、ルール セットの管理者です。

その IT 組織がアメリカの保険会社の一部である場合、多くの規則が存在する傾向があります。すべての州と製品に適用される規則がありますが、各州は製品ごとに独自の法律を展開する傾向があるため、規則はこれらの癖を反映する必要があります。カテゴリは多数あります: 保険数理、保険引受、さらには第三者機関からの信用および自動車のレポートの注文などです。

設計の観点から私が抱えている問題は、ルールと処理を集中化することは確かに素晴らしく DRY ですが、コストがかかることです。

  1. 中央に配置されたルール サービスにアクセスして結果を返すための追加のネットワーク ホップ。
  2. ルール エンジンが SOAP Web サービスとして公開されている場合はさらに複雑になります。消費者は SOAP 要求をパッケージ化し、応答を OXM して自分のドメインに戻す必要があります。
  3. ルール エンジンを維持する企業グループ、ルールを設定および維持するビジネス、ルールを使用する開発者の間の追加のインターフェイス。
  4. 追加の複雑さ - データ駆動型のソリューションで十分な場合があります。
  5. 追加の依存関係 - 独自のルールを制御できないコンポーネントは、テスト、展開、リリースなどのために、ルール エンジンの外部依存関係について心配する必要があります。

これらの問題は、他の多くのエンタープライズ テクノロジ (B2B ゲートウェイ、ESB など) で発生します。

同じエンタープライズ グループも、SOA を基本原則として宣伝しています。しかし、適切なサービス設計についての私の理解では、それらはビジネス スペースを並べて表示し、冪等、独立、および分離する必要があります。ルールが別の場所で維持されている場合、サービスはどのように独立して分離されているのでしょうか?

ルールが孤立した状況でのみ適用されることを示すことができる場合、依存関係を排除することは集中化よりも優先されるべきであると主張して、私は単純さの側で誤りを犯したいと思います. 議論がその日に勝つかどうかはわかりません。

だから私の質問は:

  1. 中央集権化と独立性の議論のどこに当てはまりますか?
  2. ルール エンジンなどのエンタープライズ ツールの使用経験は?
  3. どうすれば孤立の主張をより強くすることができますか?
  4. 私の見解が間違っているとすれば、中央集権化を支持する理由は何ですか?
4

2 に答える 2

5

長期的には、全体を簡単にメンテナンスすることが絶対的な要件になります。

したがって、DRYは、あちこちでパフォーマンスが低下したり、いくつかの追加の構成の問題やその他の「マイナーな」問題が発生したりする場合でも、絶対に尊重する必要があります。

また、「独立」は「自己完結型」とは異なります。

それ以外の場合は、何かを変更する必要があり、更新を強制するために多くの異なる関係者に連絡する必要がある状況を想像してください。DRYを使用すると、互換性のないバージョンが短時間同時に実行されるという問題も解決できます。

それで

  1. 集中化>独立性(少なくともあなたが説明するシステムでは)
  2. ルールエンジンの信頼できる唯一の情報源(同じページの全員)
  3. 年が経つにつれて、メンテナンスのコストを彼らに思い出させてください
  4. あなたの見方は正しいと思います。
于 2009-09-15T15:43:59.897 に答える
3

あなたの質問は非常にエンタープライズ固有のものであり、私はデスクトップのほうが好きなので、この回答が一般的すぎないことを願っています. Don't Repeat Yourself のコンセプトが気に入っていましたが、それがどのように成文化され、硬直化されているかを知るまでは。私が気に入ったのは、コードをより保守しやすく、エラーが発生しにくいものにする方法についての私自身のアイデア (当然のことです!) に同意したからです。基本的に、メンテナの側でより多くの学習曲線を必要とするように、より優れた保守性を見ています。それを回避する簡単な方法はないと思います。これは、保守性を向上させる方法の例ですが、学習曲線がないわけではありません。

于 2009-11-24T18:50:44.027 に答える