Vous êtes sur la page 1sur 9

chapitre 1

Architectures web/bases de donnes


I - Page web simple : HTML statique
Le code HTML est le langage de base pour concevoir des pages destines tre publies sur le rseau Internet ou intranet. Ce n'est pas un langage de programmation mais un simple outil de description de documents web. Une page en HTML peut contenir un certain nombre d'objets (textes, images, sons, vidos,...) qui seront affichs ainsi que des instructions de mise en page qui dterminent la faon dont ces objets seront affichs. Lexemple suivant utilise une page web utilisant le code HTML

Lorsque le client lance une requte pour accder cette page (en cliquant sur un lien ou en tapant lURL correspondant). Le serveur, quelque part sur le rseau Internet ou Intranet, renvoie la rponse en format HTML. Pour une requte simple, la procdure est illustre sur la figure suivante.

Le dialogue entre le serveur et le poste client s'effectue, en ralit, entre un logiciel serveur (voir plus loin) et un programme client que nous appelons tous un navigateur, grce auquel un utilisateur du web peut demander et consulter trs simplement des documents. Ce dialogue s'effectue selon des rgles prcises qui constituent un protocole. Le protocole de web est le HTTP (HyperText Transfert Protocol = protocole de transfert hypertexte). Il est bas sur le protocole TCP/IP et permet de dfinir le format, le contenu et l'ordre des messages changs entre le client et le serveur. Comme tous les messages sont changs sous forme de chanes de caractres ASCII, le protocole HTTP est largement multi-plateforme. La communication entre client et serveur web s'effectue de la manire suivante :

file:///C|/TBM/T4/d_session1.htm (1 sur 9) [08/04/2003 13:07:24]

chapitre 1

le client envoie un message de requte au serveur web. Ce dernier y rpond par un message de rponse. Le protocole HTTP organise la structure de ces messages. Lors de l'envoi, une connexion TCP/IP est tablie avec le serveur web. Si celui-ci peut fournir la page demande, le document est retourn, en format HTML, par la mme connexion, qui est ensuite referme. N.B. Il est possible de communiquer avec un serveur via d'autres protocoles, comme FTP qui permet d'changer des fichiers ou SMTP protocole simple de transfert de courrier, POP, IMAP,... Les pages web statiques sont des documents en HTML invariables prpares lavance. Le serveur renvoie ces pages lutilisateur mais neffectue aucune action particulire. Le code source de la page affiche par le navigateur sur le poste client est identique au code source de la page web installe sur le serveur. Les avantages du code HTML statique :

1. le code HTML est facile comprendre, corriger et produire. 2. tous les navigateurs, en principe !, sont capables de lafficher correctement !! 3. les requtes sont traites rapidement par le serveur en utilisant moins de ressources.
ses inconvnients :

