Tutoriel Wildfly 9 : installation , démarrage, arrêt wildfly 9

/////Tutoriel Wildfly 9 : installation , démarrage, arrêt wildfly 9

logo-wildfly.png
Avec Objis, spécialiste formation WILDFLY, maîtrisez la prise en main rapide du serveur d’application Wildfly 9 : installation, démarrage et arrêt. Comprenez le lien entre Jboss AS , Wildfly et JEAP. Identifiez les différences clés entre le mode ‘standalone’ et le mode ‘domain’. Découvrez l’interface en ligne de commande (CLI) de Wildfly ainsi que le démarrage sous forme de service.

POUR ALLER PLUS LOIN : choisissez Objis pour votre formation professionnelle Administration JBOSS / WILDFLY / JEAP ou assistance technique autour de Jboss 7 / WILFLY.

Notre formation Administration JBoss / Wildfly / Jeap (5 jours) est composée de 2 modules :

— 3 jours ‘Abdministration de base‘ qui permettent d’avoir les compétences minimales pour administrer WILDFLY : Installation, déploiement, intégration DataSource, Sécurité applications.

— 2 jours ‘Administration avancée‘ aborde dédiée à la performance(mesure + optimisation) et la haute disponibilité (Load balancing + Fail Over)

Pour plus d’information sur nos formations Administration , ou pour un besoin sur mesure, contactez-nous

Prérequis

  Installation JDK (ou supérieur)

Objectifs

 Comprendre le produit Wildfly et son positionnement

 Analyser Wildfly 9 : arborescence, outils

 Installer , démarrer et arrêter Wildfly 9

 Comprendre le lien et différence entre Wildfly et Jeap

Programme

 Introduction : qu’est ce que WILDFLY ?

 Partie 1 : téléchargement

 Partie 2 : installation JDK et positionnement JAVA_HOME

 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

 Partie 8 : installation service Windows

Durée

 45 min

Liens clés

Ces liens sont utiles tant pour l’administrateur WIDFLY que pour le Développeur Java EE.

 Lien clé N°1 : Technologies Java Entreprise (Java EE 7)

 Lien clé N°2 : Spécification officielle Java EE 7 (JSR 342)

 Lien clé N°3 : Téléchargement du Java EE sdk (Contient Glassfish l’implémentation de référence Java EE 7 + exemples code source)

Introduction : qu’est ce que WILDFLY ?

 WILDFLY est un serveur d’application Java certifié par Oracle.

 WILDFLY est un produit OpenSource , sous licence LGPL, édité par la société Red Hat

 L’équivalent propriétaire de WILDFLY est Jboss JEAP , édité par Red Hat.

 Contrairement d’autres serveurs d’application Java non certifiés comme Tomcat, WILDFLY fournit l’ensemble des services de niveau entreprise spécifiés dans la spécification Java EE 7.

 Les services fournis par WILDFLY sont référencés dans la communauté Java par un document PDF nommé JSR 342 (Java Specification Request 342), ce document est un document de référence pour Java EE 7.

 Le nom WILDFLY a été proposé pour éviter toute confusion entre la version open source du serveur d’application Jboss AS (Jboss Application Server) de sa version propriétaire Jboss JEAP (Jboss Entreprise Application Platform).

 La dernière version du serveur d’application Jboss AS à utiliser le nom Jboss est Jboss AS 7. Après cette version, c’est WILDFLY qui est utilisé.

 On peut dire que WILDFLY 8 = JBOSS AS 8

 Le serveur d’application WILDFLY 8, WILDFLY 9 et WILDFLY 10 sont des implémentations des spécification Java EE 7 (JSR 342)

 Le serveur d’application JBOSS 7 (2012) est une implémentation certifiée des Spécifications Java EE 6 (JSR 316] , tout comme 19 autres produits certifiés 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). Ce qui déconcerte quelque peut les administrateurs de serveurs d’application Jboss 4/5/6.

 L’architecture de Widlfly 8, Wildfly 9 et Wildfly 10 est similaire à l’architecture de Jboss 7. Tout administrateur du serveur Jboss 7 pourra donc s’adapter facilement à WILDFLY 8/9/10

Partie 1 : téléchargement

 Aller sur le site de téléchargement de WILDFLY : http://wildfly.org/downloads/

 Localisez la version 9.0.2 (26 octobre 2015).

tutoriel-installation-wildfly-9-1

