Générer le diagramme de séquence de votre application

Nous allons voir l'utilisation, avec tomcat, de jtracert, outil géré par Google permettant de générer le diagramme de séquence d'une application Java, en fonction de votre navigation sur celle-ci.

- Nous allons commencer par récupérer l'archive de l'application : jTracert-x.x.x.zip.

- Dézipper l'archive.

- Editer le fichier catalina.bat ou catalina.sh du serveur tomcat.

- À la ligne définissant les paramètres Java (JAVA_OPTS), rajouter le paramètre suivant : -javaagent:<chemin vers jtracert>\jTracert.jar=7007

- Lancer le serveur tomcat (sans oublier de copier notre application dans le dossier webapps) : startup.bat ou startup.sh

- Le message suivant apparaît dans la console du serveur : Waiting for a connection from jTracert GUI on port 7007

- Lancer jtracert : Configuration jtracert
1. Répertoire de destination des fichiers générés
2. Nom du package des classes qui seront filtrées lors de la génération
3. Adresse du serveur tomcat
4. Port d'écoute
5. Paramètre à ajouter dans le fichier catalina

- Se connecter, le serveur tomcat démarre.

- Connectez-vous à l'application et naviguez. Jtracert génère les diagrammes en fonction du filtre appliqué.

- L'arborescence de gauche contient les les différentes classes qui ont été appelées, avec le nom de la méthode d'entrée : jtracert-Arborescence

- Le détail de l'appel d'une classe donne le diagramme de séquence correspondant : jtracert-Diagramme

- Bien qu'il soit possible d'affiche le diagramme en plein écran, sa lecture, et surtout son partage, ne sont pas aisés. C'est pourquoi jtracert propose de l'exporter dans un fichier image (s'il n'est pas trop grand), ou pdf.

Lors de l'arrivée sur un projet, jtracert apporte une vue d'ensemble au fonctionnement de l'application. Il permet donc de remplacer, ou au moins de précéder, une longue et fastidieuse phase de debug.

2 commentaires

  1. Merci Benoît pour cet outil qui nous a déjà pas mal servi à Nantes.

    A noter toutefois : il ne semble pas que cet outil soit capable de tracer deux packages totalement différents à la fois (ou alors je suis preneur de l’astuce car nous n’avons pas trouvé comment faire). En effet, l’outil n’arrive pas à tracer, sur une même navigation, les deux packages fr.* (package de notre application) et org.springframework.security.* (package des classes de Spring Security) par exemple.

  2. Effectivement une bonne astuce pour comprendre le fonctionnement d’une application sans devoir utiliser l’arme de destruction massive ;-), le débugger.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.