2011-01-17 16 views
1



私は数日前にケーススタディを訪れました。これは、Webアプリケーションのアーキテクチャに関連しています。
ここにシナリオがあります。
1000のWebアプリケーションで使用されている単一のWebサービスがあります。このWebサービスは特定のサーバーでホストされています。 Webサービスのホスティング場所が変更された場合、他のアプリケーションがこの変更についてどのように知っていますか?
web.configファイルをすべてのアプリケーション用に変更する必要があるため、web.configに保持することは現実的ではないようです。
これらの設定を共通のリポジトリに保存し、すべてのアプリケーションがWebサービスアドレス用にこの設定を使用するようにしたのは私の心の中にありましたが、この共通のリポジトリを保存する問題があります。

これはパフォーマンスの向上によってどのように達成できるのか不思議です。
ご協力いただきありがとうございます。Webアプリケーションの構成設定 - より良い保存場所

答えて

1

あなたは、そのWebサービスを使用しているすべてのWebアプリケーションに完全なアクセス権または制御権を持っていますか?そうであれば、スクリプトやカスタムコードを使って、すべてのweb.configを一度に更新することができます。それはあまりにも多くの作業が実際にこのようにあなたはより多くのコントロールを持って、最終的に、いくつかのアプリケーションだけ新しいURLを指し、別のURLにいくつかの他のを残すことができます。

集中型データベースに設定したアイデアは、エラーの場合には悪い可能性のある更新の伝播を高速化し、すべてのアプリケーションが同じ場所を参照しており、これを分割することはできません。次に、すべてのデータベースから集中データベースに接続する必要があります。そのデータベースへの接続文字列を使用してweb.config(s)にキーを追加する必要があります。その場合、データベースに到達できないか、 Webアプリケーションは、URLを取得できないため、Webサービスを単に消費することはできません。

私はウェブ設定に行きました。最終的には、そのURLの取得を抽象化する設定ヘルパークラスを持つことができ、UIまたはフロントエンドはそのURLの由来を知りませんでした。

とにかく、WebサービスのURLを頻繁に変更する予定ですか?それを新しいURLにコピーする方が良いとは限りませんが、しばらくの間現在のURLでそれを利用できるようにすることはできますか?

のweb.configアプローチの別の利点は、

はこのことを願って、データベースの変更はあなたには、いくつかのキャッシュ機構を持っている場合に検出されるようにしばらく時間がかかるかもしれないが、あなたがそれを更新し、保存するたびにアプリケーションが再起動されていることです助けてください。

Davide。

+0

返事ありがとうございますDavide。フルアクセスの場合は、スクリプトが便利です。しかし、私はすべてのWebアプリケーションが異なる別のサーバー上にホストされていれば、そうするのは面倒かもしれないと思います。 –

+0

もちろん、他のWebサービスやWebメソッドを使用して、他のサービスに使用する最新のURLを取得することもできます。もちろん、このようなヘルパーサービスの永続URLを維持できる場合にのみ適用されます。 –