Architectures web/bases de données



Documents pareils
Bases de données et Interfaçage Web

Module BD et sites WEB

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

L3 informatique TP n o 2 : Les applications réseau

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Programmation Web. Introduction

Logiciel Enterprise Guide Version 1.3 Windows

Programmation Internet Cours 4

Expert technique J2EE

WebObjects : des applications dynamiques pour Internet et Intranet. Approche technologique

Mise à jour : Octobre 2011

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

FileMaker 13. Guide ODBC et JDBC

Hébergement de sites Web

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

10. Base de données et Web. OlivierCuré

Services Réseaux - Couche Application. TODARO Cédric

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Implémentation des SGBD

Ingénieur Développement Nouvelles Technologies

DotNet. Plan. Les outils de développement

LES ACCES ODBC AVEC LE SYSTEME SAS

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

NatRcs Ce document présente la liste des nouvelles fonctionnalités de la 7.00, disponible à partir de Mars 2011.

Etude et conception d'une interface Web avec les SGBDs relationnels

Catalogue des Formations Techniques

Curriculum Vitae Francis Morissette Juillet Document confidentiel

Gestion de stock pour un magasin

Rebol, un langage «différent»

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Vulnérabilités et sécurisation des applications Web

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

Notre Catalogue des Formations IT / 2015

Atelier 1. Portails documentaires : BioLib et Cemadoc

Serveur d application WebDev

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

CAHIER DES CHARGES D IMPLANTATION

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Quel ENT pour Paris 5?

Introduction à PHP. Au sommaire de ce chapitre

ASP 3.0 Professionnel

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

contact@nqicorp.com - Web :

Le serveur web Windows Home Server 2011

STATISTICA Version 12 : Instructions d'installation

Sommaire. -1-Computer en bref. Web en bref. Le web 3.0,...la mobilité. Evolution du Web web1.0, web2.0, web2.b, web3.0...

Services sur réseaux. Trois services à la loupe. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Présentation Internet

PROJET DE PORTAIL INTRANET YNNA

Mercredi 15 Janvier 2014

1/ Présentation de SQL Server :

1 LE L S S ERV R EURS Si 5

Langages Standards Web (XSL, XMLDOM, HTML, DHTML, CSS, JavaScript), ASP, C, ESQL-C, Scripts Shell, PL/SQL, C++, C#, ASP.NET

Printer Administration Utility 4.2

Gestionnaire de réseaux Linux et Windows

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Java et les bases de données

Mise en œuvre des serveurs d application

Introduction. autorise la prise en charge de groupes de discussions électroniques

Zope: une plateforme collaborative de développement web open source

Quels fondements, services fonctionnalités et limites de l intranet?

Développement des Systèmes d Information

La version 3.0 de Corman S

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

Introduction à. Oracle Application Express

Configuration Matérielle et Logicielle AGORA V2

Formation Webmaster : Création de site Web Initiation + Approfondissement

L état de l ART. Évolution récente des technologies. Denis Szalkowski Formateur Consultant

Introduction à Sign&go Guide d architecture

Cisco Certified Network Associate

Diffuser un contenu sur Internet : notions de base... 13

Microsoft infrastructure Systèmes et Réseaux

Une famille d'applications permettant à toute organisation d'optimiser le suivi et la gestion de ses ressources internes vous présente

CS REMOTE CARE - WEBDAV

IIS, c est quoi? Installation de IIS Gestion de base de IIS Méthodes d authentification. Edy Joachim,

Petite définition : Présentation :

Cours CCNA 1. Exercices

Hébergement de site web Damien Nouvel

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Surveiller et contrôler vos applications à travers le Web

ADMINISTRATION DE RESEAUX SOUS LOGICIEL «OPEN SOURCE»

RÉF : 2002/COFAX/LP V1.0

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Comment créer des rapports de test professionnels sous LabVIEW? NIDays 2002

Sage CRM. 7.2 Guide de Portail Client

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Compte Rendu d intégration d application

FileMaker Server 14. Guide de démarrage

Fiche de l'awt Sites dynamiques et bases de données

ADMINISTRATEUR WINTEL Dominique MAHIEU 35 ans WINDOWS 2008/2003, ACTIVE DIRECTORY, EXCHANGE, CITRIX, VMWARE

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

