Contexte des applications Java EE
- Les projets Apache. Les distributions de Tomcat.
- Java EE, Servlet, JSP et composants : architecture.
Installation
- Installation et configuration de la JVM.
- Installation du serveur. Les options.
- Installation et compilation de Tomcat avec Ant.
- Les éléments de Tomcat : répertoires, moteur, connecteurs...
Travaux pratiques
Installation de Tomcat et paramétrage de base.
Configuration
- Configurations : composants, utilisateurs, déploiement, contrôle d'accès, application Web.
- Outils de configuration. Automatisation avec Ant.
- Filtrage de requêtes (les "Valves"), de logging. Single Sign On. Les Realms.
- Configuration de la persistance de sessions. Les ressources JNDI : JDBC et Mail.
- Analyse du chargement des classes Java.
Travaux pratiques
Configuration d'une application fournie.
Les connecteurs
- HTTP 1.0 et 1.1 et connecteur Coyote.
- Utilisation de Tomcat avec un Reverse Proxy.
- Intégration avec IIS et Apache.
- Intégration via mod_proxy (HTTP et AJP).
- Intégration via mod_jk.
- Optimisation. Répartition de la charge.
- Connecteurs JDBC : alternative et configuration.
Travaux pratiques
Accès à l'application fournie à travers un serveur Web et connexion à une base de données.
Sécurité
- Principes. Sécurisation du système de fichiers. Les permissions. Java Security Manager et Tomcat.
- Les "Realms" : message Digest, rôles, fichiers, JDBC.
- Le protocole SSL.
Travaux pratiques
Sécurisation de l'application.
Journalisation
- JULI, configuration logging.properties.
- Projet Log4J. Sorties : console, fichier, syslog...
- Logger. Niveaux de log. Lecture du journal.
- Configuration par XML ou Java.
- Remplacer JULI par Log4J.
Travaux pratiques
Implémentation et configuration de logging de l'application.
Performances et tests
- Configuration "standalone" ou avec serveur Web.
- JVM, usage de la mémoire.
- Mise à l'échelle.
- Tests de charge avec JMeter.
- Charge du serveur et charge de l'application.
- Le monitoring JMX.
Travaux pratiques
Etablissement d'un plan de test pour l'application.