3 - Conception WEB - Java EE - Installation Tomcat
Transcription
3 - Conception WEB - Java EE - Installation Tomcat
Java pour le développement d’applications Web : Java EE Configuration et installation d’un serveur d’application : Tomcat Mickaël BARON - 2007 mailto:[email protected] ou mailto:[email protected] SERLI informatique SERLI : www.serli.com Société de services en informatique Fondé en 1981 Située sur le site du Futuroscope, Poitiers Réalisation de logiciels et assistance technique Domaines de compétences Systèmes d’informations Embarqué et temps réel keulkeul.blogspot.com Systèmes et réseaux Gestion Electronique de Document (GED, PDM / PLM) Plateformes de développement (celles qui concernent les cours) Plateforme Java : Java EE, Java SE, Eclipse Plateforme Microsoft : C#, VB .NET … Conf. Tomcat - M. Baron - Page 119 SERLI informatique Equipes impliquées dans l’Open Source Utilisation massive de briques Open Source Formation / diffusion de cours concernant Java et l’Open Source RMLL : 7ème rencontres mondiales du logiciel libre Solutions Linux 2007 : Salon des Solutions Open Source de l’entreprise keulkeul.blogspot.com Membre du consortium ObjectWeb Gestion de projets Open Source JaasLounge : interopérabilité JAAS pour Java EE JASMINe, JShaft : gestion de clusters Java EE JWT Gen : tests fonctionnels automatisés Conf. Tomcat - M. Baron - Page 120 Conteneurs de Servlet Rappel : une Servlet s’exécute dans un moteur de Servlet ou conteneur de Servlet permettant d’établir le lien entre la Servlet et le serveur Web Deux types de conteneurs Conteneurs de Servlets autonomes : c’est un serveur WWW qui intègre le support des Servlets Conteneurs de Servlets additionnels : fonctionnent comme un plug-in à un serveur WWW existant Nombreux conteneurs de Servlet keulkeul.blogspot.com Tomcat Server d’Apache (jakarta.apache.org) JBoss (www.jboss.org) WebSphere Application Server d’IBM (www.ibm.com) Weblogic de BEA (www.bea.com) GlassFish de Sun (www.java.sun.com) JOnAS ObjectWeb (jonas.objectweb.org) Conf. Tomcat - M. Baron - Page 121 Jakarta Tomcat Tomcat 5.5.4 respecte la spécification Servlet 2.4 et JSP 2.0 Écrit entièrement en Java, il peut donc être utilisé sur n’importe quel système disposant d’une machine virtuelle Disponible gratuitement sous forme d’une licence Open Source keulkeul.blogspot.com Nécessite obligatoirement une machine virtuelle respectant la spécification 5.0 (jre 1.5.0) Implémentation de référence de la spécification Java EE. Il fournit donc les librairies de façon à concevoir des Servlets (javax.servlet.http.HttpServlet) Pourquoi celui-ci et pas un autre : Gratuit et facile à installer !!! Conf. Tomcat - M. Baron - Page 122 Installation de Tomcat : spéciale Linux Décompresser l’archive dans un répertoire de OS (/home/baron/tomcat) Préférer la version archive qui est utilisable sur tous les OS à la version exécutable Windows Modifier la variable PATH de l’OS de façon à prendre en compte le chemin binaire de Tomcat (PATH=$PATH:/home/baron/tomcat/bin) Ajouter la variable CATALINA_HOME qui pointe sur le chemin de Tomcat (CATALINA_HOME=/home/baron/tomcat) keulkeul.blogspot.com Ajouter la variable JAVA_HOME qui pointe sur le chemin de la machine virtuelle (JAVA_HOME=/home/baron/jdk1.5.0) Compléter la variable CLASSPATH qui pointe sur les librairies Java EE (CLASSPATH=$CLASSPATH:/home/baron/tomcat/common/lib) Pour vérifier que votre serveur de chat fonctionne lancer startup.sh Conf. Tomcat - M. Baron - Page 123 Hiérarchie des répertoires Tomcat Organisation partielle des répertoires de Tomcat Scripts de lancement et d’arrêt du Serveur Tomcat bin common lib classes ... jar utilisés par Tomcat pour fonctionner. Contient également les librairie correspondant à l’implémentation de la spécification Java EE Fichiers de configuration : server.xml, web.xml et tomcat-users.xml conf Tomcat Fichiers de logs relatifs à des erreurs keulkeul.blogspot.com logs shared lib … Fichiers jar communs à toutes les Servlets Zone de déploiement webapps Conf. Tomcat - M. Baron - Page 124 Ajout, Suppression et modification des rôles Un rôle c’est quoi ? Permet d’ajouter des utilisateurs et de définir des droits sur les Servlets Utiliser pour l’identification à base de rôles Les rôles sont définis dans le fichier tomcat-users.xml keulkeul.blogspot.com La modification peut se faire directement sur le fichier ou via la Servlet Administration <?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="identification"/> <role rolename="manager"/> <role rolename="test"/> <role rolename="admin"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/> <user username="mickael" password="baron" roles="test"/> <user username="admin" password="baron" roles="admin,manager"/> </tomcat-users> Attention à la première utilisation du Serveur il faut modifier tomcat-user.xml pour ajouter le compte admin et manager Les Servlets à identification par rôles n’autorisent que les utilisateur dont les rôles sont test Conf. Tomcat - M. Baron - Page 125 Ajout, Suppression et modification des rôles La Servlet Administration permet via une interface WEB de modifier certains éléments du serveur Tomcat et notamment les rôles keulkeul.blogspot.com Possibilité d’ajouter des utilisateurs et de définir des groupes Attention pour utiliser la Servlet Administration il faut que le compte admin soit créé Actions pour créer un nouveau rôle Conf. Tomcat - M. Baron - Page 126 Déploiement des applications WEB Pour le déploiement de votre application WEB il faut absolument respecter la structure définie dans la partie précédente Le déploiement permet d’indiquer au conteneur de Servlets Où se trouve le répertoire physique de votre application WEB Préciser pour le contexte d’une l’application WEB où se trouve les ressources sur le serveur Tomcat keulkeul.blogspot.com Adresse du Serveur Port Contexte de l'application WEB http://localhost:8080/HelloWorldServlet http://localhost:8080/HelloWorldServlet/bonjour.maservlet http://localhost:8080/HelloWorldServlet/toutou.maservlet http://localhost:8080/HelloWorldServlet/*.maservlet Conf. Tomcat - M. Baron - Page 127 Déploiement des applications WEB : le contexte Le contexte est défini path="/HelloWorldServlet" : URL d’accès docBase="/home/baron/HelloWorldServlet" : chemin d’accès des fichiers (absolu ou relatif par rapport au répertoire webapps) reloadable="true" : détection automatique des changements et rechargement si besoin keulkeul.blogspot.com workDir="/home/baron/HelloWorldServlet/work" : répertoire temporaire dans lequel l’application pourra effectuer certaines opérations crossContext="true" : autorise la communication intercontextes Plusieurs solutions sont données pour préciser le contexte d’une application WEB au serveur Modification manuelle des fichiers de configuration Utilisation de l’outil manager Conf. Tomcat - M. Baron - Page 128 Déploiement des applications WEB : à la main Solution 1 : modification de $CATALINA_HOME/conf/server.xml Ajouter à la fin de la balise HOST la balise CONTEXT ... <Host> ... <Context path="/HelloWorldServlet" reloadable="true" docBase="/home/baron/HelloWorldServlet" workDir="/home/baron/HelloWorldServlet/work" reloadable=true /> </Host> ... Solution 2 : ajouter un fichier (le nom du projet WEB) dans le répertoire $CATALINA_HOME/conf/Catalina/localhost/ keulkeul.blogspot.com Le fichier doit porter le même nom que le répertoire du projet WEB <Context path="/HelloWorldServlet" reloadable="true" docBase="/home/baron/HelloWorldServlet" workDir="/home/baron/HelloWorldServlet/work" reloadable=true /> Cette solution est utilisée par Eclipse avec le plugin Sysdeo Tomcat Conf. Tomcat - M. Baron - Page 129 Déploiement des applications WEB : outil manager Solution 3 : utilisation du gestionnaire d’applications WEB keulkeul.blogspot.com Liste des applications WEB contenues sur le Serveur Tomcat Déploiement des applications sans redémarrer le Serveur Déploiement des applications sous forme WAR sans redémarrer le Serveur Conf. Tomcat - M. Baron - Page 130 Déploiement des applications WEB : outil manager keulkeul.blogspot.com Le chemin de contexte Exemple : /HelloWorldServlet Le chemin physique où se trouve la Servlet Exemple : /home/baron/HelloWorldServlet Le nom du fichier web.xml Exemple : web.xml Les fichiers WAR ne sont ni plus ni moins que des JAR (renommage). Il faut obligatoirement que le répertoire WEB-INF soit à la racine de l’archive Conf. Tomcat - M. Baron - Page 131