Transcription:

Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau 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, vidéos,...) qui seront affichés ainsi que des instructions de mise en page qui déterminent la façon dont ces objets seront affichés. L exemple suivant utilise une page web utilisant le code HTML Lorsque le client lance une requête pour accéder à cette page (en cliquant sur un lien ou en tapant l URL correspondant). Le serveur, quelque part sur le réseau Internet ou Intranet, renvoie la réponse en format HTML. Pour une requête simple, la procédure est illustrée sur la figure suivante. Le dialogue entre le serveur et le poste client s'effectue, en réalité, entre un logiciel serveur (voir plus loin) et un programme client que nous appelons tous un navigateur, grâce auquel un utilisateur du web peut demander et consulter très simplement des documents. Ce dialogue s'effectue selon des règles précises 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 définir le format, le contenu et l'ordre des messages échangés entre le client et le serveur. Comme tous les messages sont échangés sous forme de chaînes de caractères ASCII, le protocole HTTP est largement multi-plateforme. La communication entre client et serveur web s'effectue de la manière suivante : file:///c /TBM/T4/d_session1.htm (1 sur 9) [08/04/2003 13:07:24]

le client envoie un message de requête au serveur web. Ce dernier y répond par un message de réponse. 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 demandée, le document est retourné, en format HTML, par la même connexion, qui est ensuite refermée. 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 préparées à l avance. Le serveur renvoie ces pages à l utilisateur mais n effectue aucune action particulière. Le code source de la page affichée par le navigateur sur le poste client est identique au code source de la page web installée 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 l afficher correctement!! 3. les requêtes sont traitées rapidement par le serveur en utilisant moins de ressources. ses inconvénients : 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 d interactivité 3. les contenus ne sont pas personnalisés à la demande du client Pour ces raisons, le code HTML statique n est plus à "la mode" et ne peut plus répondre aux exigences liées à la création, l animation et la mise à jour d un site web "moderne" (ou plutôt professionnel). De nombreuses technologies complémentaires ont été développées pour répondre à 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,... L utilisation de scripts coté client ne doit pas laisser penser que l on se trouve en présence d'un vrai site dynamique. Exemple 2 Les deux pages ci-dessus, avec et sans langage javascript, s'afficheront da la même façon file:///c /TBM/T4/d_session1.htm (2 sur 9) [08/04/2003 13:07:24]

II -Page dynamique : Script côté serveur Le contenu des pages web dynamiques sont créés en réponse à 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 données. On note, à titre d exemple, le CGI, ASP, PHP, IDC/HTX, etc. La transmission des données, qui s'afficheront par la suite sur le poste client, sont liées à l'exécution 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 schématisé 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]

L utilisateur remplit un formulaire en ligne ou clique sur un lien dynamique. Les données sont envoyées au serveur web. Ce dernier est géré 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 réagit en transmettant les données à un script en vue de leur traitement, en se connectant, puis en interrogeant une base de données. Du serveur vers le client : Les pages web sont assemblées à partir des résultats produits par le serveur de données et renvoyées à l utilisateur dans une enveloppe http, en format HTML. Lorsque les données arrivent sur le poste client, le navigateur fait de son mieux pour les afficher. Le travail le plus important d écriture de script coté serveur consiste à connecter le serveur web au serveur de données dont l architecture et le type peuvent être différents. (Si les moyens ne permettent pas d'avoir deux serveurs différents, une seule machine peut être serveur web et serveur de données!). III - Différentes technologies Web / Bases de données Il existe plusieurs modèles d architecture web couplés aux bases de données : L accès aux bases de données via les scripts CGI (Common Gateway Interface) l accès aux bases de données via les API (Application Programming Interface = Interface de programmation d application) l accès aux bases de données via les Middleware... Il y a donc plusieurs approches dont le choix dépend du serveur web et du système d exploitation utilisés. III-1 Common Gateway Interface (CGI) La première technique utilisée 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 requêtes formulées par une page web. Le CGI peut être une application exécutable qui offre d autres possibilités que la récupération de données. Il permet de tirer partie d autres fonctionnalités du système d exploitation. Le serveur web envoie les informations du navigateur web sous la forme de chaînes de caractères, et l application file:///c /TBM/T4/d_session1.htm (4 sur 9) [08/04/2003 13:07:24]

CGI renvoie une chaîne de contenant le code HTML de la page à retourner au navigateur. La figure ci-dessous schématise la transmission des données 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 exécuté 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 généralement dans le répertoire /cgi-src, mais les fichiers compilés sont dans le répertoire /cgi-bin. Si les scripts sont écrits dans un langage de programmation directement interprétable (PERL, shel UNIX, AppleScript, ), ils doivent se trouver dans le répertoire /cgi-bin. Dans tous les cas (surtout sous UNIX), il faut vérifier que les fichiers possèdent bien les permissions d exécution. III-2 Accès aux bases de données via les middleware Un middleware est un traducteur qui met en relation deux programmes essayant de changer des informations. Utiliser cette technique consiste à développer une couche logiciel entre l application et le réseau. 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]