QUESTION 1 : en utilisant la spécification Java EE 7 et la notion de ‘Profile‘, expliquez le zip ‘Java EE7 Full & Web distribution‘ et ‘Servlet-Only Distribution’

QUESTION 2 : A quoi et à qui sert le ‘Quick Start Source Code‘ ?

BONNE PRATIQUE : analyser la release note . Ouvrez le lien ‘Notes’ dans un nouvel onglet du navigateur

tutoriel-installation-wildfly-9-1bis

 Expliquez les points entourés . En particulier, qu’est ce qu’une attaque CSRF ?

 Revenez sur l’onglet Téléchargement. Cliquer sur le lien ‘ZIP’ colonne ‘Download’ de Java EE7 Full & Web distribution . L’écran suivant apparaît, précisant qu’il s’agit d’une version non supportée par Jboss/RedHat

tutoriel-installation-jboss-7-2

En déduire la différence entre Wildfly et JEAP.

 En validant ce message le téléchargement démarre.

Ici nous avons téléchargé dans le répertoire c:formationjbossoutils

tutoriel-installation-wildfly-9-2

ça y est. Le téléchargement est terminé.

Il nous reste une étape clé avant de pouvoir démarrer le serveur :

 Etape 1 : installer le JDK

 Etape 2 : positionner la variable d’environnement JAVA_HOME

Partie 2 : Installation JDK et positionnement JAVA_HOME

INFO : Wildfly 9 nécessite JDK 8 (Java Development Kit version 8) et supérieur

 Installez le JDK 8 à partir de notre tutoriel installation JDK 8

 Créez la variable d’environnement JAVA_HOME, qui permettra à WILDFLY de savoir ou trouver le JDK :

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’

variable-environnement-java-home

ATTENTION : suivant votre système d’exploitation, la variable JAVA_HOME devra se trouver dans ‘variable utilisateur’ ou ‘variable système’. Privilégiez la section ‘variable utilisateur’.

 Pour Vérifier que la variable est bien positionnée, lancez en ligne de commande (Windows+R) la commande ‘set java_home’

variable-environnement-java-home-verif

BRAVO !

Une fois le jdk installé et la variable d’environnement JAVA_HOME positionnée, il est possible de démarrer WILDFLY.

Mais avant cela , analysons l’arborescence du produit.

Partie 3 : arborescence WILDFLY 9

 Dézippez le fichier téléchargé plus haut (wildfly-9.0.2.Final.zip)

tutoriel-installation-wildfly-9-3

Le développeur , tout comme l’administrateur WILDFLY doit avoir une bonne connaissance de l’arborescence du produit.

 Répertoire ‘bin’

 Répertoire ‘standalone’

 Répertoire ‘domain’

 Répertoire ‘modules’

 Répertoire ‘bundle’

 Répertoire ‘docs’


Répertoire ‘bin’

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)

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 mode interactif (jboss-cli.bat / jboss-cli.sh)

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

tutoriel-installation-wildfly-9-4

Notez également la présence de deux scripts liés à la sécurité de WILDFLY :

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)


Répertoire ‘standalone’

Dans WILDFLY, la gestion du mode de démarrage ‘standalone’ est centralisée dans le répertoire ‘standalone’. Cela représente le lancement d’une instance de Jboss ‘isolée’.

tutoriel-installation-wildfly-9-arbo-standalone

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 standalone. c’est le fichier de configuration standalone.xml qui est utilisé par défaut.

tutoriel-installation-wildfly-9-conf-standalone

QUESTION 1 : à quoi servent les fichiers logging.properties, application-roles.properties, application-users.properties et mgmt-users.properties ?

QUESTION 2 : quel est la balise racine du fichier standalone.xml ? Quels sont les 5 grandes sections de ce fichier ? Quelle sections prend le plus de place ?

QUESTION 3 : à partir de la section ‘socket-binding’ du fichier standalone.xml, mettez en évidence le port d’administration web de WILDFLY.

QUESTION 4 : quelles différences entre les fichiers standalone.xml standalone-full.xml, standalone-ha.xml, standalone-full-ha.xml ? Comment expliquer la différence de taille ?


Répertoire ‘domain’

