8/3/2019 procedure de stockage et organisation des donnes
1/26
SIMES Deliverable 6.1 1
SIMES - 961620Systme dInformation MultimdiaPour lEnvironnement Subsaharien
Proddures de stockage et dorganisation desdonnes dans une base de donnes Deliverable number : D6.1
Nature:PContractual Date of Delivery: 14 November 1998
Task WP1.2 : Acquisition, stockage et pr-traitement des donnes
Nom du rdacteur Mouhamed Tidiane SECK Alex CORENTHIN
Institut ESP-DAKAR
Adress Dakar
[email protected]@uc ad.sn
Abstract:
Le prsent rapport tablit les diffrents mcanismes qui seront mis en place afin : Dtablir des liens de transfert ou dextraction avec les bases de donnes existantes contenant les donnes
ncessaires aux indicateurs pertinents du projet, telles que dcrites dans le dlivrable Descriptionfonctionnelle des donnes stockes , tout en tenant compte de lhtrognit des bases de donnes et de
lvolutivit du systme. Dorganiser et de stocker ces donnes dans une base de donnes centralise dont la copie matresse serainstalle l E.S.P. de Dakar. Cette base de donnes, couple un serveur WEB permettra daccder auxinformations travers Internet. Lobjectif du projet est de crer une interface WEB adapte au typedutilisateur et la nature des requtes soumises au systme. Pour y parvenir, nous nous appuierons sur lestravaux effectus par les autres quipes spcialises notamment en matire de traitement dimages, systmesmulti-agents etc
De spcifier et de tester sur un cas concret un prototype permettant dillustrer quelques fonctionnalits debase du futur systme.
The present report establishes the various schemes which will be implemented : To define transfer and extraction links with the existing Data Bases containing the data related to the
relevant indicators, such as the ones described in the deliverable Functional description of the stored
data , by taking into account the heterogeneousness of Data Bases and the evolutivity of the system. To organize and store these data in a centralized Data Base whose master copy will be installed at ESPdakar. This Data Base, linked to a Web server will allow to access to the data via Internet. The goal of theproject is to create a Web interface which suits to potential expected users and requests. To achieve thisgoal, we will rely on work done by other teams in advanced data processing (Image processing, multi-agentsystems).
To specify and to test on an actual case a prototype including some key functionalities of the forthcomingsystem.
8/3/2019 procedure de stockage et organisation des donnes
2/26
SIMES Deliverable 6.1 2
8/3/2019 procedure de stockage et organisation des donnes
3/26
SIMES Deliverable 6.1 3
PROCEDURES DE STOCKAGE ET DORGANISATION
DES DONNEES DANS UNE BASE DE DONNEES
Contenu
AVANT PROPOS...................................................................................................................................................5
1 - IMPORTATION DES DONNES EXISTANTES........................................................................................5
2- STOCKAGE ET ORGANISATION DES DONNES ...................................................................................5
3 - SCHMA DE PRINCIPE DU FUTUR SYSTME.......................................................................................7
4- CRITRES DE CHOIX DE LA PLATE-FORME LOGICIELLE. ...........................................................10
5 - TYPES D'APPLICATION.............................................................................................................................15
6 - DIFFRENTES ARCHITECTURES DE COUPLAGE BASES DE DONNES / WEB........................16
8 - ETUDE DE CAS..............................................................................................................................................19
SOURCE DE LA PAGEHTML................................................................................................................................20SOURCE DU FICHIER DE CONNEXION BASE DE DONNES(IDCASSOCI LA PAGE RSULTAT)...........................23
9 - CONCLUSION................................................................................................................................................25
8/3/2019 procedure de stockage et organisation des donnes
4/26
SIMES Deliverable 6.1 4
8/3/2019 procedure de stockage et organisation des donnes
5/26
SIMES Deliverable 6.1 5
Avant propos
Pour lessentiel, le projet SIMES puise ses donnes dans des sources diverses creset maintenues par des structures autonomes. Ces donnes sont stockes dans desbases de donnes ou sont disponibles sous format numrique.
1 - Importation des donnes existantes
Le systme doit prendre en compte l'htrognit des sources de donnes, nonseulement par rapport au type de donne (fichiers texte, images cartographiques,etc.) mais aussi, par rapport au type de SGBD (Access, Oracle, Foxpro etc.).
Il sagit, dans un premier temps, de choisir un SGBD pivot capable de stocker tous
les types de donnes identifis (alphanumriques, images, animations etc).Ensuite on spcifie les procdures dextraction dinformations en fonction des basesde donnes sources.
Pour cela : Les donnes de base doivent tre disponibles au niveau du site central de lESP-
Dakar. La situation optimale correspondrait celle o toutes les bases dedonnes seraient accessibles par Internet. Dans ces conditions, on pourraitenvisager de vhiculer certaines requtes vers des bases de donnes distantesou d'effectuer des traitements sur des sites distants particulirement adapts.Cette solution est loin de pouvoir tre ralisable court terme car ltat actuel de
la connectivit IP des sites participants au projet SIMES ne permet pasdatteindre les performances requises pour une telle approche. Toutefois, il estnanmoins ncessaire davoir en ligne le plus grand nombre de bases dedonnes.
Les transferts de donnes de la source vers le site centralis seront raliss enutilisant des techniques standard :
1. FTP pour les donnes distantes.2. Techniques dimportation pour les bases de donnes sources offrant une
interface avec le SGBD pivot.3. Lien ODBC pour les bases de donnes sources disposant du driver associ
avec le SGBD pivot.Il faut noter lexistence de drivers ODBC entre tous les SGBD standard dumarch.En ce qui concerne les donnes qui ne sont pas en ligne, le transfert desinformations vers la base de donnes centralise lESP-Dakar se fera laidede disquettes, bandes, ou CDROM.
2- Stockage et organisation des donnes
Dans cette prsentation nous partons de lhypothse que certaines donnesdisponibles sur des sites en ligne ne sont pas dupliques sur le site matre du projet.
8/3/2019 procedure de stockage et organisation des donnes
6/26
SIMES Deliverable 6.1 6
Lensemble des donnes disponibles devra tre organis de sorte optimiser letemps de rponse aux requtes de lutilisateur.
Seront alors stocks sur le site centralis : Les modles de requtes prdfinis fournissant les rsultats les plus
reprsentatifs des donnes et de leurs traitements. Cela servirait par ailleurs deguide sur les potentialits du systme aux utilisateurs dsirant formuler desrequtes spcifiques.
Les donnes de grande taille, comme les images frquemment demandes pardes requtes diffrentes, seraient dupliques sur le site central.
Enfin, toutes les donnes dont les sources ne sont pas en ligne sur Internet.
Pour assurer la validit des rsultats, il sera ncessaire de dfinir une frquence derafrachissement des informations. En effet, toutes les donnes pertinentes du projetne sont pas totalement centralises, cela ncessiterait des grands moyens matriels(grande capacit de stockage) et des procdures lourdes pour assurer les mises
jour partir des donnes relles produites par les sites distants.
8/3/2019 procedure de stockage et organisation des donnes
7/26
SIMES Deliverable 6.1 7
3 - Schma de principe du futur systme
Laccs aux informations du projet SIMES se fera travers le rseau Internet vialinterface WEB.
Le modle global de cette interface distingue trois niveaux :
Le client WEB support par un navigateur standard (Internet explorer ouNetscape etc..).
Le serveur WEB grant les pages HTML La base de donnes contenant les donnes du systme dinformation.
Entre ces trois composantes on fait intervenir diffrentes passerelles et protocolesqui seront tudis dans la suite du document.
De faon classique cest le protocole HTTP qui sert de passerelle entre le client et leserveur WEB, ce dernier joue deux rles essentiels savoir, dune part, stocker lespages HTML en vue de les fournir la demande aux clients WEB, et, dautre part,appeler des applications via linterface CGI pour gnrer des pages HTMLdynamiques vers les clients WEB (cas des formulaires). Cest en particulier traverslinterface CGI que le serveur WEB peut encapsuler des requtes (SQL) vers lesbases de donnes et gnrer comme prcdemment des pages HTML dynamiquescontenant les rsultats souhaits.
Par exemple, pour une application CGI qui gre le traitement des requtes via ODBCon distingue les tapes suivantes :
Choix de la source de la donne Connexion la source Envoi de la requte sous forme dinstructions SQL Rception et traitement des rsultats ventuels de la requte et/ou des
erreurs obtenues. Validation ou annulation de la transaction Dconnexion de la base de donnes.
La figure 1 ci-dessous donne un aperu global du systme propos.
On notera la prsence de deux canaux ODBC, reliant lapplication CGI avec la basede donnes centralise dune part et lensemble des bases de donnes sectoriellesdautre part.
8/3/2019 procedure de stockage et organisation des donnes
8/26
SIMES Deliverable 6.1 8
Lgende
Fig.1 : Systme futur : Organisation des donnes rparties .
Base dedonnesdistante
Base dedonnesdistante
Base dedonnesdistante
SYSTEME CENTRAL ESP-DAKAR
Base dedonnes
centralise
: Mise jour de la base de donnes centralise : Pages HTML statiques
: Envoi requtes SQL et rception rsultats. :Pages HTML interactives (Formulaires)
: Transferts CGI (URL, paramtres, pages)
: Transferts pages HTML : Pages HTML virtuelles
Application CGI
ODBC
Client WEB
BROWSER
Rpertoires HTML
Requtes HTTP
HTTP
Rsultats(pages HTML)
Internet
8/3/2019 procedure de stockage et organisation des donnes
9/26
SIMES Deliverable 6.1 9
Le systme prsent considre que la mise jour de la base de donnes centralisese fera via une liaison ODBC. Bien entendu, dautres possibilits existent dont enparticulier limportation de donnes pralablement transfres sur le site central viaFTP.
Les utilisateurs envoient leurs requtes au serveur web en utilisant leur navigateurprfr, sur lequel seront galement affichs les rsultats de ces requtes.Suivant la nature de la requte, le protocole HTTP pourra fournir lutilisateur lesrsultats suivants :
Une page statique Un formulaire, dont les zones de saisie seront renseignes par lutilisateur,
informations qui seront transmises comme paramtres lapplication CGI. Une page virtuelle gnre par lapplication CGI.
Le serveur Web de lESP-Dakar aura donc grer trois types de pages HTML : Les pages statiques, par exemple la page daccueil du site SIMES. Leur mise
jour ne peut se faire que par modification du fichier HTML correspondant. Les pages interactives, ou formulaires, qui permettent la saisie (dans des zones
ddies cet effet) des paramtres de la requte de lutilisateur. Ces paramtresseront par la suite traits par lapplication CGI et les rsultats seront cherchsdans les bases de donnes via ODBC.
Les pages virtuelles, qui sont cres par lapplication CGI pour rpondre larequte de lutilisateur. Il sagit dun fichier HTML qui servira de modle pourlaffichage des rsultats de la requte. Cette application CGI est appele par unutilisateur travers une requte.
Evidemment, le serveur Web peut inclure des pages HTML hybrides, qui partagentles caractristiques des pages dcrites plus haut. Par exemple, partir de la pagevirtuelle reprsentant le rsultat de la demande dune carte hydrographique delAfrique, on pourrait saisir comme paramtres les coordonnes de la rgion surlaquelle on veut un zoom, la page servant ainsi de formulaire. Ces paramtrespourront par la suite tre utiliss par un script CGI afin deffectuer le zoom de la zonedemande, puis dafficher le rsultat partir dune page virtuelle.
Il serait aussi intressant de produire des rsultats de requtes en fonction du profilde lutilisateur. Les avantages de ces pages dynamiques ne sont pas ngligeables :
outre une meilleure convivialit, les ressources du serveur sont optimises carcertaines oprations comme des mises en forme ou des tris sont alors totalementexcutes sur lordinateur du client. Le serveur web se trouverait ainsi libr decertaines tches encombrantes et/ou rptitives.
Sur tous ces aspects concernant les pages HTML, il reste rsoudre le problme dumaintien de leur cohrence. Les investigations que nous avons dj effectues sur leplan bibliographique nous conduisent penser que ce thme peut constituer un desthmes de recherche que nous pouvons prendre en charge.
8/3/2019 procedure de stockage et organisation des donnes
10/26
SIMES Deliverable 6.1 10
4- Critres de choix de la plate-forme logicielle
Chaque partenaire du projet SIMES a bien videmment acquis une exprience surune plate-forme particulire.Il serait ainsi illusoire de mettre tout le monde sous le mme moule. Nanmoins, ilnous a paru utile de donner quelques indications sur les tendances au niveauinternational.
Fig 2 : Croissance des serveurs Web dAot 1995 Septembre 1998 (en nombre de serveurs) Source :Netcraft WebServer Survey http://www.netcraft.co.uk/survey/
Nous nous sommes rfrs ltude du Netcraft WebServer Survey qui prend enconsidration plusieurs critres comme la rapidit et la scurit du serveur. Dans cetextrait nous avons retenu les serveurs parmi les plus connus du march. Lenquteporte sur plus de trois millions de serveurs.
Lanalyse de cette courbe montre que le serveur Apache est le plus utilis, suivi decelui de Microsoft IIS fourni avec Windows NT et en troisime position la suiteNetscape. Tous les autres, dont Oracle, sont regroups dans Other .
Un premier choix aurait donc pench vers lun de ces trois serveurs. Mais nousdevons prendre en compte lutilisation massive des bases de donnes paralllement
lutilisation des pages Web, seul domaine pris en compte dans lenqute cite plushaut.
Dans ces conditions, la solution Oracle intgrant la fois un serveur WEB et unSGBD performant ou des solutions comme O2 qui fournissent des solutionsintgres bases sur lapproche objet, ne sont pas carter.
Le tableau ci-dessous tabli un comparatif de quatre serveurs WEB candidats.Les indications portent essentiellement sur les caractristiques gnrales, les prix,les systmes dexploitations supports, la scurit, louverture aux interfacesstandard.
8/3/2019 procedure de stockage et organisation des donnes
11/26
SIMES Deliverable 6.1 11
ORACLE APACHE MICROSOFT NETSCAPENom du Serveur Oracle Web
Application ServerApache Internet Information
ServerNetscape Server
Version 3.01 1.3 4.0 3.5.1Vendeur Oracle Corp. The Apache Group Microsoft Corp. Netscape
CommunicationsCorp
Meilleurescaractristiques
Environnementpour ledveloppementdapplications
Rapide, supportpublic pour ledveloppement
Pages ASP,compatibleMicrosoft APIs etdriver ODBC
Java run-time (JDK1.1).Convertit PDF enHTML.Compatible LDAP,Oracle et Informix
Prix appeler Oracle Gratuit Gratuit avec NT 4.0option pack
$1,295
Systmedexploitation
HPUXWindows NTWindows 95Solaris
NetBSDDigital UNIXBSDIAIXOS/2SCOHPUXWindows NTLinuxFreeBSDIRIXSolaris
Windows NT Digital UNIXAIXHPUXWindows NTIRIX
Dmarrage etconnexion
- Peut crire desconnexionsmultiples- Les fichiers deconnexion peuventtreautomatiquementrecycls ouarchivs- Le serveur peutgnrer descommentaires- Connexions demesure de
performances- Les scripts CGIpeuvent crer leurpropre connexionCERN/NCSA- Format deconnexion commun- Sexcute commeun service et/ouapplicationWindows NT- Peut sexcuter partir de inetd (pour
les systmes Unixet OS/2)- Peut couter
- Peut crire desconnexionsmultiples- Les fichiers deconnexion peuventtreautomatiquementrecycls ouarchivs.- Le serveur peutgnrer descommentairesLes scripts CGI
peuvent crer leur
propre connexionPeut servir desrpertoires racinediffrents pour desadresses IPdiffrentesCERN/NCSA- Format deconnexion commun- Sexcute commeun service et/ouapplicationWindows NT
- Peut sexcuter partir de inetd (pourles systmes Unix
- Peut crire desconnexionsmultiples- Les fichiers deconnexion peuventtreautomatiquementrecycls ouarchivs.- Le serveur peutgnrer descommentaires.Les scripts CGI
peuvent crer leur
propre connexionPeut servir desrpertoires racinediffrents pour desadresses IPdiffrentesCERN/NCSAFormat deconnexion communSexcute comme
un service et/ouapplicationWindows NT
Peut couter desadresses et portsmultiples
- Peut crire desconnexions multiplesLes fichiers deconnexion peuventtre automatiquementrecycls ou archivs- Le serveur peutgnrer descommentaires- Connexions demesure deperformanceLes scripts CGI
peuvent crer leur
propre connexionPeut servir desrpertoires racinediffrents pour desadresses IPdiffrentesCERN/NCSA Formatde connexioncommunSexcute comme un
service et/ouapplication WindowsNT
Peut sexcuter partir de inetd (pourles systmes Unix et
8/3/2019 procedure de stockage et organisation des donnes
12/26
SIMES Deliverable 6.1 12
des adresses etports multiples- Les connexionspeuvent trepersonnalises- Peut chercher un
utilisateur dans uneconnexion- Connexion avecsyslog (Unix) ouEvent Log(Windows NT)- Peut gnrer desconnexions pourdes browsers
et OS/2)- Peut couter des adresses etports multiples- Les connexionspeuvent tre
personnalises- Connexion avecsyslog (Unix) ouEvent Log(Windows NT)- Peut gnrer desconnexions pourdes browsers
- Les connexionspeuvent trepersonnalises.- Connexion avecsyslog (Unix) ouEvent Log
(Windows NT)- Peut gnrer desconnexions pourdes browsers
OS/2)- Peut couter desadresses et portsmultiples- Les connexionspeuvent tre
personnalises- Peut chercher unutilisateur dans uneconnexion- Connexion avecsyslog (Unix) ouEvent Log (WindowsNT)- Peut gnrer desconnexions pour desbrowsers
Scurit - Serveur certifi
intgr- Interdit laccs parle nom du domaine- Excution CGI parUID- Interdit laccs paradresse IPInterdit laccs parutilisateur et groupe- Compatible S-HTTP- Peut changer laliste de contrledaccs delutilisateur sansredmarrer leserveur- Permissionshirarchiques pourles documentsbass sur lerpertoire- Interdit laccs parrpertoire et fichier- Groupesutilisateursconfigurables (passeulement une listedutilisateur unique)Compatible PCT,SSL v. 2, SSL v. 3,Set- Peut ncessitermot de passeLes rgles descurit peuvent sebaser dURLs
Interdit laccs par
le nom du domaineExcution CGI parUIDInterdit laccs paradresse IPInterdit laccs parutilisateur et groupePeut changer laliste de contrledaccs delutilisateur sansredmarrer leserveurPermissionshirarchiques pourles documentsbass sur lerpertoireInterdit laccs parrpertoire et fichierGroupesutilisateursconfigurables (passeulement une listedutilisateur unique)Peut cacher unepartie dundocument suivantdes rgles descuritCompatible SSL v.2, SSL v. 3Peut ncessitermot de passeLes rgles descurit peuvent sebaser dURLs
Serveur certifi
intgrInterdit laccs parle nom du domaineExcution CGI parUIDInterdit laccs paradresse IPInterdit laccs parutilisateur et groupeCompatible S-HTTPPeut changer laliste de contrledaccs delutilisateur sansredmarrer leserveurPermissionshirarchiques pourles documentsbass sur lerpertoireInterdit laccs parrpertoire et fichierGroupesutilisateursconfigurables (passeulement une listedutilisateur unique)Peut cacher unepartie dundocument suivantdes rgles descuritCompatible SSLv.2, SSL v. 3, SetPeut ncessitermot de passeLes rgles descurit peuvent sebaser dURLs
Serveur certifi
intgrInterdit laccs par lenom du domaineInterdit laccs paradresse IPInterdit laccs parutilisateur et groupeCompatible S-HTTPPeut changer la listede contrle daccsde lutilisateur sansredmarrer le serveurPermissionshirarchiques pour lesdocuments bass surle rpertoireGroupes utilisateursconfigurables (passeulement une listedutilisateur unique)Peut cacher unepartie dun documentsuivant des rgles descuritCompatible SSL v.2,SSL v. 3, SetPeut ncessiter motde passeLes rgles de scuritpeuvent se baserdURLs
8/3/2019 procedure de stockage et organisation des donnes
13/26
SIMES Deliverable 6.1 13
Autrescaractristiques
Agit aussi commeserveur proxyHTTPOutils interactifsinclus
Accs direct (sans-CGI) au SGBDMoteur derechercheMaintenance
distance
le code sourcecomplet du serveurinclusAgit aussi commeserveur proxy
HTTPOutils interactifsinclusAccs direct (sans-
CGI) au SGBDMaintenance distanceMoteur derecherche
Sert aussi dautresprotocoles TCPOutils interactifsinclusAccs direct (sans-
CGI) au SGBDMaintenance distanceMoteur derecherche
Outils interactifsinclusAccs direct (sans-CGI) au SGBDMaintenance
distanceMoteur de recherche
Tab 1 : Comparaison dtaille entre les serveurs Web Oracle, IIS, Apache et Netscape. Source : WebServer Directory http://Webserver.internet.com
Il apparat, en conclusion de cette comparaison que ces quatre serveurs offrent peu de choses prs les mmes fonctionnalits pour la gestion de pages HTML, lascurit et la conformit par rapport aux standards.
Nous ajoutons quelques commentaires sur la manire dont ces diffrents serveursgrent des accs aux bases de donnes, locales comme distantes.
On retrouve ici la dichotomie entre le monde Unix, majoritairement occup par lesserveurs Appache et Netscape. Les accs bases de donnes sont raliss par desapplications CGI gnralement crites en PERL et dans une moindre mesure enJava, C ou C++.En revanche, dans le monde Microsoft on trouve majoritairement le serveur IIScoupl des bases de donnes comme SQL server, Oracle ou Access pour lespetites applications. La connexion la base de donnes se fait par l intermdiairedODBC et les applications CGI sont crites en Vbscript, Javascript ou par destechniques propritaires comme IDC (Internet database connector) ou ASP (activeserver pages). La mthode IDC utilise des fichiers dextension .idc qui contiennent des
instructions SQL. LURL envoy par le navigateur nest plus le nom dune pageHTML mais le nom dun fichier .idc avec les paramtres ncessaires. Une foisces instructions SQL excutes au niveau de la base de donnes, le rsultat estenvoy au navigateur en utilisant comme modle un fichier dextension .htx.
Plus puissante, la mthode ASP consiste incorporer des scripts (en VBScript ,JavaScript ou PERL) dans les pages HTML, ce qui donne plus de facilits auprogrammeur. Toutefois, laccs aux bases de donnes est ici plus complexe :Les pages ASP se connectent aux bases de donnes via des composantsActiveX.
8/3/2019 procedure de stockage et organisation des donnes
14/26
8/3/2019 procedure de stockage et organisation des donnes
15/26
SIMES Deliverable 6.1 15
Le Web Listener est un dmon HTTP, qui reoit les requtes de lutilisateur sousforme dadresses URL. Ce listener peut tre un serveur web quelconque Apache, IISou le listener fourni par dfaut avec Oracle Web Application Server.
Le web Listener cherche ensuite les pages HTML et formulaires demands par la
requte de lutilisateur. Quand une requte ncessite des accs aux bases dedonnes, le Web Listener ladresse au Web Request Broker (WRB).
Suivant la nature de la requte reue, le WRB se chargera daccder la base dedonnes puis de gnrer une page virtuelle contenant les rsultats.Pour cela, le WRB utilise des modules de routines livres avec le systme. Le module PL/SQL, qui excute des procdures PL/SQL dans des bases de
donnes. Le module Jweb, qui permet dexcuter des procdures Java ou se connecter
des bases de donnes, en utilisant JDBC. Le module ODBC, permettent dexcuter des requtes SQL vers des bases de
donnes offrant cette connexion. Le module C, pour excuter des modules C. Le module LiveHTML, permettant dinterprter et gnrer des pages dynamiques
contenant des scripts Perl . Le module Perl, pour excuter des modules Perl.
5 - Types d'applications
Comme nous l'avions soulign plus haut, les applications web dynamiquesfournissent une information actualise. Dans ce cas, il existe une interaction entre lenavigateur et la base de donnes. Mais lexamen de la nature de cette interactionpeut rvler une certaine complexit qui requiert de faire une analyse pralable surla nature de l'applicatif (transactionnelle ou interactive).
Cas d'une application transactionnelle
Lorsqu'il s'agit d'accder une base de donnes en temps rel, on se heurte auconcept de transaction, le web devient vritablement dynamique, et les applicationsfonctionnent comme des applications Client-Serveur. Une telle architecture ncessite
d'interfacer le serveur web avec un moniteur transactionnel charg de dialoguer avecle serveur de bases de donnes. Pour ce type d'application, variante du Client-Serveur de prsentation, le dveloppement s'effectue depuis un environnementutilisant un langage de quatrime gnration (L4G). Cest le cas dOracle qui permetde gnrer des applications transactionnelles dont les interfaces clientes sontdirectement accessibles partir dun navigateur Web.
Cas d'une application interactive
Il s'agit d'applications pour lesquelles le temps de rponse nest pas un facteurcritique. Pour cela, il existe des automates d'interfaage Web/SGBD. Ces outilspermettent au concepteur de disposer de composants pralablement dfinis dans unenvironnement visuel. Microsoft propose notamment lIDC que nous dtaillerons plus
8/3/2019 procedure de stockage et organisation des donnes
16/26
8/3/2019 procedure de stockage et organisation des donnes
17/26
SIMES Deliverable 6.1 17
vers les accs ASP (Active Server Pages) et IDC (Internet Database Connector)pour raliser nos premiers tests.
L'accs ASP
Les ASP (en franais Pages de Serveur Actives) sont des scripts (applications
dynamiques performantes et totalement interactives) excuts depuis un serveurweb intgrant la technologie ASP. Ici, le problme de compatibilit du Browser Clienten fonction du langage utilis pour script ASP ne se pose plus.
Il convient nanmoins de prciser qu'un script ASP est du code cheval entreHTML et les langages de programmation tels que JavaScript, VBSript et JAVA. Lecode HTML tant gnralement utilis pour la mise en forme et les liens hypertextes,tandis que les langages de programmation sont utiliss pour donner aux ordinateursune srie d'instructions complexes.
L'intrt que nous portons l'ASP rside dans sa simplicit et sa flexibilitd'intgration de langages tels que VBScript, Jscript, REXX, PERL, JAVA et les
composants ActiveX, dans un mme document. Les rsultats satisfaisants djobtenus avec la technologie IDC/HTX nous ont pousss effectuer nos premiersdveloppements.
L'accs IDC/HTX
IDC est un lment d'Internet Information Server de Microsoft. Il correspond unfichier DLL (httpodbc.dll) qui s'appuie, comme son nom l'indique, sur le standardODBC (Open DataBase Connectivity). L'intrt de cette approche est que cettepasserelle fonctionne avec n'importe quel SGBD possdant un driver ODBC, ce quien fait une solution gnrique adaptable diffrents contextes d'application (basesSQL Server, Oracle, ACCESS...).
Les diffrents composants de cette solution s'interfacent de la faon suivante :deux types de fichiers sont utiliss par httpodbc.dll pour transmettre une requte labase de donnes et permettre l'affichage des rsultats. Les fichiers InternetDatabase Connector (.idc) permettent l'accs la base de donnes et l'excutiondes requtes, et les fichiers modles d'extension HTML (.htx) assurent laprsentation des rsultats sous forme de pages HTML.
Le fichier IDC indique la source ODBC laquelle on veut accder, les informationsncessaires l'identification d'un utilisateur, la requte soumettre au SGBD, et lefichier qui contient la prsentation HTML respecter pour visualiser le rsultat de larequte.
Exemple de Fichier IDC :
Datasource: SoucreUsername : nomPassWord : mot_de_passeTemplate: fichier.htxSQLStatement:+ SELECT nom , prenom FROM utilisateur WHERE pays = 'Sngal'
Ceci est un exemple simple de consultation. Le mme principe peut tre appliqu
pour des consultations plus complexes ou la mise jour d'informations via lesprocdures stockes de SQL Server.
8/3/2019 procedure de stockage et organisation des donnes
18/26
SIMES Deliverable 6.1 18
Dans ce cas, on peut crer un formulaire HTML qui rfrence un fichier IDCauquel les valeurs saisies sont passes en paramtre. La commande SQL du fichierIDC passera son tour les paramtres la procdure stocke.
Les procdures stockes permettent ainsi de dvelopper des applications pluscomplexes. Elles assurent une vrification des valeurs saisies, l'insertion/la mise
jour/la suppression de lignes sur plusieurs tables en une seule transaction, et ellesamliorent les scurits d'accs en limitant par exemple les permissions accordesau compte utilisateur Internet.
Un fichier HTX contient la prsentation HTML respecter pour visualiser lersultat d'une requte. C'est donc une page HTML contenant des balises standard,compltes de zones spcifiques qui seront remplaces par les informations issuesde la requte (les zones spcifiques sont matrialises par ).
Exemple de Fichier HTX :
Les mots-clefs entre les balises sont interprts et remplacs par lesinformations trouves dans la base sous forme de listes.
En reprenant le schma d'interaction des composants d'Internet DatabaseConnector, nous positionnons les fichiers HTX et IDC de la faon suivante : cetteoffre de connexion entre le serveur Web et un SGBD est un exemple d'extensionISAPI d'Internet Information Server, extensions propritaires qui remplacent lestandard CGI.
8/3/2019 procedure de stockage et organisation des donnes
19/26
SIMES Deliverable 6.1 19
8 - Etude de cas
Le Centre de Suivi Ecologique ( CSE ), partenaire privilgi du projet SIMES surlOpration pilote Valle du fleuve Sngal nous a sollicit pour laider dvelopper un site WEB coupl une base de donnes Access. Cest pourquoi
l'ensemble des applications ont t ralises et tests sur un projet du CSE o il at question de la " Mise en place d'un systme d'interrogation distance d'une base de Mta Donnes pour le Systme d'Information sur la Dsertification ".
Figure 4 : le modle relationnel
8/3/2019 procedure de stockage et organisation des donnes
20/26
SIMES Deliverable 6.1 20
Figure 5 : Exemple de requte envoye vers la base de donnes via un formulairesur le web
Source de la page HTML
Formulaire de recherche par mots cls et zone
Systmed'Informations sur la Dsertification (SID)
Formulaire derecherche dans la base de mtadonnes
8/3/2019 procedure de stockage et organisation des donnes
21/26
SIMES Deliverable 6.1 21
Type :
CarteImageTexteTableauAutres
Mots cls :
DakarSaint-LouisFerloDpartement DaganaRgion Saint-LouisDpartement DaganaDelta du fleuve Sngal
OuEt
Ressources NaturellesAmnagement du territoireSociologie RuraleAcridiensActeur de l'conomieActivits privesAgriculture
8/3/2019 procedure de stockage et organisation des donnes
22/26
SIMES Deliverable 6.1 22
Figure 6 :modle du fichier HTX rsultat
Code HTML associ la page Rsultat (figure 6)
< !DOCTYPE HTML PUBLIC " -//IETF//DTD HTML//EN " >< html >
< head >< meta http-equiv=" Content-Type " content=" text/html; charset=iso-8859-1 " >< meta name=" GENERATOR " content=" Microsoft FrontPage 3.0 " >
< title >Rsultat de la requete< /title >< /head >
< body bgcolor=" #F0DC9F " >
< p >< /p >
< p align=" center " >< font size=" 7 " >< em >< strong >< u >Rsultat de larequte< /u >< /strong >< /em >< /font >< /p >< div align=" center " >< center >
< table border=" 2 " >< tr >
< td align=" center " >< p align=" center " >< strong >Mot cl< /strong >< /td >< td align=" center " >< strong >Disponible < /strong >< /td >< td align=" center " >< strong >Acronyme< /strong >< /td >< td align=" center " >< strong >Type< /strong >< /td >< td align=" center " >< strong >Titre < /strong >< /td >< td align=" center " >< strong >URL< /strong >< /td >< td align=" center " >< font size=" 3 " >< strong >Nom de la zone< /strong >< /font >< /td >
< /tr >< %begindetail %> < tr >
< td align=" center " >< %mot_cl %>< /td >
< td align=" center " >< %Nom%>< /td >
< td align=" center " >< %Acronyme %>< /td >
< td align=" center " >< %CLType %>
< /td >< td align=" center " >< %Intitul %>
< /td >
8/3/2019 procedure de stockage et organisation des donnes
23/26
SIMES Deliverable 6.1 23
< td align=" center " >< a href=" http://196.1.95.173/< %Chemin %> " >< %Chemin %>< /a >< /td >< td >< %nom_zone %>
< /td >< /tr >
< %enddetail %>< /table >< /center >< /div >< /body >
< /html >
Source du fichier de connexion base de donnes (IDC associ la page rsultat)
Datasource: SourceTemplate: rechzone.htxSQLStatement: SELECT mots_cls.mot_cl, Organisme.Nom, Organisme.Acronyme,Donne.Chemin, Donne.Intitul, zone_geo.nom_zone, Donne.CLType+FROM (Organisme INNER JOIN (Donne LEFT JOIN zone_geo ON Donne.CodeD =zone_geo.[Code Donne]) ON (Organisme.Nom = Donne.CodeC) AND(Organisme.Nom = Donne.CodeP)) INNER JOIN mots_cls ON Donne.CodeD =mots_cls.[code donne]+WHERE (((mots_cls.mot_cl) In ('%motcle1%')) AND ((Donne.CLType) In(%type%))) %choix% ((zone_geo.nom_zone) In ('%zone%'));
Figure 7 : Rponse la requte envoye (Fichier HTX Rsultat)
A la slection de l'URL le document associ est visualis
8/3/2019 procedure de stockage et organisation des donnes
24/26
SIMES Deliverable 6.1 24
Figure 8 : IMAGES/carte1.gif
Source de la page de rsultat
Rsultat de la requete
Rsultat de larequte
Mot cl
8/3/2019 procedure de stockage et organisation des donnes
25/26
SIMES Deliverable 6.1 25
Disponible AcronymeTypeTitre URLNom de la zone
bilharzioseInstitut Franais de Recherche Scientifique pour le Dveloppement en
CooprationORSTOM-FR3Reprsentation des maladies et recours thrapeutiques chez les peulh et la walo-walo de
Richard Toll et des environs du Lac de Guiers: maladies sexuellement transmises, maladies associes l'eau
Ferlo
9 - Conclusion
Malgr la simplicit de la solution IDC/HTX, nous avons relev de nombreuses
insuffisances telles que : son incompatibilit avec UNIX puisque lie Windows NT; son manque douverture pour raliser des traitements spcifiques autres que les
requtes SQL. Le manque de richesse fonctionnelle inhrent au modle HTX de visualisation
des rsultats.
En plus de cela, lorsque la structure de la base de donnes devient complexe, lacomplexit des requtes saccrot et par consquent les contrles deviennent plusfins et moins facilement interprtables par le serveur. C'est pourquoi, nous avonsdj entam la migration vers des outils de dveloppement plus puissants et multiplates-formes (ASP et JAVA).
Les technologies voques dans ce rapport sont en pleine volution ; parconsquent proposer un choix unique pleinement justifi parat actuellementprmatur.Cest la raison pour laquelle nous proposons de tester trois solutions qui semblent sedgager.
Une solution entirement base sur LINUX avec lassociation du serveur WEBAppache de la base de donne Postgres et du langage Java.
8/3/2019 procedure de stockage et organisation des donnes
26/26
Cette solution offre le double avantage de la quasi gratuit de la plate-formelogicielle et de sa portabilit. En revanche les techniques sous-jacentes ne sontquau dbut de leur dveloppement au sein de lquipe de Dakar.
Une solution entirement base sur Windows NT avec les technologies IDC et
ASP. Cette solution est aujourdhui bien matrise par lquipe de Dakar et cestla raison pour laquelle ltude de cas que nous avons prsent ici repose sur latechnique IDC. Il faut quand mme prciser labandon de la technique IDC et sonremplacement par ASP.
Une solution base sur loffre Oracle V8 et Oracle Web server. Lquipe deDakar possde dj lintgralit du logiciel offert gracieusement par la socitOracle dans le cadre dun appui aux activits pdagogiques et de recherche. Ledploiement de cette solution est galement en cours.
En tant qulment fdrateur de toutes ces solutions, Java apparat comme loutil dedveloppement qui permettrait terme de garantir la portabilit et donc desaffranchir de la contrainte de lunicit de la plate-forme matrielle et logicielle.
Bibliographie :[1] - Le Micro Bulletin CNRS N 74 mai/juin 1998.[2] - Visual Interdev, Joseph ONeil Orsborn/Mc Graw Hill.[3] - Programmation CGI, ShiShir Gundavaram , Editions O Reilly.
Top Related