procedure de stockage et organisation des données

  • Upload
    kfigo6

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

  • 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.