Maîtrisez l’architecture de Jboss Web, le conteneur web du serveur d’applications Jboss. Comprenez le lien entre Jboss Web et Tomcat. Identifiez les connecteurs http, https et ajp. Gérez l’URL et la page d’accueil de votre application. Mettez en œuvre des hôtes virtuels. Enfin, bénéficiez de services pré-packagés supplémentaires : les valves
Prérequis
Installation Kit de développement JDK 6
Tutoriel jboss N°1 : installation Jboss 5
Objectifs
Comprendre le conteneur web de Jboss.
Identifier le lien entre Jboss Web et tomcat
Comprendre l’hébergement de plusieurs applications
Mettre en oeuvre des Valves
Durée
40 min
Programme
Partie 1 : Comprendre le conteneur web de Jboss.
Partie 2 : Comprendre l’hébergement de plusieurs applications
Partie 3 : Valves
Comprendre Jboss Web
Jboss Web est l’implémentation par Jboss du conteneur Web des spécifications JEE.
Arborescence
Jboss Web est implémenté sous forme de service Jboss (.Sar pour ‘Service Archive’).
Identifiez le répertoire jbossweb.sar à la racine du répertoire ‘deploy’ de la configuration ‘default’ de Jboss
Analysez le contenu du répertoire jbossweb.sar
Notez la présence du fichier server.xml de Tomcat, premier fichier clé de la configuration de Jboss Web.
QUESTION : à quoi sert le fichier context.xml présent dans ce répertoire ?
Analysez le contenu du répertoire deployers/jbossweb.deployer
Notez la présence du fichier ‘global’ web.xml, commun à toutes les applications. C’est le deuxième fichier clé de la configuration de Jboss Web.
Identifiez dans ce fichier les sections suivantes : welcome-file-list , session-timeout . Qu’en déduisez-vous ?
Identifiez la présence dans le répertoire META-INF du fichier nécessaire à l’intégration de Jboss Web dans l’architecture ‘Microconteneur’ de Jboss
La configuration système du service est réalisée dans Jboss 5 à travers le ‘deployer’ Jboss web
Ce fichier contient des propriétés qui impactent la façon dont un war est déployé dans Jboss.
— Domaine de sécurité par défaut (S’il n’est pas précisé dans WEB-INFjboss-web.xml) –> propriété ‘deleteWorkDirOnContextDestroy’
— Suppression ou non du répertoire de travail ‘work’ de l’application suite à suppression de l’application –> propriété ‘deleteWorkDirOnContextDestroy’
— Chargeur de classe à utiliser –> ‘java2ClassLoadingCompliance’ ou ‘useJBossWebLoader’ ou ‘filteredPackages’.
Architecture Jboss Web
A l’aide du schéma suivant, expliquez le contenu du fichier server.xml
server
QUESTIONS :
— Qu’est ce qu’un ‘Engine’ ?
— Qu’est ce qu’un ‘Host’ ? Peut’il y avoir plusieurs Host dans un Engine ?
— Qu’est ce qu’un ‘Connector’ ? Combien y a t’il de connectors ?
— Qu’est ce qu’une ‘Valve’ ? Combien y a t’il de valves ?
— Qu’est ce qu’un ‘Realm’ ? Quelle différence entre installer un Realm pour un Host et pour un Engine ?
Application d’accueil
Identifiez le répertoire ROOT.war
Montrez que le contenu de ce fichier correspond à l’application d’accueil de Jboss : http://localhost:8080
Remplacez la page d’accueil de Jboss par votre propre page d’accueil
Connecteur Http
Modifiez le connecteur web de Jboss afin de pouvoir arriver sur la page d’accueil non plus par http://localhost:8080 mais directement par http://localhost
Hotes virtuels
Modifiez le connecteur web afin de pouvoir arriver sur la page d’accueil de l’application hellostruts via url : http://objis.tuto/hellostruts et non via l’url http://localhost/hellostruts
METHODE en 4 étapes :
— > 1) Enregistrer l’hote ‘objis.tuto’ dans fichier hosts
— > 2) Configuter la prise en charge d’hotes virtuels par Jboss Web
— > 3) Définir l’hote virtuel ‘objis.tuto’ dans server.xml (balise ‘host’)
— > 4) associer une application à un hote virtuel ‘objis.tuto’
Etape 1 : mise à jour fichier hosts
Sous MsDos, faites un ping objis.tuto . Expliquez le pb
Identifier votre fichier hosts (sous windows dans c/windows/system32/drivers/etc/hosts)
Ajoutez la ligne suivante :
Enregistrez vos modifications.
Sous MsDos, faites à nouveau un ping objis.tuto .
Etape 2 : prise en charge hote virtuel par Jboss
Mettez à jour votre fichier server.xml en ajoutant à la balise connector http l’attribut useIPVHosts=’true’
Etape 3 : définition nouvel hote
Etape 4 : association de l’application (war) à un hote virtuel
Cela se fait dans le fichier jboss-web.xml de l’application, à travers la balise ‘virtual-host’, dont le contenu doit être le même que l’alias associé à l’hote identifié
Valves
Expliquez ce qu’est une Valve
Analysez les valves suivantes :
— org.apache.catalina.valves.RequestDumperValve
— org.apache.catalina.valves.AccessLogValve
— org.apache.catalina.authenticator.SingleSignOn
— org.apache.catalina.authenticator.ClusteredSingleSignOn
Identifiez la valeur ajoutée des valves tomcat suivantes :
— org.apache.catalina.valves.FastCommonAccessLogValve
— org.apache.catalina.valves.RemoteAddrValve Allows
— org.apache.catalina.valves.RemoteHostValve
Configuration livraison war
Analysez l’exemple suivant d’application web à déployez dans Jboss
A quoi pourrait servir les fichiers context.xml et jboss-web.xml de cette application ?
Comment accéder à la page d’accueil de l’application une fois déployée ?
Comment faire pour que l’application réagisse à l’url http://localhost/toto ?
Comment sécuriser l’accès aux pages de cette application ?
Considérez l’application web simple suivante :
hello
Mettez en œuvre les configurations précédentes.
Conclusion
Dans ce tutoriel vous avez analysé Jboss Web, le conteneur web du serveur d’applications JBoss. Vous avez compris le lien entre Jboss Web et Tomcat et avez mis en oeuvre des hotes virtuels.