2008-09-04 7 views
0

Lors de mon travail de jour, nous avons des serveurs Web à charge équilibrée qui parlent de charger des serveurs d'applications équilibrés via des services Web (et récemment WCF). À tout moment, nous avons 4 à 6 équipes différentes qui ont la possibilité d'ajouter de nouveaux sites Web ou services ou de consommer des services existants. Nous avons probablement environ 20-30 applications Web différentes et les services correspondants.Identification des références de service Web ASP.NET

Malheureusement, étant donné que nous n'avons aucun contrôle centralisé à cet égard en raison de priorités concurrentes, de structures organisationnelles, de calendriers de projets, de compartiments financiers, etc., c'est un véritable gâchis. Nous avons une variété de services qui sont réutilisés, mais un groupe qui est spécifique à un front-end.

Idéalement, nous aurions un meilleur contrôle sur cette situation, et nous essayons d'en prendre le contrôle, mais cela prend du temps. Une chose que nous aimerions faire est d'en savoir plus sur toutes les interrelations entre les sites Web et les serveurs d'applications.

J'ai utilisé Reflector pour trouver des dépendances parmi les assemblages, mais j'aimerais pouvoir voir les modèles de trafic entre les services. Quelles sont les options pour essayer de tracer les relations de service Web? Dans la plupart des cas, nous parlons principalement de services internes (Web to app, app to app, batch to app, etc.). Au sommet de ma tête, je peux penser à deux façons de l'approcher:

  • Analyser les assemblages pour toutes les références Web. L'inconvénient ici est que tout n'est pas une référence web et je ne suis pas sûr de savoir comment les connexions WCF sont listées. Cependant, ce serait au moins un début pour trouver 80% des connexions. Est-ce que quelqu'un connaît des outils qui peuvent faire cette analyse? Comme je l'ai dit, j'ai utilisé Reflector pour les références d'assemblage, mais je ne trouve rien pour les références Web.
  • Peut-être puiser dans IIS et surveiller passivement le trafic entrant et sortant et comprendre en quelque sorte ce qui est appelé et d'où. Nous examinons des outils d'entreprise qui pourraient aider, mais il faudra un certain temps avant qu'ils ne soient mis en œuvre (et coûtent cher). Mais y a-t-il quelque chose qui pourrait aider rapidement et à peu de frais? Un outil en particulier (AmberPoint) peut exploiter IIS sur les serveurs et surveiller le trafic entrant et sortant, ajoute une petite sauce spéciale et commence à construire une carte du trafic. Très bien, mais coûte un paquet.

Je sais, je sais, comment diable avez-vous eu ce désordre en premier lieu? Beats moi, essayant juste de nous aider à prendre le contrôle et à en sortir.

Merci, Matt

Répondre

0

Vous avez besoin d'un registre de service (UDDI ??) ... Si vous aviez un moyen de cataloguer ces services et leurs consommateurs, cela faciliterait grandement la découverte de dépendances. Ce n'est pas une solution facile, cependant. Il faut du temps et de la documentation pour mettre en place un catalogue.

Je pense que la solution la plus rapide serait d'interroger vos journaux IIS et de trouver les URL source qui proviennent de vos propres serveurs.Vous seriez au moins capable de savoir de quels serveurs proviennent vos clients. En outre, si vous avez déjà mis en place un mécanisme d'authentification, vous pouvez déterminer qui utilise un service particulier en fonction de la connexion.

Vous avez raison concernant AmberPoint. Il existe d'autres outils qui répertorient le trafic du service et fournissent des rapports indiquant ce qui se passe dans vos services. Systinet, SOA Software et Actional ont également des produits similaires à Amberpoint mais Amberpoint a une version freeware, je crois.

2

Le moyen le plus simple est de regarder à travers les journaux, mais si cela ne comprend pas le referrer que vous pouvez également suivre ce qui se passe à partir de votre site Web sur le serveur d'applications. Vous pouvez utiliser des outils tels que Wireshark ou Microsoft Network Monitor pour voir ce trafic.

L'autre "solution" que j'utilise de manière approximative consiste à lier un serveur Web spécifique au serveur d'application, puis à parcourir un paquet et à voir ce qu'il frappe sur le serveur d'applications. Vous pouvez probablement le faire dans un environnement de test pour en tirer les conséquences sur les utilisateurs du site.

Questions connexes