|
iAS 9i - Passerelle PL/SQL
|
Ce document décrit l'utilisation et la configuration de la passerelle PL/SQL (PL/SQL Gateway) pour le serveur Web Apache livré avec les produits Oracle (bases de données et iAS) dans le cadre du laboratoire de génie logiciel. La base de données doit être au minimum une base 8.1.7 pour bénéficier de la passerelle PL/SQL.
La passerelle PL/SQL permet d'accéder à des procédures et des fonctions stockées dans une base de données Oracle au moyen d'une requête HTTP.
Il existe deux versions différentes de la passerelle PL/SQL. La première version est fournie par le module Apache mod_plsql. Il s'agit d'un plug-in serveur qui permet à Apache d'accéder aux bases de données Oracle. C'est cette version qui nous intéresse pour publier les modules de traitements Web réalisés avec Designer 6i. La seconde version est embarquée dans le module Apache mod_ose. Ce module permet à Apache de devenir un serveur de servlets grâce au composant OSE (Oracle Servlet Engine) qui est intégré dans les bases de données Oracle. Le module mod_plsql est utilisé pour réaliser des applications Web "stateless" alors que le mod_ose est utilisé pour réaliser des applications "stateful". Une application "stateless" ne conserve pas l'état de la transaction ni les valeurs des variables de paquetage après qu'une procédure PL/SQL se soit terminée. A l'inverse une application "stateful" conserve ces informations et les rend accessibles aux procédures exécutées ultérieurement. En mode "stateful" une procédure PL/SQL est considérée comme un servlet d'où l'utilisation du mod_ose. Ce document présente uniquement le mod_plsql.
Voici les fichiers de configuration qui permettent à Apache de collaborer avec la passerelle PL/SQL d'Oracle:
httpd.conf (aperçu du fichier de configuration du serveur Apache) # Include the Oracle configuration file for custom settings oracle_apache.conf (aperçu du fichier de configuration pour la collaboration Apache - Oracle) include "D:\ORACLE\iSuites\Apache\Apache\conf\mod__ose.conf" plsql.conf (aperçu du fichier de configuration de la passerelle PL/SQL) LoadModule plsql_module D:\ORACLE\iSuites\bin\modplsql.dll Par défaut, Apache et la passerelle PL/SQL sont correctement configurés pour travailler ensemble. Cependant, il faut encore paramétrer les DAD (Database Access Descriptor) de la passerelle avant de pouvoir réellement l'utiliser pour accéder à des modules Designer. Un DAD est un ensemble de valeurs de configuration que la passerelle PL/SQL utilise pour se connecter à une base de données. Un DAD spécifie entre autres :
Si les informations concernant le nom d'utilisateur et le mot de passe ne sont pas spécifiés dans le DAD, la passerelle demandera alors à l'utilisateur de s'identifier à travers une boite de dialogue
Une url qui utilise la passerelle PL/SQL est construite de la façon suivante: http://nom_serveur/pls/nom_dad/nom_procedure "pls" est un chemin virtuel qui permet au serveur Web de savoir qu'il ne doit pas traiter lui-même l'url mais qu'il doit la transmettre à la passerelle PL/SQL.
Oracle fournit, avec iAS ou avec une base de données, une application Web pour paramétrer les DAD (http://lgl-ias/pls/admin/admin_/gateway.htm).
On remarque qu'il existe deux niveaux de configuration de la passerelle. Le premier niveau permet de défiir les paramètres globaux qui sont hérités par défaut par les DAD mais qui peuvent être redéfinis individuellement pour chaque DAD. Le second niveau permet de définir les paramètres spécifiques à chaque DAD. Pour pouvoir utiliser cette application Web d'administration, il faut commencer par créer un DAD d'administration à la main. Première configuration: Pour la toute première configuration, il faut paramétrer le DAD d'administration à la main. Les DAD sont décrits dans le fichier <ORACLE_HOME>\Apache\modplsql\cfg\wdbsvr.app. Voilà comment configurer le DAD d'administration qui permettra de créer les autres DAD avec l'application Web.
Quelques explications sur ces paramètres:
Autres configurations: Pour les autres configurations, il faut utiliser l'application Web (http://lgl-ias/pls/admin/admin_/gateway.htm).
Certains paramètres ne sont pas accessibles depuis l'application Web et il faut les définir manuellement dans le fichier "wdbsvr.app". Une liste exhaustive des paramètres est disponible dans la documentation d'iAS &.
Après l'installation d'iAS, le lien "Mod_plsql Configuration Menu" ne fonctionne pas. En effet, l'url http://agl1/pls/gateway.htm n'est pas une url valide car aucun DAD n'est configuré comme DAD par défaut. Il faut donc modifier la page d'accueil du serveur Apache (<ORACLE_HOME>\Apache\Apache\htdocs\index.html) pour que le lien pointe sur le DAD d'administration créé précédemment, http://lgl-ias/pls/admin/admin_/gateway.htm. Voir aussi: Personnalisation ESNIG-LGL Aperçu du fichier index.htm:
Nous avons décidé d'utiliser la passerelle d'iAS plutôt que celle d'une base de données (version 8.1.7) pour des raisons de sécurité. En effet, le serveur d'applications se situe dans une zone démilitarisée et est donc accessible depuis Internet. La base de données est, au contraire, inaccessible directement depuis Internet puisqu'elle se trouve dans la partie protégée du réseau. Il faut passer par le serveur d'application pour interroger celle-ci. |