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

2.3. Guides d'installation

2.4. Topologie d'un domaine

Understanding Oracle WebLogic Server

Single (Managed) Server Mode
Figure 27 : Single (Managed) Server Mode
Multiple Managed Servers in a Cluster
Figure 28 : Multiple Managed Servers in a Cluster

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

Concepts WebLogic

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