3. Passerelle web/SGBD
Son rôle est d’interpréter une ou plusieurs requêtes SQL sur le SGBD et de
renvoyer le résultat récupéré habillé en HTML. L’interprétation des requêtes SQL se
fait dans la même transaction. L’originalité de cette passerelle réside dans le
paramétrage assez poussé qu’elle permet au niveau de l’habillage HTML. L’idée
consiste à utiliser le dictionnaire de données pour obtenir de l’information utile pour
la génération. Par exemple, simplement à partir du nom d’une relation on peut
générer un formulaire permettant l’insertion d’un tuple dans cette relation.
Pour l’instant la passerelle est implantée sous forme d’un programme de type
CGI écrit en langage C en utilisant l’interface de programmation Pro*C d’Oracle.
Du côté client, la passerelle se programme via un ensemble de variables dont le nom
est fixé (par exemple UID pour la chaîne de connexion Oracle, SQLSTATEMENT
pour les instructions SQL que l’on veut interpréter, …).
Pour augmenter les fonctionnalités de la passerelle, nous avons introduit
plusieurs modes d’interaction :
-mode normal : la passerelle interprète les instructions SQL et habille le résultat
en HTML ;
-modes insertion/suppression/mise à jour : la passerelle génère un formulaire
HTML et du code Javascript permettant l’insertion/suppression/mise à jour d’un
tuple dans une relation donnée en paramètre ;
-mode QBE : la passerelle génère un formulaire HTML et du code Javascript
permettant l’interrogation de type QBE d’une relation donnée en paramètre ;
-mode hypertexte : la passerelle interprète les instructions SQL et s’il s’agit de
requêtes de type SELECT, elle génère pour chaque valeur de clé étrangère un
formulaire qui va permettre l’accès au tuple pointé par la clé. Ce mode permet de
naviguer «à la hypertexte » dans une base de données via les clés étrangères ;
-mode copie : la passerelle interprète une requête de type SELECT et génère
pour chaque valeur retournée un formulaire qui permet la recopie de cette valeur
dans une variable du formulaire. Ce mode permet la construction de menus
déroulant dont les valeurs sont extraites de la base de données.
4. Bilan et perspectives
Cet environnement de prototypage est complètement opérationnel et a été utilisé
dans de nombreux projets d’élèves de l’INT depuis maintenant plusieurs années.
Nous avons, par exemple, développé un interprète SQL entièrement web qui nous
permet de ne plus utiliser de produits comme sqlplus d’Oracle. Nous l’utilisons
aussi dans le cadre de travaux pratiques et il permet de faire réaliser aux élèves une
application base de données dans un délai très court (3 à 6 heures). Il est également
utilisé dans le cadre d’applications de gestion internes à l’INT. Il est disponible sur