Le
proxy plug-in Weblogic pour Apache (mod_wl_20) permet d’assurer le lien Apache-webLogic
selon le schéma de base ci-dessous :
Les autres fonctionnalités offertes par ce plug-in sont les suivantes :
- Gestion des éléments statiques dune application Weblogic ;
- Optimisation de la consommation réseau ;
- Répartition et équilibrage des charges (load-balancing) ;
- Participation à la haute disponibilité (failover)
La configuration du serveur Apache va donc s'effectuer selon le processus suivant:
-1. Mise en place du module d’extension mod_wl_20 assumant les fonctions de proxy plug-in ;
-2. Chargement du proxy plug-in pour
Apache dans le fichier httpd.conf ;
-3. Configuration dans httpd.conf, de chaque application
utilisant le proxy plug-in.
-1. Mise en place du module d’extension mod_wl_20 assumant les fonctions de proxy plug-in ;
/opt/weblogic/wls_9.2/server/plugin/linux/x86_64
Chargement du proxy plug-in
Le chargement du proxy plug-in est spécifié dans le fichier de configuration d’Apache, httpd.conf
ServerRoot
"/etc/httpd"
PidFile
run/httpd.pid
Listen 80
#----Integration
Proxy Plug-in WebLogic ------------------
LoadModule
weblogic_module modules/mod_wl_20.so
Des séquences de directive « loadModule »
« IfModule » sont ajoutées dans le fichier de configuration d’Apache,
httpd.conf, après le chargement des
différents modules DSO.
LoadModule weblogic_module modules/mod_wl_20.so
<IfModule mod_weblogic.c>
WebLogicHost cloud_srvr01
WebLogicPort 7101
MatchExpression *.jsp
MatchExpression *.do
</IfModule>
<IfModule mod_weblogic.c>
<Location /meteo>
SetHandler weblogic-handler
WebLogicHost coud_srvr01
WebLogicPort 7101
</Location>
SetHandler weblogic-handler
WebLogicHost coud_srvr01
WebLogicPort 7101
</Location>
</IfModule>
<IfModule
mod_weblogic.c>
MatchExpression /meteo
WebLogicHost cloud_srvr01
WebLogicPort 7101
WebLogicHost cloud_srvr01
WebLogicPort 7101
</IfModule>
-WebLogicHost permet de sépcifier le nom du serveur hébergeant WebLogic;
-WebLogicPort permet de spécifier le port d’écoute du
serveur WebLogic;
-MatchExpression permet de spécifier le filtre permettant à Apache d’identifer les requêtes à router
vers WebLogic. Plusieurs filtres MatchExpression peuvent être utilisés.
Toutes les pages comportant une URL du type http://serveur_apache/meteo seront redirigées vers le serveur
WebLogic hébergé par cloud_srvr01, sur le port 7101.
Apache vers 2 WebLogic
Voici un schéma générique de mise en œuvre de deux
serveurs WebLogic à partir d’un unique serveur Apache.
<IfModule
mod_weblogic.c>
<Location /web_url01>
SetHandler weblogic-handler
WebLogicHost adr_ip01
WebLogicPort tcp_port01
</Location>
<Location /web_url02>
WebLogicHost adr_ip02
WebLogicPort tcp_port02
PathTrim /web_url02
</Location>
</IfModule>
<Location /web_url01>
SetHandler weblogic-handler
WebLogicHost adr_ip01
WebLogicPort tcp_port01
</Location>
<Location /web_url02>
WebLogicHost adr_ip02
WebLogicPort tcp_port02
PathTrim /web_url02
</Location>
</IfModule>
Dans ce schéma générique :
1).Toutes les pages appelées à partir de l’adresse : http://serv_apache/web_url01 sont
redirigées vers le serveur WebLogic ayant pour adresse adr_ip01 sur le
port tcp_port01.
2).Toutes les pages appelant une jsp à partir de l’adresse : http://serv_apache/web_url02 sont redirigées vers le serveur WebLogic ayant pour adresse adr_ip02 sur le porttcp_port02. Avec la directive “ PathTrim /web_url02 ”, la requête http://serv_apache/web_url02/toto.jsp sera relayée à WebLogic sous la forme http://adr_ip02:tcp_port02/toto.jsp. Sans cette directive, elle aurait été relayée sous la forme http://adr_ip02:tcp_port02/web_url02/toto.jsp.
2).Toutes les pages appelant une jsp à partir de l’adresse : http://serv_apache/web_url02 sont redirigées vers le serveur WebLogic ayant pour adresse adr_ip02 sur le porttcp_port02. Avec la directive “ PathTrim /web_url02 ”, la requête http://serv_apache/web_url02/toto.jsp sera relayée à WebLogic sous la forme http://adr_ip02:tcp_port02/toto.jsp. Sans cette directive, elle aurait été relayée sous la forme http://adr_ip02:tcp_port02/web_url02/toto.jsp.
Remarque-1: Ce canevas générique peut s’appliquer au cas
classique de redirection vers un seul serveur WebLogic. Sa meilleure
utilisation se situe naturellement dans un contexte de mutualisation de serveurs Apache.
Remarque-2: Dans un contexte de mutualisation du serveur Apache, ces blocs de directives sont à
placer à l’intérieur de chaque VirtualHost.
Apache pour Load balancing WebLogic
Voici un schéma de Load balancing d’un serveur Apache vers 2 serveurs WebLogic.
Dans ce
schéma, chaque requête jsp est redirigée vers le serveur 192.168.0.21
(port 7101) puis 192.168.0.22 (port 7101) 192.168.0.21,
etc… La stratégie mise en œuvre est
celle du “ round robin ”.
<IfModule
mod_weblogic.c>
WebLogicCluster
192.168.0.21:7101, 192.168.0.22:7101
MatchExpression *.jsp
MatchExpression *.jsp
MatchExpression *.do
</IfModule>
</IfModule>
Voici une autre forme
d’écriture, proxy par chemin :
<Location /appli1>
SetHandler weblogic-handler
WebLogicHost WLSserver1
WebLogicPort 7101
</Location>
<Location /appli2>
SetHandler weblogic-handler
WebLogicCluster
192.168.0.21:7101, 192.168.0.22:7101
</Location>
Dans cette dernière forme :
· Les requêtes de l’application appli1
sont redirigées vers l’instance WLSserver1 qui écoute sur le port 7101 ;
· Les requêtes de l’application appli2
sont réparties sur les instances 192.168.0.21 et 192.168.0.22 qui écoutent sur
le port 7101.


