weblo_from_scratch - sebabarre/wikiDoc GitHub Wiki
- Domain
-
Groupe logique de servers WL qui sont managés comme une seule resource
- Machine
-
Ordinateur physique qui est l’hôte une ou plusieurs instances WL
- Cluster
-
Groupe logique de serveurs managés
- Node Manager
-
Utilitaire qui sert à start/stop des servers depuis une remote location
- Server
-
JVM qui execute la class weblogic.Server
Un domaine est une fonctionnalité administrative qui est transparente pour les applications. Les domaines peuvent être utilisés pour séparer les applications de développement, de test et de production, ou les applications administratives et operationnelles, par exemple.
-
Chaque domaine a besoin de son propre server d’administration.
-
Un cluster ne peut pas traverser plusieurs domaines
-
Les serveurs managés d’un domaine doivent avoir la même version de WLS
-
Le serveur d’admin d’un domain doit avoir à minima la même version que les serveurs managés de ce domaine
Un serveur est une instance de la classe weblogic.Server exécutée dans une JVM. Il existe 2 types de serveurs : les serveurs d’administration et les serveurs managés
C’est le point central de contrôle d’un domaine.
Ses services peuvent être invoqués en utilisant :
-
La console d’administration
-
L’API weblo
-
L’utilitaire en ligne de commande (WLST)
Ce serveur :
-
Enregistre les confs et les logs d’un domaine
-
Distribue les documents de configuration aux serveurs managés
-
Run la console d’administration
-
Doit tourner pour pouvoir modifier la conf d’un domaine
C’est tout serveur d’un domaine qui n’est pas le serveur d’administration.
-
Il contacte le serveur admin pour les infos de conf
-
Il fait tourner les applis
-
Il est indépendant de tout autre serveur managé du domaine ( à moins qu’ils soient dans un cluster)
-
Un domaine n’a pas de limite de quantité de serveur managé
-
Les serveurs managés sont ajoutés typiquement pour des raisons de capacités et d’isolement applicatif.
Note
|
Le serveur managé copie au démarrage les fichiers de conf du server d’admin. De plus, à chaque modification des conf sur le serveur d’administration, les changements sont envoyés aux serveurs managés |
C’est un groupe logique de servers WLS.
Un cluster fournit une haute disponiblité et une meilleure répartition des charges. Il est transparent pour un client.
Warning
|
Un cluster ne peut pas traverser les domaines, donc tous les serveurs d’un cluster doivent appartenir au même domaine. De plus, tous les serveurs d’un cluster doivent être au même niveau de version. |
C’est un process - optionnel - qui tourne sur une machine et qui permet de démarrer, suspendre, stopper ou redémarrer les serveurs d’administration et managés qui tournent sur la même machine, le tout à distance
-
Il n’est pas associé à un domaine mais à une machine
-
Il est obligatoire si on utilise la console d’administration pour démarrer des serveurs managés.
-
Il est obligatoire avec Whole Server Migration, ainsi que pour des confs de Automatic Service Migration.
-
Il existe en 2 versions : java et script (avec les mêmes fonctionnalités)
Le Node Manager Java tourne au sein d’une JVM. Il doit être utilisé comme service ou comme daemon. Il est plus sécurisé que la version script
Note
|
Sa configuration est dans le fichier nodemanager.properties |
Cette version de Node Manager est basé sur un script shell (et n’est donc pas supporté par Windows). Il utilise SSH.
L’accès aux Node Manager se fait par la console d’administration, JMX utilities ou par des commandes/scripts WLST.
Il est possible d’installer WLS de 3 façons différentes : par GUI, en mode console ou en mode silencieux.
Note
|
WLS 12.1.1 est compatible avec Java EE 6 |
(/u01/app/oracle/product/Middleware) : Middleware Home
-
registry.dat/registry.xml : Enregistrement de tous les produits Oracle Middleware
-
utils : fichiers JAR additionnels
-
wlserver_12.1.1 : Oracle WLS Home
-
logs : Installation logs
-
modules : Modules(.jar) installés dans le Middleware Home
-
coherence_3.7 : Coherence home directory
-
common : fichiers partagés par les composants wls
-
samples : exemples de code et de resources
-
domains : exemples pour des applications medrec, medrec-spring et wl_server
-
server : Code source pour des domaines installés avec WLS
-
sipserver : code source pour des applications SIP
-
-
server : composants de server (executables, fichiers bdd, fichiers XML, drivers JDBC, plugins…)
-
unistall : fichiers pour supprimer wls
La configuration d’un domaine est la définition d’une collection de ressources telles que :
-
des serveurs managés
-
des clusters
-
des connections aux bdd
-
des services de sécurité
-
des applis Java EE
On peut utiliser le Wizard ou la console pour créer et configurer des domaines. Des domaines typiques sont les des domaines de developement, de test ou de production.
Note
|
Le script de configuration de domaine est <WL_HOME>/common/bin/config.sh. Par defaut il lance un GUI, mais avec l’option -mode=console il peut être en mode console. |
-
autodeploy : En mode developement, WLS deploie automatiquement toutes les applications ou modules placés dans ce répertoire.
-
bin : Scripts pour démarrer ou arrêter les serveurs du domaine
-
config : Configuration courante et état de deploiement du domaine.
-
console-ext : Extensions de la console
-
init-info : Information d’initilisation du domaine
-
lib : Fichiers JAR ajoutés au classpath de chaque instance du serveur
-
pending : Changement de configuration du domaine qui ont été sauvés mais pas encore activés.
-
security : Fichiers de sécurité côté domaine
-
servers : Contient un répertoire par serveur du domaine
-
user_staged_config : Répertoire alternatif au dossier config si l’information de configuration du domaine est "user-staged"
-
weblogic.Server (seulement en mode dévelopement)
-
Menu Démarrer (Windows)
-
DOMAIN_DIR/bin/startWebLogic.sh
-
WLST avec/sans NodeManager
Ce script effectue :
- Set l’environnement en invoquant setDomainEnv.sh
- Run java weblogic.Server
-
Démarrer NodeManager
java weblogic.WLST wls:/offline> startNodeManager()
-
Connecter WLST au NodeManager
wls:/offline>nmConnect('username','password','nmHost','nmPort','domainName','domainDir','nmType')
-
Utiliser la commande nmStart pour démarrer le serveur d’administration
wls:/nm/mydomain>nmStart('AdminServer')
-
Exécuter le script wlst.sh trouvé dans <MW_HOME>/wlserver_12.1/common/bin
-
Utiliser la commande startServer pour démarrer un serveur :
wls:offline/>startServer ( [adminServerName], [domainName], [url], [userName], [password], [domainDir], [block], [timeout], [serverLog], [systemProperties], [jvmArgs][spaceAsJvmArgsDelimiter] )
Ils peuvent être configurés en utilisant :
-
Le Wizard de configuration de domaine
-
La console d’administration
-
En ligne de commande avec WLST === Création Avec la commande WLST, il faut utiliser la commande create :
wls:/mydomain/edit !> server1=create('newServer','Server') Server with name 'newServer' has been created successfully wls:/mydomain/edit !> server1.getName() newServer
Note
|
on utilise la même commande pour créer des machines, ou tout autres éléments définis dans config.xml |
-
weblogic.Server (seulement en mode dévelopement)
-
DOMAIN_DIR/bin/startManagedWebLogic.sh
-
WLST avec NodeManager
-
Console d’administration
Il faut lancer la commande suivante :
startManagedWeblogic.sh managedServerName adminUrl
-
Démarrer NodeManager
java Weblogic.WLST wls:/offline> startNodeManager()
-
Connecter WLST au NodeManager
wls:/offline>nmConnect('username','password','nmHost','nmPort','domainName','domainDir','nmType')
-
Démarrer le serveur managé
wls:/offline>start('managedServerName','Server')
Tip
|
A chaque démarrage d’un serveur par shell, on doit rentrer le username et le mot de passe. Pour éviter ça, créer un fichier boot.properties dans <DOMAIN_HOME>\servers\servername\security avec 2 lignes : - username=<username> - password=<password> Au premier démarrage du serveur, celui-ci lit ces informations et les encryptes. |
Par defaut, les serveurs managés peuvent tourner indépendamment du serveur d'admin. Un serveur managé peut démarrer en mode MSI si le serveur d'admin n'est pas actif.
Il faut configurer le mode MSI dans la console d’admin : Environnement > Servers > Server_Name > Tuning > Advanced > Managed Server > Independence Enabled Check Box
-
Le serveur d’admin peut tomber sans affecter les opérations des serveurs managés
-
Il peut redémarrer pendant que les serveurs managés sont en train de tourner
-
Si le serveur d’admin est down :
-
Les logs du domain ne sont pas disponibles
-
Les serveurs managés peuvent démarrés en MSI
-
La console d’admin et les outils de management sont hors service
-
WLS permet la création d’un backup de serveur : . Installer WLS sur une machine backup . Copier les fichiers d’applications . Copier les fichiers de configuration . Redémarer le serveur d’admin sur la nouvbelle machine . Le nouveau serveur d’admin contacte les serveurs managés et les informe qu’il tourne sur une nouvelle IP
Un template définit des resources pour un domaine
-
Oracle fournit des exemples de templates pour créer des domaines
-
Les templates sont disponibles dans *<WL_HOME>/common/templates/domains directory
-
Des extensions de templates sont disponibles dans *<WL_HOME>/common/templates/applications directory
On peut créer des template en utilisant de Domain Template Builder :
- Définir un domaine et le répliquer à travers de nombreux projets
- Distribuer un domaine packagé avec une appli
Note
|
le Domain Template Builder est un GUI qui se lance avec la commande config_builder.sh disponible dans <WL_HOME>/common/bin |
Créer un domaine |
Le Wizard Configuration. Pour automatiser une création, utiliser un script WLST (WebLogic Scripting Tool), ou fichier XML |
Migrer d’un environnement de dev à un environnement de prod |
La commande pack du DomainTemplate Builder |
Configurer une connection à une BDD ou à d’autres systèmes |
Via la console d’admin ou par WLST |
Manager le cycle de vie du serveur |
Le Node Manager (outil de contrôle à distance indépendant des serveurs admin et managés) ou par WLST |
Déployer une application |
La console d’administration ou par WLST. |
WebLogic Server Administration Console |
Application web hébergée par le serveur admin. Utilisée pour manager et monitorer les domaines actifs. |
Fusion Middleware Control |
WLS peut aussi être managé via Fusion Middleware Control |
WebLogic Scripting Tool |
Interface de script en ligne de commande qui permet de managé et de monitorer des domaines WLS actifs ou inactifs. Script basé sur Jython |
Configuration Wizard |
Il créé la structure de dossiers approprié pour un domaine, un fichier config.xml, et des scripts à utiliser pour démarrer les serveurs du domaine. Le Wizard utilise des templates pour créer des domaines |
Configuration Template Builder |
Permet de créer facilement des templates |
Installer Xming, puis ses fonts sur une machine cliente Windows : \\pluto-
bdx\public\CRCI\installations\Developpement\Xming
Editer le fichier C:\Program Files (x86)\Xming\X0.hosts, en ajoutant une ligne correspondant à
l’adresse IP de votre serveur Linux distant.
Exécuter ensuite XLaunch (utiliser la configuration par défaut).
Noter l’IP de cette machine Windows, exemple dans notre cas : 10.33.33.70
Se connecter en SSH sur le serveur nécessitant l’installation graphique (exemple : serveur Oracle).
Warning
|
Il faut utiliser Putty, ça ne fonctionne pas avec mRemote. Dans Putty, il faut activer le X11 forwarding : Déplier Connection > SSH > X11, cliquer sur Enable X&& forwarding et renseigner localhost:0.0 dans X display location |
Une fois connecté en SSH, exécuter la commande suivante :
export DISPLAY=10.33.33.71:0.0
Par défaut, l’identifiant du DISPLAY est 0.0, pour le vérifier il suffit de pointer sa souris sur l’icône
Xming dans la barre des tâches de la machine Windows.
Il suffit maintenant d’exécuter la commande qui lance l’interface graphique.
Warning
|
Il faut vérifier que dans /etc/ssh/sshd_config la ligne X11Forwarding yes est renseignée. |