3 - Conception WEB - J2EE

Transcription

3 - Conception WEB - J2EE
Java pour le développement
d’applications Web : J2EE
Configuration et installation d’un serveur
d’application
Mickaël BARON - 2006
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
www.serli.com
Embarqué et temps réel
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 117
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 pour l’entreprise
www.serli.com
Membre du consortium ObjectWeb
Gestion de projets Open Source
JaasLounge : interopérabilité JAAS pour Java EE
JShaft : gestion de clusters Java EE
JWT Gen : tests fonctionnels automatisés
Conf. Tomcat - M. Baron - Page 118
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
www.serli.com
Conteneurs de Servlets additionnels : fonctionnent comme un plug-in à
un serveur WWW existant
Nombreux conteneurs de Servlet
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)
...
Conf. Tomcat - M. Baron - Page 119
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
www.serli.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 J2EE. 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 120
Installation de Tomcat : spéciale Linux
Décompresser l’archive dans un
répertoire de OS (/home/baron/tomcat5)
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/tomcat5/bin)
www.serli.com
Ajouter la variable CATALINA_HOME qui pointe sur le chemin
de Tomcat (CATALINA_HOME=/home/baron/tomcat5)
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
J2EE (CLASSPATH=$CLASSPATH:/home/baron/tomcat/common/lib)
Pour vérifier que votre serveur de chat
fonctionne lancer startup.sh
Conf. Tomcat - M. Baron - Page 121
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 J2EE
conf
Fichiers de configuration : server.xml, web.xml et
tomcat-users.xml
logs
Fichiers de logs relatifs à des erreurs
www.serli.com
Tomcat
shared
lib …
Fichiers jar communs à toutes les Servlets
Zone de déploiement
webapps
Conf. Tomcat - M. Baron - Page 122
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
www.serli.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 123
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
www.serli.com
Possibilité d’ajouter
des utilisateurs et de
définir des groupes
Actions
pour créer
un nouveau
rôle
Attention pour utiliser la Servlet
Administration il faut que le compte
admin soit créé
Conf. Tomcat - M. Baron - Page 124
Déploiement des applications WEB
Pour le déploiement de votre application WEB il faut absolument
respecter l’architecture définie dans la partie précédente
Le déploiement va permettre 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
www.serli.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 125
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
workDir="/home/baron/HelloWorldServlet/work" : répertoire temporaire dans
lequel l’application pourra effectuer certaines opérations
www.serli.com
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 126
Déploiement des applications WEB : à la main
Première solution : 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>
...
www.serli.com
Deuxième solution : ajouter un fichier (le nom du projet WEB) dans
le répertoire $CATALINA_HOME/conf/Catalina/localhost/
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 127
Déploiement des applications WEB : outil manager
Troisième solution : utilisation du gestionnaire d’applications WEB
www.serli.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 128
Déploiement des applications WEB : outil manager
www.serli.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 129