2008-09-04 12 views
0

私の仕事では、Webサービス(および最近WCF)を介してバランスの取れたアプリケーションサーバーを読み込むように負荷分散されたWebサーバーがあります。任意の時点で、新しいWebサイトやサービスを追加したり、既存のサービスを利用したりする能力を持つチームが4〜6名あります。おそらく20-30種類のWebアプリケーションとそれに対応するサービスがあります。ASP.NET Webサービスの参照を確認する

残念ながら、競合する優先順位、組織構造、プロジェクトのタイムライン、財務バケットなどのために、私たちはこれを一元的に管理できないため、かなり混乱しています。私たちには、さまざまなサービスが再利用されていますが、フロントエンドに固有の束があります。

理想的には、私たちはこの状況をより良くコントロールし、それをコントロールしようとしていますが、それはしばらく時間がかかります。私たちがしたいことの1つは、Webサイトとアプリケーションサーバーの間の相互関係のすべてについて何かを見つけることです。

私はReflectorを使用してアセンブリ間の依存関係を見つけましたが、サービス間のトラフィックパターンを確認したいと考えています。

Webサービスの関係をマップするためのオプションは何ですか?ほとんどの場合、私たちは主に内部サービス(web to app、app to app、batch to appなど)について話しています。私の頭の上から離れて、私はそれにアプローチする2つの方法を考えることができます:

  • 任意のWeb参照のアセンブリを分析します。ここでの欠点は、すべてがWeb参照ではなく、WCF接続がどのようにリストされているかわからないことです。しかし、これは少なくとも接続の80%を見つけるための出発点になります。誰かがその分析を行うことができるツールを知っていますか?私が言ったように、私はReflectorをアセンブリ参照に使用しましたが、Web参照のためのものは見つかりませんでした。
  • おそらくIISにアクセスし、出入りするトラフィックを受動的に監視し、何が呼び出されているのか、どこから発信されたのか把握します。私たちは、助けることができるエンタープライズツールを見ていますが、実装する前にしばらく時間がかかります(そしてコストがかかります)。しかし、迅速かつ安価に手助けできるものはありますか?特に1つのツール(AmberPoint)では、サーバー上のIISにアクセスし、インバウンドおよびアウトバウンドのトラフィックを監視し、少し特別なソースを追加して、トラフィックのマップを作成し始めることができます。非常にいいですが、バンドルがかかります。

私は知っています、私は知っています、どのようにあなたは最初の場所でこの混乱に入ったのですか?私を打ち負かすだけで、私たちがそれをコントロールしてそれから脱出するのを助けようとしています。

おかげで、 マット

答えて

0

サービスレジストリ(UDDI ??)が必要です...これらのサービスとそのコンシューマをカタログ化する手段があれば、この依存関係発見の仕事はずっと簡単になります。しかし、それは簡単な解決策ではありません。カタログを入手するには時間とドキュメンテーションが必要です。

私は最も簡単な解決策は、IISログを照会し、自分のサーバーから発信元URLを見つけることだと思います。消費者がどのサーバから来ているかを少なくとも把握することができます。

また、すでに何らかの認証メカニズムが用意されている場合は、ログインに基づいて特定のサービスを使用しているユーザーを追跡できます。

あなたはAmberPointについて正しいです。サービストラフィックをカタログ化し、サービスに何が起きているかを示すレポートを提供するその他のツールがあります。 Systinet、SOA Software、ActionalにはAmberpointと似た製品がありますが、Amberpointはフリーウェア版を持っています。

2

は、最も簡単な方法は、ログを見てですが、それはあなたにもアプリケーションサーバにウェブから何が起こっているかを監視することよりも、リファラが含まれていない場合。このトラフィックを表示するには、WiresharkやMicrosoft Network Monitorなどのツールを使用できます。

他の「解決策」と私はこれをゆるやかに使用するのは、特定のWebサーバーをアプリケーションサーバーにバインドしてから、バンドルを実行して、アプリケーションサーバーで何が起きているのかを確認することです。おそらく、テスト環境でこれを実行して、サイトのユーザーへの影響をレッスンできます。

関連する問題