問題タブ [application-dependency]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - アプリケーション/サーバーの依存関係のマッピング
自分で作成する前に、そのようなツールが存在するかどうか(無料、オープンソース、または商用ですが、手頃な価格)に興味があります。
サーバーのメンテナンス中に Web アプリを簡単にオンラインおよびオフラインにできるシンプルなソリューションを探しています。アイデアは、サーバーを使用不可としてマークし、依存関係 (直接および間接) をすべてオフラインとしてマークできるようにすることです。
最初の概念実証が実行されており、GridView にわかりやすい "メンテナンスのためダウン" メッセージを含む App_Offline.html ファイルを持つさまざまなアプリケーションを一覧表示する aspx ページを作成しました。GridView では、各アプリに LinkButton があり、クリックすると、App_Offline.htm の名前が App_Offline.html に変更されるか、その逆の名前に変更されて、アプリがオンラインまたはオフラインになります。
次のステップは、すべての依存関係をセットアップすることです。たとえば、店舗検索は Web サービスに依存し、Web サービスはさらに SQL Server に依存します。(これは単純な例です。複数のレイヤーや、複数のサーバーに依存する 1 つのアプリなどを簡単に作成できます。) この例では、SQL サーバーがダウンした場合、依存するすべてのアプリを見つけるために再帰的にドリルダウンする必要があります。 、そして App_Offline ファイルの名前を適切に変更して、それらをオフまたはオンにします。
これを構築するのは比較的簡単ですが、管理が複雑になる可能性があることは理解しています。このコンセプトを考えたのは私たちが最初のチームではないことは確かです。また、オープン ソース ツールがあるかどうか、または同様のことを行って落とし穴を回避するのに役立つ人がいるかどうか疑問に思っています。
編集 - 更新
探しているソフトウェアのカテゴリが見つかりました。これは CMDB - (構成管理データベース) と呼ばれ、一般に、開発者ツールというよりはネットワーク管理者タイプのツールです。このカテゴリでいくつかのオープン ソース製品を見つけましたが、.NET で書かれたものはありませんでした。
この質問を ServerFault.com に移動することを検討していたとき、ネットワーク管理者タイプのツールを探していることに気付きましたが、コードと変更可能なソリューションを探しているので、ここで質問を続けます。
database-design - 外部キーの循環依存:それを使用するか、それとも回避するか?
私のアプリケーションは、データベースから複雑なデータ構造に大量のデータをロードします。インメモリデータ構造はデータベースの構造に似ています。つまり、データベースに次のテーブルが含まれている場合:
- テーブルA、キーはA1です
- テーブルB、キーはB1、列の1つはテーブルAの[キー]への外部キーです
- テーブルC、キーはC1、列の1つはテーブルBの[キー]への外部キーです
次に、クラスA、B、Cがあり、次のようになります。
- Bのデータメンバー(B :: m_a)はAへのポインタです
- Cのデータメンバー(C :: m_b)はBへのポインターです
これは、データベースをロードする場合、正しい順序でロードする必要があることを意味します。最初にCをロードすると、ポイントする必要のあるインスタンスがロードされていないため、値C::m_bを設定できないというメッセージが表示されます。
問題は、他のテーブルの1つ(たとえばC)への外部キーである列もAにある場合です。
すべての外部キーを文字列としてロードし、すべてのデータがロードされた後にルックアップを実行することで問題を解決できますが、何百万ものレコードをロードしなければならないことがあるため、これらにメモリを費やす余裕はありません(一時的ではありますが) )文字列。
優れた設計(たとえば、「大規模C ++ソフトウェア設計」という本)について読んだことがあるので、循環参照を使用するのは悪い考えだと思います。たとえば、ファイルXHにYHが含まれているが、YHにもXHが含まれている場合は、設計が不適切である可能性があります。クラスXがクラスYに依存している場合、またはその逆の場合は、設計が不適切である可能性があります。この依存関係を抽出し、XとYに依存する3番目のクラスZを導入することで解決する必要があります(XとYは相互に依存しなくなります) 。
このデザインルールをデータベースデザインにも拡張するのは良い考えですか?言い換えれば、外部キーの循環参照を防ぐことです。
architecture - NLayerd アーキテクチャにおけるドメイン サービスとインフラストラクチャ サービスの違いは何ですか?
また、ドメインコマンドとドメインサービスをどのように区別しますか?