vers l'accueil formulaire de contact

Tutoriel Jboss : architecture et fonctionalités Jboss Web

Votre formation JBOSS avec Objis, spécialiste formation java depuis 2005

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

Ce tutoriel est un extrait de séances pratiques de la formation Administration JBOSS5 dispensée par Objis.

Les + objis
- 70% de travaux pratiques
- Clé USB avec tous les outils utilisés + Corrigés TPs
- Bilan pédagogique individuel + conseils
- Nos tutoriaux pour vous initier

Liens utiles

- + de 100 tutoriaux java/jee Objis
- 10 tutoriaux JBOSS 5
- Site de téléchargement serveur Jboss 5
- Site de la communauté Jboss

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.

PNG - 232.7 ko
Architecture 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

PNG - 7 ko
tutoriel-jboss-architecture-jboss-web-valves-hotes-virtuel-1

- Analysez le contenu du répertoire jbossweb.sar

PNG - 13.6 ko
tutoriel-jboss-architecture-jboss-web-valves-hotes-virtuel-2

Notez la présence du fichier server.xml de Tomcat, premier fichier clé de la configuration de Jboss Web.

XML - 8.2 ko
server

QUESTION : à quoi sert le fichier context.xml présent dans ce répertoire ?

- Analysez le contenu du répertoire deployers/jbossweb.deployer

PNG - 15.8 ko
tutoriel-jboss-architecture-jboss-web-valves-hotes-virtuel-3

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.

XML - 40.9 ko
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

PNG - 13.1 ko
tutoriel-jboss-architecture-jboss-web-valves-hotes-virtuel-3bis

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-INF\jboss-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’.

XML - 11.1 ko
war-deployers-jboss-beans

Architecture Jboss Web

A l’aide du schéma suivant, expliquez le contenu du fichier server.xml

XML - 8.2 ko
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

PNG - 10.8 ko
tutoriel-jboss-architecture-jboss-web-valves-hotes-virtuel-5

- Montrez que le contenu de ce fichier correspond à l’application d’accueil de Jboss : http://localhost:8080

PNG - 43.1 ko
tutoriel-jboss-architecture-jboss-web-valves-hotes-virtuel-6

- 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

PNG - 32.8 ko
tutoriel-jboss-architecture-jboss-web-valves-hotes-virtuel-8

- 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)

PNG - 11.3 ko
config-hosts-hote-virtuel

- Ajoutez la ligne suivante :

PNG - 3.7 ko
config-hosts-hote-virtuel-2

- Enregistrez vos modifications.

- Sous MsDos, faites à nouveau un ping objis.tuto .

PNG - 10 ko
config-hosts-hote-virtuel-3

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’

PNG - 4.2 ko
tutoriel-jboss-architecture-jboss-web-valves-hotes-virtuel-8bis

Etape 3 : définition nouvel hote

PNG - 2.9 ko
tutoriel-jboss-architecture-jboss-web-valves-hotes-virtuel-8ter

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é

PNG - 14.7 ko
hote-virtuel-jboss

Valves

PNG - 19.5 ko
tutoriel-jboss-architecture-jboss-web-valves-hotes-virtuel-9

- 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

PNG - 46.1 ko
tutoriel-jboss-architecture-jboss-web-valves-hotes-virtuel-7

- 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 :

Zip - 825 octets
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.

Prochaine formation JBOSS

Le chemin le plus court pour avoir les réflexes et la méthodologie du bon développeur JBOSS :

Votre formation JBOSS avec Objis, spécialiste formation java depuis 2005

Pour aller plus loin : le réseau Objis

Si vous appréciez notre sens du partage, devenez gratuitement membre ’classic’ du Club Objis :
- Votez pour les prochains tutoriaux à publier
- Préparez vos entretiens techniques
- Valorisez votre profil / expertise
- Identifiez des opportunités d’emploi
- Recevez la newsletter objis.com

XML - 8.2 ko
server
XML - 8.2 ko
server