Objectifs
Tomcat est un serveur de Servlets et JSP. La maîtrise de ses fonctionnalités, notamment d'optimisation peut se révéler complexe. Ce cours vous apportera toutes les connaissances nécessaires en vue de l'installer, de l'administrer et de l'intégrer au serveur Apache. Il vous
montrera comment configurer, déployer, sécuriser vos applications et assurer leur connectivité aux bases de données.
Pré-requis
Certaines connaissances des applications Web en JSP et Servlet d'un point de vue architecture et fonctionnement ainsi qu'une certaine expérience avec un serveur Web. Quelques connaissances des technologies XML, HTML, réseaux et techniques d'administration seront appréciées.
Contexte des applications J2EE
Concepts de base
- Les projets Apache.
- Les distributions de Tomcat.
- Utilisation de Tomcat avec le serveur Web Apache.
- Servlet, JSP et composants : architecture.
- Architecture d'un site Java.
Exercices
Démonstration d'une application Web avec et sans serveur Web.
Installation
- Installation de la Java Virtual Machine.
- Configuration de la JVM pour de meilleures performances.
- Les différents paquetages d'installation.
- Les options du serveur.
- Installation de Ant.
- Installation et compilation de Tomcat avec Ant.
- Astuces et résolution des problèmes.
- Analyse des répertoires de Tomcat.
- Analyse des classes de Tomcat : moteur, connecteurs...
Exercices
Installation de Tomcat et modification des paramètres de base.
Configuration
Introduction
- Configuration des composants.
- Les fichiers de configuration : utilisateurs, descripteur de déploiement, contrôle d'accès.
- Configuration d'une application Web.
- Etude du fichier Web.XML
- Outils de configuration de Tomcat.
- Configuration et automatisation avec Ant.
Fonctions avancées de Tomcat
- Filtrage de requêtes : les « Valves ».
- Activation et configuration du filtre de logging.
- Implémentation de l'authentification unique (Single Sign On).
- Restriction d'accès par filtre de requêtes.
- Configuration de la persistance de sessions.
- Les ressources JNDI : JDBC et Mail.
- Les différents types de « Realms ».
- Analyse du chargement des classes Java.
Exercices
Configuration d'une application fournie.
Les connecteurs
- HTTP 1.0 et 1.1 et connecteur Coyote.
- Utilisation de Tomcat avec un serveur Proxy.
- Optimisation de performances.
- Connecteurs pour serveur Web.
- Intégration avec IIS et Apache.
- Protocoles AJP et WARP.
- Configuration Tomcat In-Process et Out-of-Process.
- Répartition de la charge.
- Connecteurs JDBC : alternative et configuration.
Exercices
Accès à l'application fournie à travers un serveur Web et connexion à une base de données.
Sécurité
- Considérations de base concernant la sécurité.
- Sécurisation du système de fichiers : utilisateurs et groupes.
- Les permissions de Tomcat.
- Java Security Manager et Tomcat.
- Les « Realms » : message Digest, rôles, fichiers, JDBC.
- SSL : JSSE et PureTLS.
Exercices
Sécurisation de l'application.
Journalisation
- Introduction au projet Open Source Log4J.
- Choix de sorties : console, fichier, syslog et WinNT Event Logger.
- Destinations multiples.
- Configuration du Logger.
- Niveaux de log.
- Configuration par XML ou Java.
- Lecture du journal.
Exercices
Implémentation et configuration de logging de l'application.
Performances et tests
- Hébergement virtuel.
- Configuration « standalone » ou avec serveur Web.
- Séparation des machines virtuelles.
- Limitation de l'usage de la mémoire.
- Mise à l'échelle.
- Tests de charge avec Jmeter.
- Test de charge distribuée.
- Interprétation des résultats.
- Charge du serveur et charge de l'application.
Exercices
Etablissement d'un plan de test pour l'application.