Université de Sherbrooke Faculté des sciences Département d’informatique IFT 287 – Exploitation de bases de données relationnelles et orientées objet Travail pratique 4 XML et Interface Web Gestionnaire des transactions Web et XML La problématique Le travail de votre TP3 a été de développer un gestionnaire de transactions pour la ligue de baseball. Le fonctionnement en général est très bon, mais l’interface texte n’est pas la plus conviviale, et elle est limitée à une utilisation à la fois, c'est-à-dire, elle est « single user ». Pour le TP4 vous devez modifier l’interface de votre gestionnaire de transactions et la transformer en une application Web simple à l’aide de la technologie servlet. En plus, étant donné le succès du système, il y a plusieurs équipes qui veulent s’inscrire à la ligue. Pour simplifier le travail, les nouvelles équipes doivent envoyer un fichier XML avec l’information nécessaire pour les enregistrer, voir la section fichier XML. Le travail à faire Vous devez reprendre le code développé lors de votre TP3 et modifier l’interface pour que ce soit une application Web interactive qui prenne les commandes de l’utilisateur. Vous pouvez réutiliser toutes les classes définies dans votre TP3 pour effectuer les transactions. Pour ce qui touche la partie esthétique de votre site, il faut développer des feuilles de style. Chacune des pages web à développer doit utiliser les feuilles de style pour donner un affichage simple, convivial et agréable, simple c’est beau, regardez par exemple les sites comme Amazon.ca ou Costco.ca. L’application à développer comprend une page d’accueil qui sera stockée dans un fichier login.jsp. Cette page doit permettre d’entrer l’adresse IP du serveur de base de données Postgres, le nom de l’utilisateur, le mot de passe et le nom de la base de données afin de faciliter la correction. S’il n’est pas possible d’établir la connexion avec la base de données, il faut afficher un message d’erreur et retourner à la page d’accueil. Suite au login, et une fois l’utilisateur validé, l’application affichera une page menu qui permettra d’effectuer les 13 opérations offertes par l’application que vous avez développée pour le TP3 ainsi que l’opération d’ajouter une équipe à partir d’un fichier et l’exportation des données d’une équipe dans un fichier XML. Si l’opération demande la saisie de données, par exemple les opérations de type créerXXX, il faut afficher un formulaire qui demandera les mêmes données qui sont passées en paramètre à l’opération. Il faut toujours afficher une page indiquant le résultat de l’opération (réussit ou échec), cette page permettra de retourner à la page du menu pour recommencer le processus. Il y a deux fonctions qui peuvent s’activer à partir de n’importe quelle page : Sortir (qui finit la connexion à la base de données) et Menu (qui permet de retourner à la page de menu) IFT 287 – Exploitation de bases de données relationnelles et OO Quatrième travail pratique 1 Nous utilisons Tomcat 6.0.14 ainsi que Java 6 comme dans le TP3. Dans les machines du département, il y a une machine virtuelle VM-IFT287-Tomcat avec la configuration nécessaire pour utiliser Tomcat. Sinon, vous pouvez travailler avec Eclipse ou Netbeans qui ont un serveur Tomcat de base pour le développement. Pour la partie qui touche XML, il faut lire un fichier XML contenant les informations d’une équipe et l’insérer à la base de données. Ce fichier se trouvera dans un répertoire bien spécifie, il est fortement recommandé de fixer à l’aide d’une constante Java la valeur de ce répertoire. Nous faisons ceci pour simplifier le travail, parce qu’une application qui sera déployée sur le web devra avant de pouvoir traiter le fichier l’« uploader » du poste client vers le serveur. Ce n’est pas très compliqué, mais on va le laisser pour une autre occasion. Vous devez aussi implémenter une page qui permettra exporter les informations d’une équipe dans un fichier XML, le nom du fichier sera toujours le nom de l’équipe avec l’extension .xml Pour uniformiser l’échange de données, vous devez analyser le fichier XML qui contient les informations d’une équipe et proposer un schéma de validation approprié. À chaque fois que vous allez lire un fichier d’équipe, il faudra faire la validation appropriée avant la lecture, il faudra aussi valider le fichier selon son schéma après l’écriture d’un fichier. Le fichier XML Pour permettre l’échange d’information et accepter de nouvelles équipes, la ligue a défini un format de fichier XML pour pouvoir inscrire une équipe. Voici l’exemple d’un fichier contenant une équipe : <?xml version="1.0"?> <equipe nom="Rangers"> <terrain nom="Rangers Ballpark" adresse="1000 Ballpark Way, Arlington, Texas 76011" /> <joueurs> <joueur nom="Benoit" prenom="Joaquin" numero="53" datedebut="15-JAN-2008" /> <joueur nom="Francisco" prenom="Frank" numero="50" datedebut="15-JAN-2008" /> <joueur nom="Guardado" prenom="Eddie" numero="18" datedebut="15-JAN-2008" /> <joueur nom="Laird" prenom="Gerald" numero="15" datedebut="15-JAN-2008" /> <joueur nom="Jennings" prenom="Jason" numero="31" datedebut="15-JAN-2008" /> <joueur nom="Vazquez" prenom="Ramon" numero="12" datedebut="15-JAN-2008" /> <joueur nom="Catalanotto" prenom="Frank" numero="27" datedebut="15-JAN-2008" /> <joueur nom="Cruz" prenom="Nelson" numero="17" datedebut="15-JAN-2008" /> <joueur nom="Murphy" prenom="David" numero="7" datedebut="15-JAN-2008" /> <joueur nom="Young" prenom="Michael" numero="10" datedebut="15-JAN-2008" /> </joueurs> </equipe> Le fichier Rangers.xml est disponible sur le site web du cours pour tester votre application. IFT 287 – Exploitation de bases de données relationnelles et OO Quatrième travail pratique 2 Conseils sur les étapes à suivre pour développer votre programme Tester un servlet ou une page JSP est un peu plus compliqué qu’un programme comme ceux que nous avons développés depuis le début de la session. Il faut penser à développer de manière ordonnée et viser la qualité dès le départ de la conception de votre système. Voici quelques conseils qui peuvent aider à mieux organiser le travail : 1. Utilisez Eclipse et son plugin Tomcat. Il s’occupe de recharger le contexte quand vous modifiez un servlet ou une page JSP. 2. Lors de la création de votre projet, il faut spécifier qu’il s’agit d’un projet TOMCAT. 3. Utilisez la fonction « View -> Source » pour voir le code HTML de la page affichée. Vous pourrez ainsi voir tout le code produit par votre servlet ou votre page JSP. 4. Sous Eclipse, le répertoire « work » de votre projet contient les classes générées pour les pages JSP. Si jamais Tomcat ne semble pas utiliser la dernière version d’une page JSP, supprimez les classes générées par Tomcat dans ce répertoire. 5. N’oubliez pas de mettre à jour le fichier web.xml si vous ajoutez un nouveau servlet. 6. La création d’une session varie d’un navigateur à un autre. a. Internet Explorer engendre une nouvelle session pour chaque instance d’explorer qui est démarrée. Toutefois, une instance démarrée avec « New Window » ne crée pas une nouvelle session. b. Firefox a une seule session, peu importe la manière de démarrer une instance. 7. Identifiez un chef d’équipe. Son rôle sera de coordonner le travail et de s’assurer que les travaux progressent comme prévu. 8. Planifiez. Vous pouvez faire une phase de conception et ensuite diviser les tâches entre les membres de l’équipe pour assurer que tout le travail sera réalisé. Il faut toujours valider que les échéanciers soient respectés. 9. Définissez toutes les classes et toutes les méthodes que votre programme a besoin avant de commencer à coder. 10. Définissez des cas de test. 11. Codez et testez les classes une par une. 12. Testez chaque instruction au moins une fois. 13. Ne réinventez pas la roue. Inspirez-vous de l’exemple du système de gestion de bibliothèque web vue en classe. Réutilisez autant de code que possible. 14. Commencez le plus rapidement possible le travail! Remise La date prévue pour la remise de ce quatrième TP est indiquée dans le plan cours. Pour ce TP nous allons faire la correction en deux étapes : 1. La première étape c’est la vérification des fonctionnalités de votre application. Cette vérification sera faite pendant l’heure du cours. Vous devez montrer au correcteur les fonctionnalités implémentées. 2. La deuxième partie consiste à valider le code, la documentation et tout le reste de votre TP, pour faire cela il faut faire un dépôt de la manière traditionnelle. Vous pouvez utiliser la même procédure que pour le tp3. Remettre les fichiers suivants : Il faut créer un répertoire nommé tp4 qui contient tous les fichiers à remettre : Un fichier texte nommé reponses.txt avec la réponse à la question suivante : o Est-ce qu’il a été simple de réutiliser les classes programmées lors du TP3 ? Pourquoi? o Ajouter dans votre fichier une section décrivant l’architecture que vous avez implémentée. Tout fichier utilisé lors de la conception du système. tp4/login.jsp (la page d’accueil de votre système) tp4/WEB-INF/src/ligueBaseball/ (les classes utilisées lors du TP3) IFT 287 – Exploitation de bases de données relationnelles et OO Quatrième travail pratique 3 tp4/WEB-INF/src/ligueBaseballServlet/ (las classes qu’implémentent les servlet) tp4/WEB-INF/*.jsp (Les pages JSP) tp4/WEB-INF/web.xml tp4/XML/ (Les fichiers XML des nouvelles équipes) La documentation en JavaDoc du système. Tout autre fichier nécessaire pour l’exécution du programme. Le fichier etudiants.xml avec le nom et les matricules des membres de l’équipe. Utilisez la commande turnin pour remettre votre travail. turnin –c ift287 –p ift287TP4 tp4 Évaluation Le barème de correction pour ce cinquième travail pratique est : Caractéristique Exactitude des résultats : Les bons messages d’erreurs sont émis Les mises à jour sont correctement effectuées Documentation et lisibilité (Voir la norme de programmation) Simplicité de la conception du site web, correcte utilisation des styles Lecture et écriture des fichiers XML Architecture : Correcte implémentation de l’architecture traitée en classe. Chaque classe doit avoir une fonction bien définie. Chaque méthode a une fonction bien définie. Utilisation efficace des ressources Allocation d’objets minimale (préserver la simplicité au niveau de la conception) Fermeture des ressources après son utilisation TOTAL IFT 287 – Exploitation de bases de données relationnelles et OO Points 30 10 10 10 30 10 100 points Quatrième travail pratique 4
© Copyright 2024