Module BD et sites WEB



Documents pareils
Architectures web/bases de données

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

Bases de données et Interfaçage Web

Programmation Internet Cours 4

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

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

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

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

Mise en œuvre des serveurs d application

Application Web et J2EE

Compte Rendu d intégration d application

Attaques applicatives

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

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

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

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

Hébergement de sites Web

Création de formulaires interactifs

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

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

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

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

Java et les bases de données

Ingénieur Développement Nouvelles Technologies

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

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

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

Nouvelles Plateformes Technologiques

Hébergement de site web Damien Nouvel

Bases de Données et Internet

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

Cours Bases de données

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Présentation Internet

Mercredi 15 Janvier 2014

Programmation Web. Introduction

Catalogue des Formations Techniques

Gestion de stock pour un magasin

Programmation Web. Madalina Croitoru IUT Montpellier

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Développement des Systèmes d Information

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

Formation en Logiciels Libres. Fiche d inscription

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Cours CCNA 1. Exercices

Mise en oeuvre d un intranet à partir de logiciels Open Source avec intégration des certificats numériques et login unique

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Les services usuels de l Internet

Intranet et les Bases de Données

UE 8 Systèmes d information de gestion Le programme

Implémentation des SGBD

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

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

Architectures d'intégration de données

1. La plate-forme LAMP

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Atelier 1. Portails documentaires : BioLib et Cemadoc

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

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

les techniques d'extraction, les formulaires et intégration dans un site WEB

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Théorie : internet, comment ça marche?

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

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

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

Administration des ressources informatiques

Livre Blanc WebSphere Transcoding Publisher

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

Content Management System V.3.0. BlackOffice CMS V3.0 by ultranoir 1

Quel ENT pour Paris 5?

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

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

FileMaker Server 14. Aide FileMaker Server

Les Services Web. Jean-Pierre BORG EFORT

Sessions en ligne - QuestionPoint

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

Caruso33 : une association à votre service

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

TP JAVASCRIPT OMI4 TP5 SRC

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Les architectures 3-tiers Partie I : les applications WEB

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

TAGREROUT Seyf Allah TMRIM

Introduction aux applications réparties


Cisco Certified Network Associate

Serveur d Applications Web : WebObjects

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Le réseau Internet.

DataStudio. Solution d intégration des données et de diffusion de l information

Serveurs de noms Protocoles HTTP et FTP

Nouveautés Ignition v7.7

Introduction aux «Services Web»

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Transcription:

Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1

Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD Scripts CGI Serveurs de pages 2

Le Web (ou World Wide Web) Système hypermédia distribué fonctionnant sur TCP/IP simple à utiliser Navigateurs graphiques, interactifs : Netscape, Explorer portable faible coût Standard HTTP, HTTPS, URL, HTML, XML Évolutions contrôlées par le W3C (MIT, Inria, U. de Keisho) accès aux applications Internet objets répartis : Java, ActiveX Permettent de télécharger du code 3

Architecture d un serveur Web requête administration Index répertoire Interface HTTP Contrôle d accès traducteur Accès document Document HTML Interface CGI réponse Programme externe 4

Fonctionnement du Web Architecture client-serveur à deux niveaux Le serveur met à disposition des documents HTML Le client accède aux documents HTML via un navigateur Entre les deux, un réseau supportant le protocole TCP/IP page HTML client navigateur TCP/IP serveur supportant HTTP documents HTML 5

