I. Introduction▲
La bibliothèque WebUtil a été mise en place par Oracle afin de pourvoir à certaines fonctionnalités côté client en mode Web.
Par exemple, lors de l'utilisation en mode C/S, on peut faire appel à certaines fonctions telles que HOST, GET_FILE_NAME, etc. Celles-ci réfèrent alors au poste client.
En mode Web, les modules seront servis par le serveur d'application et de ce fait, tout appel de fonction, similaire à HOST par exemple implique les fonctionnalités du serveur et non plus celles du client.
De ce fait et afin de maintenir les mêmes fonctionnalités que nous avons en mode C/S, on mettra en place la bibliothèque WebUtil avec les modifications correspondantes au niveau des modules(1).
Téléchargez la bibliothèque JACOB ici. Cette bibliothèque est très utile pour configurer WebUtil.
Une fois la bibliothèque téléchargée, on va copier le fichier jacob.jar dans le dossier java de Forms indiqué comme suit (C:\Oracle\Middleware\FRHome\forms\java) :
II. Phase 1 : configuration de la bibliothèque webutil▲
Cette étape concerne la configuration du poste du développeur en vue de l'utilisation de WebUtil.
Copiez le fichier DLL dans le dossier de WebUtil comme indiqué dans cette image.
Le fichier jacob_1.17-M2-x64 doit être copié dans C:\Oracle\Middleware\FRHome\forms\webutil\win64 :
Le fichier jacob_1.17-M2-x32 doit être copié dans C:\Oracle\Middleware\FRHome\forms\webutil\win32 :
Modifiez le fichier de configuration formsweb.cfg. Faites une copie de ce fichier avant de faire toute manipulation. Contrairement à la version 10g, ce fichier se trouve dans le dossier suivant :
C:\Oracle\Middleware\user_projects\domains\FRMdomain\config\fmwconfig\servers\WLS_FORMS\applications\formsapp_11.1.2\config
Ajoutez jacob.jar dans la section archive du fichier formsweb.cfg :
II-A. Initialisation des objets▲
Création de l'utilisateur WEBUTIL : celui-ci sera le propriétaire du package WebUtil.
Connectez-vous avec le compte sys as sysdba et procédez comme suit :
CREATE
USER
WEBUTIL IDENTIFIED
BY
WEBUTIL;
GRANT
CONNECT
, RESOURCE
TO
WEBUTIL;
Création du package WEBUTIL_DB : pour cela, exécutez le script create_webutil_db.sql qui se trouve dans C:\Oracle\Middleware\FRHome\forms
Contenu du fichier create_webutil_db.sql :
Connectez-vous avec le compte webutil (pour vous assurer que c'est le bon utilisateur, faites un SHOW USER) :
On voit bien que le package a été créé avec succès sans aucune erreur :
Donnez les GRANT nécessaires pour les utilisateurs de l'application. Reconnectez-vous avec le compte webutil.
GRANT
EXECUTE
ON
WEBUTIL_DB TO
PUBLIC
;
Créer un synonyme pour WEBUTIL_DB : reconnectez-vous avec le compte sys as sysdba pour faire cette opération.
CREATE
PUBLIC
SYNONYM
WEBUTIL_DB FOR
WEBUTIL_DB
La dernière étape consiste à compiler cette bibliothèque pour générer le fichier webutil.plx. Pour cela, ouvrez le fichier webutil.pll et compilez-le :
On voit bien que le fichier a été compilé et a généré le fichier plx :
II-B. Signature des fichiers JAR▲
Il faut que les deux fichiers JAR webutil et Jacob.jar soient signés afin que les utilisateurs de votre application ne soient pas requis de valider à chaque fois l'authenticité des bibliothèques.
- Vérifiez que frmwebutil.jar se trouve dans C:\Oracle\Middleware\FRHome\forms\java :
- Assurez-vous que les deux fichiers JACOB.DLL et JACOB.JAR sont copiés(2).
Pour résoudre ce problème :
1. Faites une sauvegarde de votre fichier sign_webutil.bat et ouvrez-le avec l'éditeur NotePad++ et vérifiez les deux commentaires :
REM *** Remove the text after the '=' and replace with your password. ***
2. Localisez la ligne :
JAR_KEY_PASSWORD=<Your private key password>
et spécifiez un mot de passe pour : JAR_KEY_PASSWORD==<yourPassword>
3. Sauvegardez votre script et exécutez-le pour signer les fichiers JAR. Utilisez ce chemin tel que mentionné ici :
ORACLE_INSTANCE\bin\sign_webutil.bat %ORACLE_HOME%\forms\java\jacob.jar
Vous devez ensuite exécuter cette commande pour tous les fichiers jar. Après avoir exécuté les commandes, s'il vous plaît vérifiez la date modifiée des fichiers jar pour vous assurer qu'ils ont tous été signés avec succès.
Exécutez la signature avec les commandes suivantes :
- Ouvrez une fenêtre DOS
- Changez vers C:\Oracle\Middleware\FRMInst\bin
- Exécutez : sign_webutil.bat C:\Oracle\Middleware\FRHome\forms\java\frmwebutil.jar
- Ensuite : sign_webutil.bat C:\Oracle\Middleware\FRHome\forms\webutil\jacob.jar
III. Phase 2 : utilisation de webutil au niveau d'un module Forms▲
Dans cette partie, on montre comment on utilise la bibliothèque WebUtil.
On va commencer par le téléchargement d'une démo disponible sur le site web d'Oracle à cette adresse :
http://www.oracle.com/technetwork/developer-tools/forms/webutil-090641.html
Testez le fichier webutil_demo.fmb avec Oracle Forms 11g (suivez le guide qui se trouve dans readme.pdf)
Ouvrez le fichier avec Forms 11g :
Exécutez cette form - webutil_demo :
Cliquez sur le bouton « Get Client Info »…
IV. Conclusion▲
Ce guide spécifie les étapes nécessaires pour l'utilisation de la librairie WebUtil avec Oracle Forms 11g.
V. Remerciements▲
Tous mes remerciements à toute l'équipe de DVP, en particulier Claude Leloup et Marie-Hélène Delacroix ainsi que l'aide qui m'a été accordée pour la mise en place de ce tutoriel y compris l'hébergement de mon espace personnel DVP.