1. il est difficile de faire voluer les pages web (imaginez la mise jours des annuaires ou moteurs de
recherche s'ils utilisaient que HTML statique !!)

2. manque dinteractivit 3. les contenus ne sont pas personnaliss la demande du client


Pour ces raisons, le code HTML statique nest plus "la mode" et ne peut plus rpondre aux exigences lies la cration, lanimation et la mise jour dun site web "moderne" (ou plutt professionnel). De nombreuses technologies complmentaires ont t dveloppes pour rpondre ces limites. Du cot client (client side) : on trouve Javascript, Jscript, Vbscript, Les feuilles de style en cascade le DHTML, XML, XSL, les applettes Java,... Lutilisation de scripts cot client ne doit pas laisser penser que lon se trouve en prsence d'un vrai site dynamique. Exemple 2 Les deux pages ci-dessus, avec et sans langage javascript, s'afficheront da la mme faon

file:///C|/TBM/T4/d_session1.htm (2 sur 9) [08/04/2003 13:07:24]

chapitre 1

II -Page dynamique : Script ct serveur


Le contenu des pages web dynamiques sont crs en rponse une demande bien prise d'un utilisateur du web. Les pages web dynamiques font appel un langage de programmation. Ce langage est li des technologies autorisant la connexion aux bases de donnes. On note, titre dexemple, le CGI, ASP, PHP, IDC/HTX, etc. La transmission des donnes, qui s'afficheront par la suite sur le poste client, sont lies l'excution d'un certain nombre d'instructions (scripts) sur le serveur et on parle donc des scripts cot serveur.

Comment cela se passe-il ?


Le dialogue entre le poste client et le serveur, dans le cas des scripts cot serveur, est schmatis dans la figure suivante :

Du client vers le serveur

file:///C|/TBM/T4/d_session1.htm (3 sur 9) [08/04/2003 13:07:24]

chapitre 1

Lutilisateur remplit un formulaire en ligne ou clique sur un lien dynamique. Les donnes sont envoyes au serveur web. Ce dernier est gr par un logiciel serveur appel aussi serveur httpd

Quelques

logiciels serveurs

IIS (Internet Information Serveur) est un serveur Web/Ftp/Gopher - Apache : logiciel libre, donc gratuit et dont le code source est ouvert donc disponible. - HTTPD, le serveur de Bob Denny - WebSite - NCSA httpd - CERN httpd - Serveur Web Personnel Server (PWS) - ...

Le logiciel serveur ragit en transmettant les donnes un script en vue de leur traitement, en se connectant, puis en interrogeant une base de donnes.

Du serveur vers le client :


Les pages web sont assembles partir des rsultats produits par le serveur de donnes et renvoyes lutilisateur dans une enveloppe http, en format HTML. Lorsque les donnes arrivent sur le poste client, le navigateur fait de son mieux pour les afficher. Le travail le plus important dcriture de script cot serveur consiste connecter le serveur web au serveur de donnes dont larchitecture et le type peuvent tre diffrents. (Si les moyens ne permettent pas d'avoir deux serveurs diffrents, une seule machine peut tre serveur web et serveur de donnes !).

III - Diffrentes technologies Web / Bases de donnes


Il existe plusieurs modles darchitecture web coupls aux bases de donnes :
q

Laccs aux bases de donnes via les scripts CGI (Common Gateway Interface) laccs aux bases de donnes via les API (Application Programming Interface = Interface de programmation dapplication) laccs aux bases de donnes via les Middleware ...

Il y a donc plusieurs approches dont le choix dpend du serveur web et du systme dexploitation utiliss.

III-1 Common Gateway Interface (CGI)


La premire technique utilise est le standard multiplateforme CGI (Common Gateway Interface) : programme crit en shell, C ou le Perl. Ce dernier reste le langage typique de gestion des requtes formules par une page web. Le CGI peut tre une application excutable qui offre dautres possibilits que la rcupration de donnes. Il permet de tirer partie dautres fonctionnalits du systme dexploitation. Le serveur web envoie les informations du navigateur web sous la forme de chanes de caractres, et lapplication

file:///C|/TBM/T4/d_session1.htm (4 sur 9) [08/04/2003 13:07:24]

chapitre 1

CGI renvoie une chane de contenant le code HTML de la page retourner au navigateur. La figure ci-dessous schmatise la transmission des donnes dans le cas des scripts cot serveur utilisant le script CGI.

Un programme CGI peut tre crit dans de nombreux langages. La seule condition est en fait, que le langage choisi puisse tre excut sur une ligne de commande sans faire appel un autre programme. On utilise sous UNIX les langages PERL, C, C++,shel, Fotran, Pascal, sous windows on utilise le C, le C++, visual Basic et sur le Macintosh, essentiellement AppleScript. Si les scripts sont crits dans un langage de programmation qui demande tre compil (C, C++, Fortran, Pascal), les fichiers sources se trouvent gnralement dans le rpertoire /cgi-src, mais les fichiers compils sont dans le rpertoire /cgi-bin. Si les scripts sont crits dans un langage de programmation directement interprtable (PERL, shel UNIX, AppleScript,), ils doivent se trouver dans le rpertoire /cgi-bin. Dans tous les cas (surtout sous UNIX), il faut vrifier que les fichiers possdent bien les permissions dexcution.

III-2 Accs aux bases de donnes via les middleware


Un middleware est un traducteur qui met en relation deux programmes essayant de changer des informations. Utiliser cette technique consiste dvelopper une couche logiciel entre lapplication et le rseau. Exemple : La figure suivante illustre les aspects essentiels d'une communication client/serveur utilisant un middleware

file:///C|/TBM/T4/d_session1.htm (5 sur 9) [08/04/2003 13:07:24]

chapitre 1

Le SGBD Sybase utilise un middleware, nomm Adaptive Server.

III-3 Accs aux bases de donnes via les API

Cette technologie est plus rcente, il existe deux formes dAPI (Application Programming Interface) auxquelles se conforment les principales bases de donnes : NSAPI de Netscape et ISAPI (Internet Server Application Programming Interface). Ce mode daccs est trs utilis, actuellement, mais il reste trs li aux types de serveurs http et aux bases de donnes. En effet, les ISAPI sont une interface propre Microsoft. Si on utilise IIS (Internet Information Serveur) de windows NT ou un autre serveur compatible. ISAPI permet dutiliser un ensemble de fonctions utilisables depuis la plupart des langages de programmation. Ces fonctions permettent de rcuprer les informations en provenance du navigateur et de lui transmettre en retour des pages gnres dynamiquement. ISAPI se connecte aux bases de donnes en utilisant une connexion spciale.

file:///C|/TBM/T4/d_session1.htm (6 sur 9) [08/04/2003 13:07:24]

chapitre 1

Cette connexion a besoin dune combinaison matriel-logiciel entre la base de donnes et le monde extrieur. Elle utilise une couche de traduction adquate permettant les mouvements de donnes entre Internet et la base de donnes. Pour mettre en place physiquement cette connexion, la machine serveur doit disposer dun logiciel de connexion lInternet qui supporte la connexion ODBC (IIS, website, PWS, ...).
III 4 - Couche ODBC

Open Database Connectivity est une interface standard daccs des bases de donnes htrognes (sql Server, access, oracle, DB2, dbase,) . La communication seffectue via un pilote (driver) qui effectue le lien entre un moteur de script et le SGBD. La configuration de la couche ODBC est dcrite dans le lien suivant.
Il est possible de se connecter directement lAPI dInternet Information Serveur en crant une bibliothque de liens dynamiques (DLL Dynamic Link Library) au standard Windows. Cependant, on peut utiliser la technologie ActiveX (OLE), rfrence sous le nom de OLEISAPI (API OLE dInternet Server), ce qui ncessite la cration dun serveur OLE Automation. Un serveur OLE Automation est essentiellement une collection dobjets programmables en vue dexcuter certaines tches. On peut utiliser Visual Basic pour crer des DLL de type serveur OLE. La figure ci-dessous schmatise la transmission des donnes dans le cas des scripts cot serveur utilisant lapplication OLEISAPI.

file:///C|/TBM/T4/d_session1.htm (7 sur 9) [08/04/2003 13:07:24]

chapitre 1

OLEISAPI a ouvert la cration de pages dynamiques au moyen dune DLL ActiveX compile. Toutefois, la technique de transmission de donnes et de mise en oeuvre laquelle elle a recours nest performante et efficace que pour des taches mineures et les oprations effectues sur les intranets (contrairement aux sites Internet volumes levs). Par ailleurs, l aussi, chaque modification apporte la page ou marquage exige une nouvelle compilation de la DLL.

Conclusion :
A la fin de chaque cours presentiel les tudiants me pose la question suivante : Qu'est ce qui dtermine le choix d'une solution d'interfaage entre un serveur web et un systme de gestion de bases de donnes ? la ralisation et l'exploitation d'un site web professionnel impliquent le couplage de comptences de deux acteurs principaux :
q

L'administrateur systme qui s'occupe de la configuration, de la gestion et de la maintenance de serveurs et de systmes d'exploitation. Il veillera au bon fonctionnement du serveur web en fonction de la surcharge du processeur, il travaillera directement avec les webmaster pour allger le site et faciliter son chargement. l'administrateur de base de donnes qui prend en charge la conception et, l'organisation et l'optimisation des bases de donnes dclarer sur le systme.

le choix de la technologie de l'interfaage web/SGBD dpendra de ces acteurs qui tiendront compte de :
q

contexte d'exploitation contraintes techniques lies aux matriel, architecture et la plate-forme la taille de site, la nature des donnes la maintenance, l'volution technologique, et l'accs rapide aux donnes

file:///C|/TBM/T4/d_session1.htm (8 sur 9) [08/04/2003 13:07:24]

chapitre 1

Perl fut le premier langage de script ct serveur. Depuis, dautres ont t mis au point : ASP (Active Server Page), IDC (Internet Database Connector, voir cours de Mr Cochard), PHP (Personnel Home Page), Il existe galement des langages conus pour certains types dutilisateurs : par exemple, TCL facilite les calculs mathmatiques complexes dans le domaine des sciences.

file:///C|/TBM/T4/d_session1.htm (9 sur 9) [08/04/2003 13:07:24]