Notes Oracle WebLogic Server
1. Introduction à WebLogic
https://en.wikipedia.org/wiki/Oracle_WebLogic_Server
https://www.oracle.com/middleware/weblogic/
Understanding Oracle WebLogic Server
Conformité JEE
Versions
Fonctionnalités
Gamme de produits
2. Installation WebLogic
2.1. Requirements
Requirements version 12.2.1.3 : https://docs.oracle.com/en/middleware/lifecycle/12.2.1.3/sysrs/
2.2. Téléchargements
- https://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html
- Free Oracle WebLogic Server Installers for Development
- https://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-main-097127.html
2.3. Guides d’installation
- Installation Guide for Oracle WebLogic Server
- https://ahmermansoor.blogspot.com/2018/12/install-oracle-weblogic-12c-server-on-centos-7.html
- Install WebLogic 12.2.1.3 on CentOS 7 without GUI
- Creating WebLogic Domains Using WLST Offline
- Using the Oracle Universal Installer in Silent Mode
- https://www.howtoforge.com/tutorial/how-to-setup-and-install-oracle-weblogic-in-centos-7/
- Oralce WebLogic Server en conteneur Docker
2.4. Topologie d’un domaine
Understanding Oracle WebLogic Server
Source des images : Preparing to Install Oracle Data Service Integrator
2.bis WebLogic en Docker
Source : WebLogic on Docker
1. Préparer l’hôte
1.1. Installer docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce docker-ce-cli containerd.io
#gpasswd -a user docker
systemctl start docker
docker run hello-world
1.2. Installer git
yum -y install git
2. Obtenir les sources
2.1. Cloner le dépôt github des images Docker Oracle
cloner le dépôt https://github.com/oracle/docker-images
git clone https://github.com/oracle/docker-images
2.2. Télécharger les archives des applications Oracle
Les logiciels Oracle JRE et WebLogic doivent obtenu par soi-même à partir du site d’Oracle pour construire les images Docker :
Archive | URL |
---|---|
server-jre-8u181-linux-x64.tar.gz | http://www.oracle.com/technetwork/java/javase/downloads/server-jre8-downloads-2133154.html |
fmw_12.2.1.3.0_wls_Disk1_1of1.zip | http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html |
fmw_12.2.1.3.0_wls_quick_Disk1_1of1.zip.download | http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html |
cat docker-images/OracleJava/java-8/server-jre-8u181-linux-x64.tar.gz.download
# Download the Server JRE (which includes necessary JDK bits for backend Java based solutions)
#
# - http://www.oracle.com/technetwork/java/javase/downloads/server-jre8-downloads-2133154.html
#
678e798008c398be98ba9d39d5114a9b4151f9d3023ccdce8b56f94c5d450698 server-jre-8u181-linux-x64.tar.gz
cat docker-images/OracleWebLogic/dockerfiles/12.2.1.3/fmw_12.2.1.3.0_wls_Disk1_1of1.zip.download
# Download WebLogic Server Generic Installer 12.2.1.3
#
# - http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
#
ea1b961b8896ac2f4006921965e41ddf fmw_12.2.1.3.0_wls_Disk1_1of1.zip
cat docker-images/OracleWebLogic/dockerfiles/12.2.1.3/fmw_12.2.1.3.0_wls_quick_Disk1_1of1.zip.download
# Download WebLogic Server Quick Installer 12.2.1.3
#
# - http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
#
a5d4811b431b2166e3e16c20c36ede09 fmw_12.2.1.3.0_wls_quick_Disk1_1of1.zip
2.3. Copier les archives dans les dossiers appropriés.
mv server-jre-8u181-linux-x64.tar.gz docker-images/OracleJava/java-8/
mv fmw_12.2.1.3.0_wls_Disk1_1of1.zip docker-images/OracleWebLogic/dockerfiles/12.2.1.3/
mv fmw_12.2.1.3.0_wls_quick_Disk1_1of1.zip.download docker-images/OracleWebLogic/dockerfiles/12.2.1.3/
3. Construire les images de base
3.1. Construire l’image de base Oracle JDK (Server JRE)
cd docker-images/OracleJava/java-8
sh build.sh
3.2. Construire l’image d’installation de WLS
On doit choisir la version et la distribution.
Ici on utilise la version “12.2.1.3” et la distribution “developer”.
cd
cd docker-images/OracleWebLogic/dockerfiles
sh buildDockerImage.sh -v 12.2.1.3 -d
4. Déployer l’architecture
- Serveur d’administration :
wlsadmin
- Serveurs gérés (Managed Server) :
MS1
MS2
Créer un le dossier local qui correspond à l’emplacement du dossier d’accueil sur le serveur d’administration
samples=/root/docker-images/OracleWebLogic/samples/12213-domain
wlshare=/root/wls1
mkdir ${wlshare}
4.1. Paramètres par défaut
Paramètre | Variable | Valeur |
---|---|---|
Admin Password | ADMIN_PASSWORD | Auto-généré à la première exécution ou généré |
Admin Username | ADMIN_USERNAME | weblogic |
Admin Name | ADMIN_NAME | AdminServer |
Admin Port | ADMIN_PORT | 7001 |
Admin Host | ADMIN_HOST | wlsadmin |
Cluster Name | CLUSTER_NAME | DockerCluster |
Debug Flag | DEBUG_FLAG | false |
Production Mode | PRODUCTION_MODE | dev |
Managed Server Name | MS_NAME | Generé |
Managed Server Port | MS_PORT | 8001 |
Node Manager Name | NM_NAME | Generé |
4.2. Construire une image étendue avec création d’un domaine
Ici l’exemple samples/12213-domain
cd
cd docker-images/OracleWebLogic/samples/12213-domain
docker build --build-arg PRE_DOMAIN_NAME=myDomain --build-arg PRE_DOMAIN_HOME= `/u01/oracle/myDomHome` -t 12213-domain .
4.3. Vérification des images disponibles
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
12213-domain latest 5ff67464829f 2 hours ago 1.42GB
oracle/weblogic 12.2.1.3-generic 2cd352a6b313 3 hours ago 2.81GB
oracle/weblogic 12.2.1.3-developer e8d59a587fad 3 hours ago 1.42GB
oracle/serverjre 8 7f81dc5818a8 3 hours ago 270MB
oraclelinux 7-slim 90e39322df71 4 days ago 118MB
hello-world latest fce289e99eb9 3 months ago 1.84kB
4.4. Définition du mot de passe d’administration
wlspassword=testforthefun
4.5. Lancement du serveur d’administration wlsadmin
docker run -d --name wlsadmin --hostname wlsadmin -p 7001:7001 --env-file ${samples}/container-scripts/domain.properties -e ADMIN_PASSWORD=${wlspassword} -v ${wlshare}:/u01/oracle/user_projects 12213-domain
docker logs -f wlsadmin
4.6. Lancement du serveur géré MS1
docker run -d --name MS1 --link wlsadmin:wlsadmin -p 8001:8001 --env-file ${samples}/container-scripts/domain.properties -e ADMIN_PASSWORD=${wlspassword} -e MS_NAME=MS1 --volumes-from wlsadmin 12213-domain createServer.sh
docker logs -f MS1
4.7. Lancement du serveur géré MS2
docker run -d --name MS2 --link wlsadmin:wlsadmin -p 8002:8001 --env-file ${samples}/container-scripts/domain.properties -e ADMIN_PASSWORD=${wlspassword} -e MS_NAME=MS2 --volumes-from wlsadmin 12213-domain createServer.sh
docker logs -f MS2
4.8. Script de lancement
Script create_cluster.sh
#!/bin/bash
samples=/root/docker-images/OracleWebLogic/samples/12213-domain
wlshare=/root/wls1
mkdir ${wlshare}
wlspassword=testforthefun
echo "Lancement du serveur d'administration wlsadmin"
docker run -d --name wlsadmin --hostname wlsadmin -p 7001:7001 --env-file ${samples}/container-scripts/domain.properties -e ADMIN_PASSWORD=${wlspassword} -v ${wlshare}:/u01/oracle/user_projects 12213-domain
echo "pause le temps de la création du domaine"
sleep 120
echo "Lancement du serveur géré MS1"
docker run -d --name MS1 --link wlsadmin:wlsadmin -p 8001:8001 --env-file ${samples}/container-scripts/domain.properties -e ADMIN_PASSWORD=${wlspassword} -e MS_NAME=MS1 --volumes-from wlsadmin 12213-domain createServer.sh
echo "Lancement du serveur géré MS1"
docker run -d --name MS2 --link wlsadmin:wlsadmin -p 8002:8001 --env-file ${samples}/container-scripts/domain.properties -e ADMIN_PASSWORD=${wlspassword} -e MS_NAME=MS2 --volumes-from wlsadmin 12213-domain createServer.sh
docker logs wlsadmin
docker logs MS1
docker logs MS2
4.9. Accès à la console
Accès à la console du serveur d’administration : http://127.0.0.1:7001/console
.
4.10. Destruction de tous les conteneurs
docker rm -f $(docker ps -qa)
3. Administration d’instances WebLogic
https://docs.oracle.com/middleware/12213/wls/wls-administer.htm
- Interface Web
- WLST
WLST
Le WebLogic Scripting Tool (WLST) est une interface de script en ligne de commande que les administrateurs système et les opérateurs utilisent pour surveiller et gérer les instances et domaines du serveur WebLogic. L’environnement de script WLST est basé sur l’interpréteur de script Java, Jython. En plus des fonctions de script WebLogic, vous pouvez utiliser les fonctions communes des langages interprétés, y compris les variables locales, les variables conditionnelles et les instructions de contrôle de flux. Les développeurs et administrateurs de WebLogic Server peuvent étendre le langage de script WebLogic en fonction de leurs besoins environnementaux en suivant la syntaxe du langage Jython. Voir http://www.jython.org.
Source : Using the WebLogic Scripting Tool
WebLogic Scripting Tool (WLST) Examples
https://wlstbyexamples.blogspot.com/2010/05/weblogic-server-weblogic-scripting-tool.html
4. Déploiement d’application WebLogic
https://docs.oracle.com/middleware/12213/wls/wls-developdeploy.htm
https://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/wls/12c/03-DeployApps/deployapps.htm
https://stackoverflow.com/questions/8587211/deploying-a-java-web-application-on-weblogic-server
5. Gestion de la sécurité sur WebLogic
https://docs.oracle.com/middleware/12213/wls/wls-secure.htm
6. Surveillance et dépannage WebLogic
https://docs.oracle.com/middleware/12213/wls/wls-monitortune.htm
7. Clusters WebLogic
Voir exemple en Docker
Sujets
https://docs.oracle.com/cd/E13222_01/wls/docs81/adminguide/overview.html
- 1 Installation et outils de gestion Oracle WebLogic Server
- Oracle WebLogic Server: An Overview
- Important WebLogic Server Concepts
- Installing Oracle WebLogic Server 12c
- The WebLogic Server Sample Applications
- Upgrading Oracle WebLogic Server
- Using the Administration Console
- A Brief Introduction to the Node Manager
- Using the WebLogic Scripting Tool (WLST)
- 2 Administration d’instances serveur WebLogic
- Managing the Servers
- Using the Node Manager to Manage Servers
- Lifecycle of WebLogic Server Instances
- Starting and Stopping WebLogic Server
- Setting Up a WebLogic Server Instance as a Windows Service
- Dealing with WebLogic Server Failures
- 3 Création et configuration de domaines de serveurs WebLogic
- Structure of a WebLogic Server Domain
- Understanding Domain Configuration Changes
- Creating Domain Templates
- Creating a WebLogic Server Domain
- Advanced Domain Configuration Options
- Configuring Server Environments
- Protecting Domain Data
- 4 Configuration Naming Transactions Connections et Messaging
- JNDI and Naming and Directory Services
- Configuring Transactions
- Configuring Database Connections
- Configuring Java Messaging Services (JMS)
- Configuring WebLogic JavaMail
- 5 Configuration de l’environnement d’un serveur WebLogic
- Optimizing Application Performance
- Managing Server Work Overload
- Optimal Network Configuration
- The Java Connector Architecture (JCA)
- 6 Surveillance et dépannage d’un serveur WebLogic
- The WebLogic Diagnostic Framework
- Monitoring WebLogic Server Instances
- Understanding WebLogic Logging Services
- WebLogic Server Troubleshooting
- 7 Clusters de serveurs WebLogic
- Introduction to WebLogic Server Clusters
- Creating and Configuring a Cluster
- Managing a WebLogic Server Cluster
- Clustering WebLogic Server Services
- WebLogic Server Load Balancing
- Application Failover and Replication
- Handling Server and Service Failures
- 8 Déploiement d’application avec un serveur WebLogic
- Introduction to WebLogic Server Deployment
- Preparing Applications for Deployment
- Staging Deployment Plans
- Deploying Applications
- Reducing Deployment Time During Development
- Monitoring and Updating Applications
- Production Redeployment Strategies
- 9 Gestion de la sécurité d’un serveur WebLogic
- Java EE Security and OPSS
- WebLogic Server Security Basics
- Managing Security Realms
- Users, Groups, Roles, and Security Policies
- Security Models for Web Applications and EJBs
- Configuring the Embedded LDAP Server
- Configuring an RDBMS as the Security Store
- Configuring Domain Security
- Configuring SSL
- Oracle WebLogic Security Best Practices
- 10 Performance Tuning d’un serveur WebLogic
- Tuning WebLogic Server
- Tuning the JVM
- Tuning Messaging Applications
- Tuning the Applications and Managing Sessions
- Tuning Data Sources and Transactions