INFO : ce répertoire intéressera tout particulièrement l’administrateur WILDFLY. En effet le démarrage de WILDFLY en mode domaine apporte un confort à l’administrateur pour le paramétrage et l’administration de plusieurs instances de WILDFLY , potentiellement sur plusieurs machines physiques. Typiquement pour créer différents environnements (TEST, INTEGRATION, PREPROD, PROD

Dans WILDFLY, le démarrage dit ‘domain’ est géré dans le répertoire ‘domain’. Un domaine WILDFLY est utilisé pour gérer et coordonner un ensemble d’instances WILDFLY. Ces instances sont gérés par un contrôleur de domaine

tutoriel-installation-wildfly-9-arbo-momaine

 Le répertoire datacontent est dédié aux livrables (war, ear,…)

Répertoire ‘configuration’ ,

— Fichier domain.xml : décrit tous les services lancés par un noeud d’un domaine.

tutoriel-installation-wildfly-9-conf-domaine

QUESTION 1 : quel est la balise racine du fichier domain.xml ? Quels sont les 7 grandes sections de ce fichier ? Quelle section prend le plus de place ?

REMARQUE : il y a plusieurs ‘profiles’, contrairement à l’approche standalone. Pourquoi ?

 Analysez le contenu de la section ‘server-groups’. Expliquez

tutoriel-installation-wildfly-9-conf-domaine-server-groups

— Fichier host.xml : Ce fichier est présent sur chaque hôte (machine physique) sur lequel des instances WILDFLY administrées à distance par l’administrateur WILDFLY. Il spécifie configurations spécifiques aux instances WILDFLY s’exécutant sur cet hôte .

hosts-domaine-jboss-7


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.

WILDFLY 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 WILDFLY 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%

tutoriel-installation-wildfly-9-arbo-modules

 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.

tutoriel-installation-wildfly-9-arbo-modules-jsf-module-xml

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


Répertoire docs

 Expliquez le contenu du répertoire docs

tutoriel-installation-wildfly-9-arbo-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’ de WILDFLY :

tutoriel-installation-wildfly-9-4

Sous windows, lancer le script : standalone.bat

tutoriel-installation-wildfly-9-demarrage-standalone

Notez la rapidité du démarrage, due à la nouvelle architecture modulaire.

Pour tester que Jboss est bien démarré, avec un navigateur, allez sur http://localhost:8080

tutoriel-installation-wildfly-9-demarrage-accueil-8080

Ouvrez dans un onglet le lien ‘documentation’. L’écran suivant apparaît

tutoriel-installation-wildfly-9-demarrage-accueil-8080-doc

BONNE PRATIQUE : mettez dans vos favoris deux liens clés qui seront utile pour votre montée en compétences en développement ou administration WILDFLY :

 Guide de l’administration WILDFLY 9

 Guide du développement WILDFLY 9

QUESTION 1 : Mettez en évidence le JDK utilisé par WILDFLY

QUESTION 2 : d’où viennent les informations de configuration de WILDFLY qui apparaîssent au début dut démarrage dans la console ?

Partie 4bis : démarrage mode ‘domain’

INFO : Domaine WILDFLY9 = Instances WILDFLY9 + Controleur de domaine + Contrôleur d’hôte.

Pour lancer Jboss 7 en mode domain, lancer le script domain.bat (domain.sh sous linux)

tutoriel-installation-jboss-7-20

 

tutoriel-installation-jboss-7-21

 Notez la création d’un répertoire ‘servers’ dans le répertoire ‘domain’

tutoriel-installation-jboss-7-22

 Expliquez.

 Analysez les processus créés en mode domaine en utilisant l’outil ProcessExplorer,

tutoriel-jboss-7-installation-process-explorer-domain

Quelle différence avec le mode standalone ?

 Mettez également en évidence ces processus en utilisant l’outil visualVM , disponible en téléchargement et égélament présent dans le répertoire bin du JDK.

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

tutoriel-installation-jboss-7-12

 Double cliquer sur le fichier (ou lancez le en ligne de commande) . L’écran suivant apparaît :

tutoriel-installation-jboss-7-13

 entrez ‘connect’

tutoriel-installation-jboss-7-14

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 :

admin-web-jboss7

 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.

tutoriel-installation-jboss-7-15

 

tutoriel-installation-jboss-7-16

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é ?

arret-jboss-7-domain

 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

tutoriel-installation-jboss-7-17

 

tutoriel-installation-jboss-7-18

Partie 8 : installation sous forme de service

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 / WILDFLY

Choisissez Objis pour vos besoins en formation WILDFLY à destination de développeurs Java ou d’administrateurs WILDFLY.

Bénéficiez de notre expertise en administration Jboss acquise depuis la version 3 de Jboss jusqu’à la version 10 de WILDFLY !

2018-01-30T17:16:51+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java