Fonctionnement du Web Pour consulter un document (ex: http://serveur/page.html) 1. Le navigateur demande à son DNS (Domain Name Server) de lui renvoyer l adresse IP du serveur demandé dans l URL (Uniform Ressource Locator) 2. Le navigateur envoie une requête à l adresse IP pour demander la page.html précisée dans l URL. 3. le serveur envoie la page au client. 4. le navigateur interprète la page et l affiche. HTTP : protocole de transfert permettant de demander un fichier au serveur ainsi qu une description de types des données associées. IP : Internet Protocol 6

Evolution des architectures Besoins : Ergonomie Simplicité intégration PC IHM applications C/S 2 tiers Serveurs d entreprise Applications Transactions Bases de données Besoins : Fiabilité Passage à l échelle Performances Standards : Web, Java, XML, etc C/S 3 tiers Standards : SQL3, CORBA, etc. Serveur d applications App Internet : E-commerce, Internet, Extranet 7

Architecture client/serveur 3-tiers Applications existantes Serveur d application Interface utilisateur Serveur d application Applications et transactions Serveur de données 8

Avantages du 3-tiers Client universel Standard, multimédia Browser Web, client EJB, client COM, client CORBA Applets Portabilité Serveur d application Facilite la maintenance et le déploiement d applications Facilite le passage à l échelle (à n serveurs d applications) Facilite l accès à des serveurs de données hétérogènes Peut être généralisé à n tiers 9

Limites de HTML Difficile à maintenir (modifications manuelles des pages) Pas de personnalisation Impossible de créer une page dynamiquement à partir d une base de données 10

Serveur d application Simple = serveur Web Petites applications, pas de transactions Serveur d entreprise = serveur Web + Support des grandes applications, distribuées Standard CORBA, Open Group (XA) Support des transactions Support des composants Support de XML Outils de développement 11

Applications Intranet Portails d entreprises Commerce électronique E-business Publication en ligne 12

BD pour le Web Commerce électronique : présentation de catalogues Édition de rapports Intégrité des données transactions sur Internet (saisie, paiement, suivi de commande) couplage aux BD de l entreprise Génération de sites Web Cohérence Maintenance Uniformisation Gestion des métadonnées SQL + indexation Augmentation de la productivité du développeur 13

Web pour BD Répartition des données Intégration immédiate d Internet Exploitation directe des BD sur le Web Modélisation souple des données, adaptée à chaque utilisateur (pas de schéma) 14

Données du Web Données hétérogènes, fortement corrélées, évolutives Problèmes pour la gestion des données : Gestion des liens Gestion de l évolution (pas d indépendance logiquephysique) Performances (index?) Besoin des fonctionnalités des SGBD 15

Couplage BD et Web Deux domaines qui se sont développés indépendamment Nombreux points communs : Grands volumes de données Modélisation Stockage Indexation interrogation Multi-utilisateurs Performances Fiabilité 16

Apports des SGBD Gestion de gros volumes d information Bonnes performances d accès : index, stockage, gestion du disque Fiabilité des données : cohérence, sûreté de fonctionnement, sûreté d accès Partage et accès concurrents : transactions Productivité : indépendance physique-logique, réutilisation, outils Evolutivité : évolution du schéma Langage de requêtes et optimisation 17

Comment coupler? 1. Utilisation de la technologie BD pour les données du Web Transférer les données du Web dans les BD (ou utiliser les BD comme moyen de structuration du Web). importation des données : outils de traduction vers les modèles de données (ex. solutions des produits reposant sur Corba) outils de migration (ex. documents structurés SGML vers ODMG). nouveaux modèles de données (moins rigides) et langages : la notion de schéma tend à disparaître, langage d interrogation associé, optimisation. 18

Comment coupler? 2. Ouvrir les BD au Web Mettre les données des BD sur le Web (passerelles d accès aux BD) exportation de données (vers HTML) BD comme repository d un intranet 19

Couplage HTML-bases de données Serveur HTTP dynamique Basé sur CGI Serveur Web dédié aux BD Oracle WebDB, VersantWeb, etc. Serveur de pages dynamiques Langages de haut niveau permettant de définir des actions à faire exécuter sur le serveur ASP (MS Active Server Page) JSP (Java Server Page) PHP (Hypertext Preprocessor) 20

Accès base de données Fichiers Html statiques Navigateur (client http) HTML http Demande de page serveur http HTML cgi, nsapi,.. paramètres Programme passerelle données odbc,jdbc SQL SGBD Middleware WEB 21

Accès BD 1. Le client http lance une demande de page Web (URL statique ou dynamique) vers le serveur. URL dynamique : contient un appel au programme applicatif + paramètres. La connexion est fermée dès que le client obtient la réponse. 2. Le serveur http est en attente permanente. En cas de demande dynamique, il lance le programme applicatif avec les paramètres, en suivant un protocole : - CGI : Common Gateway Interface - NSAPI (Netscape), ISAPI (MS) 3. Le programme applicatif : - extrait les données nécessaires du SGBD - produit la page HTML incluant ces données 4. Le SGBD fait son travail de SGBD (reçoit des requêtes et renvoie les résultats) 22

Scripts serveur Programme ou script (fichier de commandes) capable de recevoir des paramètres depuis des clients, d'accéder à une ou plusieurs sources de données, de générer des résultats sous forme HTML ou XML. Langages de scripting ou de programmation Interprété ou compilé Perl, JavaScript, VB Script, Python C, C++, Java, VB, C#, L4G 23

CGI CGI : Common Gateway Interface Standard de programmation pour accéder aux données des formulaires HTML côté serveur Permet de faire communiquer les serveurs Web avec des applications externes Permet par ex. de se connecter à une BD et d exécuter des requêtes Select, avec des paramètres (spécifiés lors de l exécution) S exécute sur le serveur Peut être écrit en Perl, C, JavaScript, VB Script, Java, etc (tout langage compilé ou interprété) 24

CGI Protocole TCP-IP Envoi des entêtes HTTP requête Envoi des entêtes HTTP-réponses décode Client Serveur Web 25

Scripts CGI La passerelle invoque les scripts en passant les paramètres sous une forme codée L'envoi de paramètres à un script CGI se fait par l'intermédiaire d'un formulaire HTML. créé à l'aide de la balise <FORM> contenant des boutons, des champs, des listes et/ou des cases à cocher repérés par les noms de paramètres, et un bouton de soumission du formulaire 26

Exemple <HTML> <HEAD> <TITLE> Exemple de formulaire</title> </HEAD> <BODY> <H1>Exemple de formulaire</h1> <FORM METHOD=POST ACTION="/cgi-bin/invite.exe"> Nom: <INPUT TYPE=TEXT SIZE=30 NAME="nom"><BR/> Adresse e-mail: <INPUT TYPE=TEXT SIZE=20 NAME="email"><BR/> <P>Commentaires:<BR> <TEXTAREA COLS=60 ROWS=15 NAME="comment"></TEXTAREA> <INPUT TYPE=SUBMIT VALUE="OK"> </FORM>. 27

Bilan CGI Avantages utilisable avec n'importe quel navigateur et serveur Web simple - intégré avec HTML serveurs dans tous les langages Inconvénients supporte mal le multi-utilisateur pas de gestion de contexte (session) Extensions : version«fast CGI» Problème : ne passe pas à l échelle 28

Serveur de pages dynamique Page HTML avec scripts pour accéder à la base de données Variables et paramètres avec des tags spéciaux Templates pour la présentation des résultats en HTML <HTML> <BODY><H1>result of your selection</h1> <%select Q1 = select A1,A2 from R where %> <TABLE> <%iterate Q1 %> <TR><TD> A1 </TD><TD> A2 </TD></TR> <TR><TD> A1 </TD><TD> A2 </TD></TR> <%end-iterate%> </TABLE> </BODY> </HTML> 29

Exécution de page serveur dynamique HTTP URL+input paramètres HTML template browser HTML HTTP server HTML Plus efficace que le serveur HTTP dynamique Problème : les templates ne peuvent transformer les résultats de requêtes. Template Interpreter Ex: Php SQL BD 30

ASP Environnement de programmation côté serveur permettant de représenter sous forme d'objets les interactions entre le navigateur du client, le serveur web, ainsi que les connexions à des bases de données via SQL (ADO) Développement d'applications Web dynamiques Intégration de scripts serveur au sein d'une page HTML à l'aide de balises spéciales Combinent HTML, VB Scripts et ActiveX Efficace avec les ActiveX Data Objects (ADO) Interface DCOM pour l accès BD via ODBC ou OLE-DB Outils de développement intégrés (ex MS Visual interdev) 31

Exemple de ASP <%@ LANGUAGE="VBSCRIPT" %> <HTML> <HEAD> <TITLE>Exemple de script ASP</TITLE> </HEAD> <BODY> <% FOR i = 1 to 10 %> Bienvenue au cours BD et sites Web <% Next %> </BODY> </HTML> 32

Accès aux BD Intégration indirecte des requêtes nécessite un script dialogue avec les formes, boutons, tables,... émission des requêtes récupération des résultats Accès par objets VBScript Accès à la base via des ADO Création d'objets données 33

JSP Combinent HTML, Java et Java Beans Accès aux composants EJB (serveurs) Interface JDBC Standard, proposé par tous les serveurs d applications J2EE 34

Exemple de JSP <HTML> <HEAD> <TITLE> Exemple de JSP </TITLE> </HEAD> <BODY> <!-- Fixer les parametres de la page --> <%@ page language = "java" %> <!-- Declarer une variable caracteres --> <% char c = 0; %> <!-- Scriplet - Code Java --> <% for (int i = 0; i < 26; i++) { c = (char) (0x41 + i) ; %> <!-- Afficher c --> <% = c %> <% } %> </BODY> </HTML 35

Bilan pages actives Mixage HTML + scripts serveur Compilés en code intermédiaire ou interprétés Accès aux BD intégrés Évolution vers XML Séparation fond et forme Complément à XSL 36

Limitations du couplage HTML-BD Solutions propriétaires Excepté JSP Pas de protocole pour publier les données SQL n est pas conçu pour le Web Pas de format d échange de données standard : HTML est un format de présentation Mélange présentation et contenu Pas de structure, pas de sémantique, pas de contrainte d intégrité Perd la structure (schéma) provenant de la BD 37

La règle d or Le contenu doit être abstrait et indépendant du stockage et de la présentation Permet l intégration uniforme de données hétérogènes Provenant de différentes sources de données Permet des applications dynamiques La présentation peut être différente selon le médium, le temps, la requête ou le profil de l utilisateur 38

Conclusion La plupart des éditeurs de SGBD proposent des connexions au Web (Oracle Websystem, Informix (Web Datablade), Sybase, DB2 ). Nécessité de développer des clients dynamiques, nombreuses solutions existantes XML est une bonne solution pour l échange de données Standard du W3C Décrit le contenu, pas la présentation Structure, type, schéma, requêtes, etc. Fournit l indépendance des données au stockage et à la présentation : supporte la règle d or 39