私の仕事では、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にアクセスし、インバウンドおよびアウトバウンドのトラフィックを監視し、少し特別なソースを追加して、トラフィックのマップを作成し始めることができます。非常にいいですが、バンドルがかかります。
私は知っています、私は知っています、どのようにあなたは最初の場所でこの混乱に入ったのですか?私を打ち負かすだけで、私たちがそれをコントロールしてそれから脱出するのを助けようとしています。
おかげで、 マット