Le SGBD Sybase utilise un middleware, nommé Adaptive Server. III-3 Accès aux bases de données via les API Cette technologie est plus récente, il existe deux formes d API (Application Programming Interface) auxquelles se conforment les principales bases de données : NSAPI de Netscape et ISAPI (Internet Server Application Programming Interface). Ce mode d accès est très utilisé, actuellement, mais il reste très lié aux types de serveurs http et aux bases de données. 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 d utiliser un ensemble de fonctions utilisables depuis la plupart des langages de programmation. Ces fonctions permettent de récupérer les informations en provenance du navigateur et de lui transmettre en retour des pages générées dynamiquement. ISAPI se connecte aux bases de données en utilisant une connexion spéciale. file:///c /TBM/T4/d_session1.htm (6 sur 9) [08/04/2003 13:07:24]

Cette connexion a besoin d une combinaison matériel-logiciel entre la base de données et le monde extérieur. Elle utilise une couche de traduction adéquate permettant les mouvements de données entre Internet et la base de données. Pour mettre en place physiquement cette connexion, la machine serveur doit disposer d un logiciel de connexion à l Internet qui supporte la connexion ODBC (IIS, website, PWS,...). III 4 - Couche ODBC Open Database Connectivity est une interface standard d accès à des bases de données hétérogènes (sql Server, access, oracle, DB2, dbase, ). La communication s effectue via un pilote (driver) qui effectue le lien entre un moteur de script et le SGBD. La configuration de la couche ODBC est décrite dans le lien suivant. Il est possible de se connecter directement à l API d Internet Information Serveur en créant une bibliothèque de liens dynamiques (DLL Dynamic Link Library) au standard Windows. Cependant, on peut utiliser la technologie ActiveX (OLE), référencée sous le nom de OLEISAPI (API OLE d Internet Server), ce qui nécessite la création d un serveur OLE Automation. Un serveur OLE Automation est essentiellement une collection d objets programmables en vue d exécuter certaines tâches. On peut utiliser Visual Basic pour créer des DLL de type serveur OLE. La figure ci-dessous schématise la transmission des données dans le cas des scripts coté serveur utilisant l application OLEISAPI. file:///c /TBM/T4/d_session1.htm (7 sur 9) [08/04/2003 13:07:24]

OLEISAPI a ouvert la création de pages dynamiques au moyen d une DLL ActiveX compilée. Toutefois, la technique de transmission de données et de mise en oeuvre à laquelle elle a recours n est performante et efficace que pour des taches mineures et les opérations effectuées sur les intranets (contrairement aux sites Internet à volumes élevés). Par ailleurs, là aussi, chaque modification apportée à 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 détermine le choix d'une solution d'interfaçage entre un serveur web et un système de gestion de bases de données? la réalisation et l'exploitation d'un site web professionnel impliquent le couplage de compétences de deux acteurs principaux : L'administrateur système qui s'occupe de la configuration, de la gestion et de la maintenance de serveurs et de systèmes d'exploitation. Il veillera au bon fonctionnement du serveur web en fonction de la surcharge du processeur, il travaillera directement avec les webmaster pour alléger le site et faciliter son chargement. l'administrateur de base de données qui prend en charge la conception et, l'organisation et l'optimisation des bases de données déclarer sur le système. le choix de la technologie de l'interfaçage web/sgbd dépendra de ces acteurs qui tiendront compte de : contexte d'exploitation contraintes techniques liées aux matériel, architecture et la plate-forme la taille de site, la nature des données la maintenance, l'évolution technologique, et l'accès rapide aux données file:///c /TBM/T4/d_session1.htm (8 sur 9) [08/04/2003 13:07:24]

Perl fut le premier langage de script côté serveur. Depuis, d autres 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 conçus pour certains types d utilisateurs : par exemple, TCL facilite les calculs mathématiques complexes dans le domaine des sciences. file:///c /TBM/T4/d_session1.htm (9 sur 9) [08/04/2003 13:07:24]