Lettre n°13 - Novembre 2001
Soucieux d'améliorer et d'optimiser la communication d'informations techniques et commerciales auprès de nos clients, nous vous annoncions le lancement de notre lettre d’informations mensuelle KAPILINK en novembre 2000… Cela fait donc maintenant un an que notre lettre est diffusée chaque mois sans exception. Aujourd’hui nous avons plus de 200 personnes abonnées à KAPILINK, et nous espérons que vous serez de plus en plus nombreux à lire cette lettre !
Nous espérons que KAPILINK est conforme à vos attentes. Si vous voulez témoigner sur un cas d'utilisation concret d'un logiciel ou donner votre avis sur un produit, ou encore si vous avez des suggestions sur l'amélioration de cette lettre, alors contactez-nous par e-mail : ou sur notre site Internet : http://www.kapitec.com/mailing/avis.htm
Nous en profitons pour remercier Jean-Christophe DURAND d’Eurogiciel d’avoir consacré du temps à la rédaction d’un papier sur le thème du "Test en charge d’applications web avec l’outil Web Performance Trainer", publié ce mois-ci dans KAPILINK.
Sandrine BOARQUEIRO-VERDUN
Dès la conception d’une application Web, il est capital de définir des objectifs précis de tenue en charge, de robustesse et de qualité de service, pour un nombre estimé d'utilisateurs simultanés. Une fois ces objectifs déterminés, il devient capital de vérifier l'adéquation du système en mesurant les performances de ces diverses parties, et de réaliser les actions correctives si nécessaire.
Une sur-estimation ou une sous-estimation des performances peut conduire à la prise de mauvaises décisions et engendrer des retards et des surcoûts lourds de conséquence pour le projet, sans parler du désastre en terme d’image causé par l’ouverture d’un service mis en production sans la moindre mesure de performance, ni test aux limites, qui s’effondre sous les yeux du client...
De nos jours, le problème est d’autant plus complexe avec la généralisation des architectures 3 ou 4 tiers :
Ø client web -> serveur web -> base de données
ou
Ø client web -> serveur web -> serveur d’application -> base de données
La question devient : Que mesurer et comment réaliser des tests fiables ?
Une réponse tout à fait satisfaisante à la question précédente peut être apportée en mettant en oeuvre l’outil Web Performance Trainer. Son principe est simple et efficace : il considère le système (aussi complexe soit-il) comme une boîte noire.
Le moteur de Web Performance Trainer est un proxy qui se place entre le navigateur client et le serveur web. Il ne mesure que les flux HTTP ou HTTPS émis par le serveur web aux requêtes du navigateur client, sans aucune interprétation du contenu.
C’est effectivement la bonne réponse à la question "que mesurer ?". Ce qui nous intéresse est simplement de savoir combien de temps met le système (quel qu’il soit) pour fournir la réponse à une requête émise par un client, ou un ensemble de requêtes émises par différents clients. L’interprétation de son contenu (HTML, JavaScript, Applet, ActiveX, etc.) est de la responsabilité du navigateur client, sans aucun impact sur l’application web.
Pour être fiables, les mesures doivent simuler fidèlement le comportement de clients hétérogènes qui sollicitent le système pour différentes volumétries, y compris sur des aspects complexes comme l’authentification, le suivi de sessions ou le renseignement de formulaires HTML.
C’est le deuxième point fort de Web Performance Trainer.
Web Performance Trainer introduit la notion de scénario d’utilisation :
Ø D’un point de vue conceptuel, ce scénario peut être comparé à un "use case UML", ou au moins au mode opératoire correspondant à sa mise en oeuvre.
Ø Du point de vue de notre application web, c’est un ensemble de requêtes émises pendant une durée donnée par un utilisateur identifié et unique.
Ø Du point de vue du serveur web, c’est un ensemble de requêtes distinctes (ou hits) pendant un temps donné, sans aucun lien entre elles (principe du protocole HTTP qui est dit "déconnecté").
Web Performance Trainer simule parfaitement un utilisateur identifié et unique pour le système, car il sait gérer pour chaque utilisateur simulé l’échange de cookies uniques pour le suivi de session. Bien sûr, il supporte aussi le suivi de session par réécriture d’URL.
Pour enregistrer un scénario d’utilisation, l’outil est déconcertant de facilité :
Ø on configure son navigateur pour utiliser comme proxy Web Performance Trainer, puis dans Web Performance Trainer on appuie sur PLAY,
Ø dans son navigateur, on simule une session utilisateur correspondant au scénario défini, en naviguant sur les différentes pages du site, et en renseignant le cas échéant les formulaires utilisés.
Ø Lorsque la navigation de l’utilisateur est terminée, on clique sur STOP dans Web Performance Trainer. Et c’est tout ! Le scénario est enregistré.
Il est possible d’enregistrer autant de scénarios que nécessaire. En effet dans la réalité de l’utilisation du système, différents profils d’utilisateurs réaliseront différents scénarios, en se connectant à différentes vitesses sur le(s) serveur(s) web en façade de notre application.
Ensuite, il suffit de rejouer les différents scénarios en même temps, en effectuant différents réglages comme le pourcentage d’utilisateur à simuler pour chaque scénario, la vitesse de connexion des utilisateurs, etc.
Enfin, pour l’authentification des utilisateurs ou le renseignement des formulaires web, il est possible d’injecter des données depuis des fichiers, par exemple au format CSV, chaque utilisateur simulé introduisant ainsi des informations différentes, voire uniques dans le système.
Cette démarche permet ainsi d’obtenir une utilisation en charge et/ou aux limites de l’application, aussi proche que nécessaire de la réalité.
La simulation d’utilisateurs distincts pour le suivi applicatif des sessions, le jeu simultané de différents scénarios d’utilisation, l’injection de données de formulaire dans le système et les nombreuses options paramétrables garantissent au final des mesures fiables.
Toutes les mesures de temps de réponse fournies par Web Performance Trainer permettent 3 niveaux de lecture :
Ø le temps de réalisation d’un scénario complet
Ø le temps pour chaque page web d’un scénario
Ø le temps pour chaque URL de chaque page web
Les données brutes sont donc très complètes. Généralement, on constate que la seule analyse des données au niveau de la réalisation d’un cas d’utilisation est suffisante pour une première analyse pertinente.
Pour avoir effectué plusieurs missions d’assistance technique sur la mise en œuvre de l’outil, j’ai constaté, sur le terrain, que le principal reproche fait à Web Performance Trainer par les utilisateurs est la pauvreté de son module d’analyse des résultats.
En effet on ne peut tracer avec l’outil que des courbes (pour toutes les mesures possibles, et elle sont nombreuses…) ayant le temps en abscisse. Ce qui est insuffisant car généralement on souhaite avoir par exemple le nombre d’utilisateurs en abscisse et les temps de réponse pour les différents scénarios en ordonnée.
De mon point de vue, ce n’est pas le rôle principal de l’outil de disposer d’un tel module de représentation graphique. Il existe Excel et vouloir faire mieux serait dépenser beaucoup d’énergie loin de l’objectif premier qui consiste à mesurer des temps de réponse d’applications ayant une interface web. D’autant que Web Performance Trainer dispose d’une fonction d’export dans différents formats des données brutes, notamment CSV, qu’il est facile de retravailler ou d’importer directement dans Excel.
Au chapitre des reproches, on pourrait ajouter un bug mineur de l’interface graphique de Web Performance Trainer 2.2 qui fait mauvais effet auprès des utilisateurs : parfois le menu permettant de recharger ou d’importer des fichiers de sauvegarde de session de travail et de scénarios est désactivé alors qu’il ne devrait pas l’être. La seule façon d’y remédier et de fermer Web Performance Trainer et de le relancer. C’est dommage car des utilisateurs non avertis ont le sentiment que Web Performance Trainer est "planté", ce qui ne renforce pas leur confiance dans l’outil, alors que ce bug est sans conséquence.
Web Performance Trainer apporte une solution pragmatique, certes limitée, mais avant tout légère et simple à mettre en œuvre. C’est un excellent logiciel de test en charge de sites web, car il focalise le travail sur l’analyse des interactions entre le navigateur client le serveur web en façade. Il est centré sur l’étude des headers HTTP et permet de transmettre dynamiquement des données uniques au système testé pour chaque utilisateur simulé.
Cette volonté de simplification démontrée lors de l’enregistrement des cas d’utilisation permet à l’utilisateur de se concentrer sur la pertinence des tests qu’il effectue. Cependant cette facilité de mise en œuvre ne doit pas masquer que l’outil est destiné à des développeurs. Mener des tests fiables nécessite de solides connaissances techniques sur le fonctionnement des applications web et aucun outil ne pourra éviter cet impératif.
Enfin, pour en revenir aux architectures 3 ou 4 tiers, Web Performance Trainer permet efficacement de détecter les goulets d’étranglement de l’application. Cependant les informations recueillies doivent être croisées, par exemple avec les fichiers de log du réseau, du serveur d’application ou de la base données. On détecte les pages qui posent un problème de temps de réponse, mais on ne dispose pas d’information sur les autres serveurs en jeux, ce qui n’est pas le rôle de l’outil considéré.
Eurogiciel - http://www.eurogiciel.fr
KAPITEC Software est le distributeur exclusif du logiciel Web Performance Trainer pour la France, la Belgique et la Suisse - http://www.kapitec.com
Web Performance Trainer est une marque déposée de Web Performance, Inc. - http://www.webperformanceinc.com
Liste des nouveautés :
Ø Support des serveurs proxy : les tests de performance peuvent désormais être configurés pour un enregistrement et une exécution au travers d’un serveur proxy.
Ø Capture des erreurs de pages durant les tests : les erreurs détectées lors des tests sont plus détaillées, dont les requêtes et les réponses HTTP ; ces informations peuvent être examinées pour faciliter l’analyse et la mise au point des tests.
Ø Amélioration de la validation des pages : il est désormais possible de valider les URL durant un test par une comparaison du texte du contenu.
Ø Recherche automatique des moteurs de playback (“playback engines”) distants : tout moteur de playback présent sur le réseau local est automatiquement détecté et ajouté à la liste des moteurs dans l’onglet "Playback".
Ø Exportation des données du graphe au format CSV (Excel).
Ø Ajout de nouveaux types de connexion réseau : câble, Lan…
Ø Le menu Help -> About permet désormais d’afficher les numéros de version et de build (informations nécessaires lors de la soumission de cas au support) et les termes de la licence.
Tous les clients ayant un contrat de maintenance Basic Support ou Premium Support en cours de validité recevront automatiquement la mise à jour de Web Performance Trainer. Une nouvelle clé spécifique à la version 2.3 et l’adresse de téléchargement leur seront communiqués par email directement par KAPITEC Software.
Evaluation de Web Performance Trainer 2.3 :
http://www.kapitec.com/Produits/Webperformance/fr/download.htm
Support en avant et après-vente :
http://www.kapitec.com/Services/fr/support.htm
VMGEAR vient d’annoncer la disponibilité imminente de sa suite d’outils de test Java, Optimizeit Suite version 4.1, sur Sparc Solaris.
Des versions d’évaluation peuvent d’ores et déjà être téléchargées.
Nouveautés :
http://www.kapitec.com/Produits/OptimizeIt/fr/new.htm
Evaluation d’Optimizeit Suite :
http://www.kapitec.com/Produits/OptimizeIt/fr/download.htm
Support en avant et après-vente :
http://www.kapitec.com/Services/fr/support.htm
KAPITEC Software est une société toulousaine, spécialisée dans la distribution à valeur ajoutée de logiciels Java. La société a pour objectif de proposer une offre complète répondant aux différentes étapes de la réalisation de projets informatiques en langage Java.
REALISATION D’UN PROJET EN JAVA
DEVELOPPEMENT
JBuilder 5 est un ensemble d'outils visuels de développement Java pour construire des applets, des JSP/Servlets, des JavaBeans, des Enterprise JavaBeans et des applications J2EE distribuées.
JDX est une solution de productivité dédiée au mapping d'objets relationnels, écrite en 100% Pure Java.
Les JClass sont des composants 100% Pure Java destinés à la représentation de tableaux de données, l’affichage de courbes 2D, l’accès aux bases de données, la gestion de l’impression…
JLOOX est un outil de développement Java, qui apporte toutes les fonctionnalités indispensables au développement d'applications intégrant du graphisme interactif et animé.
⇩
TEST
JProbe est une suite d’outils de test destinée à améliorer les performances du code Java.
Optimizeit est une famille d’outils de mesures de performance dédiés aux applications Java.
Web Performance Trainer est un outil efficace et convivial destiné à tester la montée en charge des applications Web.
⇩
DEPLOIEMENT
InstallAnywhere permet de créer des installateurs logiciels professionnels, personnalisables et multi-plate-forme.
PowerUpdate est une solution basée sur le Web contrôlant automatiquement le téléchargement et l’installation des mises à jour d’applications.
Sitraka et KAPITEC Software ont mis en place deux offres spéciales d'upgrade pour les clients JClass valables jusqu'au 31 décembre 2001.
OFFRE 1
Upgrade JClass Enterprise Suite 5.0 ByteCode depuis n’importe quel composant JClass sous maintenance
Réf. : UPG-JC/GSS-JCENT
Prix : 1.845 Euros H.T.
OFFRE 2
Upgrade JClass Enterprise Suite 5.0 Bytecode depuis n’importe quel composant JClass n’étant pas sous maintenance
Réf. : UPG-JC/JCENT
Prix : 2.530 Euros H.T.
Pour les développeurs Java qui souhaiteraient s’équiper de JavaBeans leur permettant d’améliorer leur productivité, deux offres ont été mises en place, et elles sont également valables jusqu'au 31 décembre 2001.
OFFRE 1
1 licence JClass Enterprise Suite 5.0 SourceCode avec 1 an de maintenance
Réf. : J-ENT-S-E-01-E-I
Prix remisé : 6.090 Euros H.T. au lieu de 7.165 Euros H.T.
OFFRE 2
1 licence JClass Enterprise Suite 5.0 ByteCode avec 1 an de maintenance
Réf. : J-ENT-S-E-01-E-I
Prix remisé : 3.028 Euros H.T. au lieu de 3.563 Euros H.T.
Pour bénéficier de nos offres exceptionnelles, contactez dès aujourd’hui le service commercial de KAPITEC Software par téléphone +33-5 34 27 90 03 ou par e-mail :
KAPITEC Software - 57, boulevard de l’Embouchure - 31075 Toulouse Cedex 2 - France
Tél. : 05 34 27 90 03 - Fax : 05 34 27 90 04
URL : http://www.kapitec.com/
Service commercial :
Service technique :
KAPILINK est réalisée par KAPITEC Software – 14/11/2001.
Les marques citées sont des marques déposées de leurs propriétaires respectifs.