Maîtrisez les étapes clés nécessaire à la prise en main rapide de Jboss 7 : installation , démarrage et arrêt. Analysez l’arborescence. Comprenez la nouvelle architecture ainsi que les notions de bundle, domain, standalone.
Prérequis
Installation JDK 6 (ou supérieur)
Liens utiles
Spécifications JEE 6
Outil vault.bat
Objectifs
Installer et analyser Jboss 7
Programme
Introduction
Partie 1 : téléchargement
Partie 2 : installation
Partie 3 : arborescence (bin,modules, standalone, domain, bundles)
Partie 4 : démarrage en mode ‘standalone’
Partie 4bis : démarrage en mode ‘domaine’
Partie 5 : connexion au serveur Jboss
Partie 6 : arrêt
Partie 7 : redémarrage
Durée
30min
Formation JBOSS 7
Introduction
Le serveur d’application JBOSS 7 est une implémentation des Spécifications Java EE 6
.
L’architecture de Jboss 7 est très différente de l’architecture des précédentes versions de Jboss (4/5/6). Elle se veut résolument plus modulaire, basée comme d’autres serveurs (GlassFish 3) sur la spécification OsGI.
Partie 1 : téléchargement
Aller sur le site de téléchargement JBOSS : http://www.jboss.org/jbossas/downloads/
Cliquer sur le lien ‘ZIP’ colonne ‘Download’ de la dernière version de Jboss 7 (ici la version Jboss 7.1) . L’écran suivant apparaît, précisant qu’il s’agit d’une version non supportée par Jboss/RedHat
En validant ce message le téléchargement démarre.
ça y est. Le téléchargement est terminé. Reste à installer
Partie 2 : Installation
3 étapes clés :
— Dézipper l’archive jboss
— Installation du JDK (et de JAVA_HOME)
— Variable JBOSS_HOME
Dézipper l’archive Jboss
Installation JDK et variable d’environnement JAVA_HOME
Voir notre tutoriel : Installation JDK 6 (valable aussi pour JDK 7)
— > Variable d’environnement JAVA_HOME :
REMARQUE : pour arriver aux variables d’environnement :
— cliquez-droit sur l’icone ‘poste de travail’ ,
— puis propriétés ,
— onglet ‘avancé’
— Bouton ‘variable d’environnement’
Recommandation : mettre vos variables d’environnement dans section ‘variables Utilisateur’.
— > Variable d’environnement JBOSS_HOME
ça y est, l’installation de JBOSS 7 est terminée. Reste à analyser l’arborescence , puis démarrer.
Partie 3 : arborescence Jboss 7
Répertoire ‘bin’
Répertoire ‘standalone’
Répertoire ‘domain’
Répertoire ‘modules’
Répertoire ‘bundle’
Répertoire ‘docs’
Le répertoire qui vous intéressera le plus dans un premier temps est le répertoire ‘bin’,dans lequel se trouvent :
1) Scripts + configurations de lancement en mode ‘standalone’ (standalone.bat + standalone.conf.bat / standalone.sh +standalone.conf) – équivalent du run.bat des précédentes versions
2) Scripts + configurations de lancement en mode ‘domain’ (domain.bat +domain.conf.bat / domain.sh + domain.conf).
3) Scripts + configuration (jboss-cli.xml) lancement du (nouveau) mode interactif (jboss-cli.bat / jboss-cli.sh) – version plus sophistiquée du script twiddle.bat versions jboss précédentes
4) les scripts de génération du WSDL web services (wsconsume.bat / wsconsume.sh et des interfaces java associées (wsprovide.bat/ wsprovide.sh) .
Notez également la présence de deux scripts liés à la sécurité de jboss AS 7 :
5) script add-user.bat/add-user.sh : pour ajouter des utilisateurs dans les fichiers de propriétés
6) script vault.bat/vault.sh : pour sécuriser un mot de passe (cryptage)
Enfin , notez un script dédié au diagnostic :
7) script jdr. bat/jdr.sh (Jboss Diagnostic Report)
QUESTION : sous linux, dans quel fichier de configuration se trouve le paramétrage de la mémoire minimale (Xms) et maximale (Xmx) allouée à JBOSS ?
Dans Jboss 7, le démarrage dit ‘standalone’ est géré dans le répertoire ‘standalone’. Cela représente le lancement d’une instance de Jboss ‘isolée’.
INFO 1 : le sous-répertoire ‘deployments’ est dédié à la réception des livrables (war, ear, jar, rar, sar)
INFO 2 : le sous-répertoire ‘configuration’ est dédié à la configuration du serveur en mode datandalone. c’est le fichier de configuration standalone.xml qui est utilisé par défaut.
QUESTION 1 : à quoi servent les fichiers logging.properties, application-roles.properties, application-users.properties et mgmt-users.properties ?
QUESTION 2 : à partir de la section ‘interfaces’ du fichier standalone.xml, mettez en évidence le port d’administration web de Jboss 7.
REMARQUE : il n’y a qu’un seul ‘profile’, contenant plusieurs ‘sous-systemes’.
Dans Jboss 7, le démarrage dit ‘domain’ est géré dans le répertoire ‘domain’. Un domaine Jboss 7 est utilisé pour gérer et coordonner un ensemble d’instances Jboss 7. Ces instances sont gérés par un controleur de domaine
Le répertoire datacontent est dédié aux livrables (war, ear,…)
Notez en particulier le répertoire ‘configuration’ :
Expliquez le role des fichiers suivants :
— Fichier domain.xml : décrit tous les services lancés par un noeud d’un domaine. Définit aussi les groupes de serveur qui font parti de ce domaine.
REMARQUE : il y a plusieurs ‘profiles’, contrairement à l’approche standalone.
— Fichier host.xml : Ce fichier est présent sur chaque hôte ou un domaine est installé. Il spécifie configurations spécifiques aux instances jboss7 s’exécutant sur cet hôte .
— Fichier logging.properties : format de log du process bootstrap
Répertoire ‘modules’
Un répertoire qui marque une différence dans la gestion des librairies serveur est le répertoire ‘modules’.
Dans les versions 5.x et 6.x de jboss, le répertoire common/lib centralisait tous les jars communs à toutes les ‘distribution’ jboss ( default, all,…). Un répertoire spécifique /’distribution’/lib permetait d’avoir des librairies spécifiques. Les librairies du serveur jboss étant dans JBOSS_HOME/server.
Jboss 7 tranche avec les usages du passé en adoptant une approche modulaire.
INFO 1 : les librairies de démarrage (bootstrap) du serveur sont désormais dans le jar jboss-modules.jar à la racine
INFO 2 : les librairies post-démarrage sont dans le répertoire modules
INFO 3 : Les modules jboss 7 peuvent charger les librairies suivant 2 approches :
— système de fichier (voir ci-dessous)
— execution directe de jar (les dépendances sont dans MANIFEST)
Analysez dans le script standalone.bat la commande de lancement de Jboss, précisant le répertoire (-mp) servant au chargement dynamique des modules : java -jar jboss-modules.jar -mp %JBOSS_MODULEPATH%
Localisez le répertoire associé à l’implémentation de référence JSF utilisée (modules/com/sun/jsf-impl/main).
Ouvrez le fichier module.xml, préciant la configuration de ce module.
INFO : une définition de module contient 2 sections clés : resources et dependencies.
Quel est le nom de ce module ? quel lien entre le nom du module et l’arborescence pour retrouver le fichier moidule.xml du module à partir du répertoire ‘modules’
Expliquez les ressources necessaires par le module jsf , ainsi que les dépendances de ce module. Par exemple comment connaître les dépendences du module javax.faces.api.main dont dépend ce module jsf ?
A VOUS DE JOUER : analysez le fichier module.xml présenta dans modules/javaee/api/main. Expliquez
INFO : pour la deuxième approche, on peut lancer :
java -jar jboss-modules.jar -jar votreappli.jar
Expliquez le contenu du répertoire docs
QUESTION : en quoi ce répertoire peut’il être utile à l’administrateur Jboss ?
Partie 4 : démarrage mode ‘standalone’
Entrez dans le répertoire ‘bin’, puis
Sous windows, lancer le script : standalone.bat (il est l’équivalent du run.bat / run.sh des anciennes versions de Jboss)
Notez la rapidité du démarrage, due à la nouvelle architecture modulaire.
QUESTION : combien de ‘modules’ sont chargés ? Combien au total ? Expliquez.
QUESTION : à quoi sert le fichier standalone.conf.bat ? A travers ce fichier, montrez que la mémoire allouée au minimum par Jboss est de 64Mb , et que la mémoire allooée au Maximum par Jboss est 512 Mb.
QUESTION : Que pensez-vous de ces valeurs (mémoire) pour un environnement de production ? Sur une machine 32 bits ? Sur une machine 64 bits ?
Sous Linux, lancer : standalone.sh
Pour tester que Jboss est bien démarré, avec un navigateur, allez sur http://localhost:8080
Cliequez sur le lient ‘documentation’
Mettez dans vos favoris les deux liens clés qui seront utile pour votre montée en compétences en développement ou administration JBOSS 7 :
Guide de l’administration JBOSS 7
Guide du développement JBOSS 7
Partie 4bis : démarrage mode ‘domain’
INFO : Domaine Jboss 7 = Instances Jboss 7 + Controleur de domaine + Controleur d’hote.
Pour lancer Jboss 7 en mode domain, lancer le script command.bat (command.sh sous linux)
Notez la création d’un répertoire ‘servers’ dans le répertoire ‘domain’
Expliquez.
En utilisant l’outil ProcessExplorer, analysez les processus créés en mode domaine.
Quelle différence avec le mode standalone ?
Partie 5 : connexion au serveur Jboss
en passant par le CLI
Jboss 7 vient avec l’outil d’administration CLI (Command Line Interface), qui est une version plus élaborée de l’ancien outil ‘twiddle’ présent dans les version précédentes de Jboss.
Cet outil se trouve dans le répertoire ‘bin’ de Jboss 7 : jboss-cli.bat
Double cliquer sur le fichier (ou lancez le en ligne de commande) . L’écran suivant apparaît :
entrez ‘connect’
Vous êtes désormais en connexion avec le serveur Jboss en ligne de commande.
INFO : le CLI supporte l’auto complétion.
QUESTION 1 : à quoi sert le fichier jboss-cli.xml ? En déduire l’origine du port 9999 par défaut.
QUESTION 2 : comment se connecter à un JBOSS distant ?
en passant par le navigateur
que donne l’url suivante : http://localhost:9990 ?
comment faire pour accéder à l’interface d’administration web :
Expliquez.
Partie 6 : arrêt
Méthode 1
Mode standalone
Si vous avec accès à une fenetre à partir de laquelle a été lancé Jboss, le plus simple est de faire CTRL+ C
Cependant, si vous n’avez pas accès, mieux vaut passer par le CLI.
Une fois connecté en mode CLI , appuyez sur la touche ‘:‘ puis ‘TAB‘ afin de connaitre les possibilités d’action .
Identifiez la commande shutdown
:shutdown.
mode domain
En mode domain, vous devez préciser quel serveur vous souhaitez arrêter. Ici par exemple vous arrêtez le serveur ‘master’:
— > jboss-cli.bat –connect command=/host=master:shutdown
QUESTION : qu’est ce que le ‘master’ ? Dans quel fichier est’il configuré ?
Expliquez
Méthode 3 : Arrêt via un script
Mode standalone
— > jboss-cli.bat –connect command:shutdown
Mode domain
— > jboss-cli.bat –connect command=/host=master:shutdown # Windows
— > jboss-admin.sh –connect command=/host=master:shutdown # Unix / Linux
Partie 7 : redémarrage
mode standalone
Démarrage service Windows
QUESTION : qu’est ce que le projet Jboss Native Connector ?
Téléchargez Jboss Native 2.0.10 pour Windows
Dézippez
copiez le contenu du répertoire bin dans le répertoire bin de Jboss 7
L’exécutable jbosssvc.exe transforme les scripts run.bat et shutdown.bat en services.
En utilisant le document suivant, mettez en oeuvre un démarrage sous forme de service Windows.
Formation JBOSS 7
Soyez prêt pour des projets ambitieux :