Tester ses Forms 11gR2 sous Oracle Linux 5 (x64)

Préambule

Lorsque l’on développe un écran Forms sous 11gR2, l’outil de développement propose de visualiser sur le navigateur de son poste de travail le résultat.
Cependant, avant de pouvoir le faire, il est nécessaire de réaliser un certain nombre de paramétrages.
On suppose que l’on se trouve en environnement Oracle Linux 5 64bits, Forms 11gR2 installé (on peut se référer à cet article sur l’installation de Forms 11gR2 sous Oracle Linux).
Le navigateur est celui fournis par la distribution : Firefox 3.0.18 – 64 bits.

Configuration de Firefox

Pour que Forms Builder puisse afficher le résultat du développement, il faut que le navigateur puisse lancer une machine virtuelle java. Lorsque la distribution est installée, Firefox n’a pas le plugin pour exécuter Java. Il va falloir le configurer.

Pour cela, on fait un lien dans le répertoire plugin de Mozilla vers la bibliothèque du JRE qui contient la machine virtuelle à exécuter par Firefox.

Voici le script java_firefox.sh qui se charge de configurer le plugin pour l’utilisateur courant

#
# Création du lien vers la configuration du plugin Java pour Firefox
#
# 14/02/2012 - FL : Création
#
if [ "$ORACLE_HOME" == "" ] ; then
	echo $ORACLE_HOME
	echo "ERREUR : La variable d'environnement ORACLE_HOME doit être définie."
	exit -1
fi
if ! [ -f $ORACLE_HOME/jdk/jre/lib/amd64/libnpjp2.so ] ; then
	echo "ERREUR : L'environnement Java n'a pas été trouvé."
	exit -2
fi
cd $HOME/.mozilla/plugins
# Efface les anciennes instalations
rm -f libnpjp2.so
ln -s $ORACLE_HOME/jdk/jre/lib/amd64/libnpjp2.so .
cd $HOME
echo "Installation du Plugin Java pour Firefox terminée."
# Test si Firefox s'exécute
if ! [ "$(pgrep firefox)" == "" ] ; then
	echo "Firefox est en cours d'éxécution."
	echo "Pour tester le plugin, il faut quitter Firefox et le relancer."
fi

Pour vérifier que le plugin fonctionne, on lance firefox en ligne de commande ainsi :

firefox about:plugins

ce qui donne le résultat suivant :

ATTENTION :
Si on  installe jrockit, il y a un autre fichier libnpjp2.so dans le répertoire $MW_HOME/jrockit-jdk1.6.0_29-R28.2.2-4.1.0/jre/lib/amd64/

Il ne fonctionne pas avec Firefox (en tout cas la version 3.0.18).

Configuration du serveur d’application

Le serveur d’application Weblogic pour Forms, fait un controle sur la version du plugin Java présent dans le navigateur. Si le plugin n’est pas en version 1.6.0.12, le navigateur va demander à télécharger la version correspondante du plugin. Lorsque l’on installe Forms, les versions de plugin actuelles sont au delà de la 1.6.0.12, on peut donc désactiver ce controle sur son poste de développement.

Voici un script qui s’en charge. Il faut décommenter la ligne du fichier de configuration qui correspond à sa version de Forms 11

#!/bin/sh
#
# Script retirant le controle de version du plugin Java
# pour l'exécution de Forms 11g
#
# 14/02/2012 - FL : Création

# Fichier de config de Weblogic - Décommenter l'un ou l'autre en fonction de la version de Forms, 11g ou 11gr2

# Version 11g
#config_wls_forms=/$MW_HOME/user_projects/domains/ClassicDomain/config/fmwconfig/servers/WLS_FORMS/applications/formsapp_11.1.1/config/formsweb.cfg

# Version 11gR2
config_wls_forms=/$MW_HOME/user_projects/domains/ClassicDomain/config/fmwconfig/servers/AdminServer/applications/formsapp_11.1.2/config/formsweb.cfg

# Vérification de la variable MW_HOME
if [ "$MW_HOME" == "" ] ; then
	echo "ERREUR : Le répertoire MW_HOME n'est pas défini (Oracle Middleware Home)."
	exit -1
fi
# Vérification de la présence du fichier de configuration
if ! [ -f $config_wls_forms ] ; then
	echo "Fichier formwsweb non trouvé. vérifier que l'on est en version 11g ou 11gr2"
	exit -2
fi
# On retire la vérification de version du plugin java dans le serveur WLS_FORMS
ctrl_mis=$(cat $config_wls_forms | grep  -v -E '^#' | grep -c  jpi-version)
if [ $ctrl_mis -gt 0 ] ; then
	echo "Contrôle de version JRE Actif. Désactivation."
	sed -i -e "s/;jpi-version=1.6.0_12//g" $config_wls_forms
	chown oracle:oracle $config_wls_forms
else
	echo "Le contrôle de version de JRE n'est pas actif."
fi

Configuration de l’accès à la base de données

On utilise l’utilitaire Network Config Assistant.
Attention
, il y a deux fichiers tnsnames.ora lorsque l’on réalise une installation d’Oracle Forms.

Celui utilisé par netca qui se trouve dans $ORACLE_HOME/network/admin et celui utilisé par Form Builder qui se trouve dans $ORACLE_INSTANCE/config

Le plus simple est de supprimer celui qui se trouve dans $ORACLE_INSTANCE/config et d’y faire un lien vers $ORACLE_HOME/network/admin

cd $ORACLE_INSTANCE/config ; rm tnsnames.ora ; ln -s $ORACLE_HOME/network/admin/tnsnames.ora .

Ainsi la configuration des accès de Form Builder se fera via Network Config Assistant.

Configuration de Form Builder

Form Builder lance l’affichage de la form en cours de développement dans un navigateur. Il faut lui indiquer à la première utilisation quel est le chemin d’accès de ce dernier.

On lance Form Builder, puis on va dans Editions/Préférences

On sélectionne l’onglet ‘Runtime’, puis on spécifie lemplacement du navigateur web. Dans la très grande majorité des cas, ce devrait être /usr/bin/firefox

On clique sur Ok.

Exécution du test

Tout le paramétrage est désormais réalisé. Pour tester que cela fonctionne, il faut lancer Weblogic.

$MW_HOME/user_projects/domains/ClassicDomain/bin/startWebLogic.sh

Entrer le login/mot de passe de connexion.  Une fois le serveur lancé dans une fenêtre , et en mode RUNNING comme dans l’exemple ci-dessousOn ouvre une form, on se connecte à la base de données, (Fichier/Connecter), on demande Programme/Exécuter application FormsSi tout se passe bien, Form Builder lance le navigateur Firefox, une mire de lancement java, puis forms service s’afficheet notre Form apparaît dans le navigateur. Exemple :

 

Posts relatifs

Laisser un commentaire


NOTE - Vous pouvez utiliser les éléments et attributs HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">