私の日常の仕事では、Web サービス (および最近では WCF) を介して負荷分散されたアプリ サーバーと通信する、負荷分散された Web サーバーがあります。常に、新しい Web サイトやサービスを追加したり、既存のサービスを利用したりできる 4 ~ 6 の異なるチームがあります。おそらく、約 20 ~ 30 の異なる Web アプリケーションとそれに対応するサービスがあります。
残念ながら、競合する優先順位、組織構造、プロジェクトのタイムライン、財務バケットなどのために、これを一元的に制御できないことを考えると、かなり混乱しています. 再利用されるさまざまなサービスがありますが、フロントエンドに固有のものはたくさんあります。
理想的には、この状況をより適切に制御できるようにすることであり、それを制御しようとしていますが、それには時間がかかります。私たちがやりたいことの 1 つは、Web サイトとアプリ サーバーの間のすべての相互関係についてもっと調べることです。
Reflector を使用してアセンブリ間の依存関係を見つけましたが、サービス間のトラフィック パターンを確認できるようにしたいと考えています。
Web サービスの関係をマッピングするためのオプションは何ですか? ほとんどの場合、主に内部サービス (Web からアプリ、アプリからアプリ、バッチからアプリなど) について話しています。頭のてっぺんから、それにアプローチする2つの方法を考えることができます。
- Web 参照のアセンブリを分析します。ここでの欠点は、すべてが Web 参照であるとは限らず、WCF 接続がどのようにリストされているかがわからないことです。ただし、これは少なくとも接続の 80% を見つけるための出発点となります。その分析を行うことができるツールを知っている人はいますか? 私が言ったように、アセンブリ参照に Reflector を使用しましたが、Web 参照には何も見つかりません。
- おそらくIISを利用して、出入りするトラフィックを受動的に監視し、どういうわけか、何がどこから呼び出されているかを突き止めます。役立つエンタープライズ ツールを検討していますが、実装されるまでにはしばらく時間がかかります (そして多くの費用がかかります)。しかし、迅速かつ安価に役立つものはありますか? 特に 1 つのツール (AmberPoint) は、サーバー上の IIS を利用して、インバウンドおよびアウトバウンドのトラフィックを監視し、少し特別なソースを追加して、トラフィックのマップの作成を開始できます。とても素敵ですが、バンドルが必要です。
そもそもどうやってこの混乱に陥ったのですか?私たちがそれを制御してそこから抜け出すのを手伝おうとしているだけで、私を打ちのめします。
ありがとう、マット