1 Applications Internet Chapitre 7, Sections 7.1—7.5.

Slides:



Advertisements
Présentations similaires
CRÉER UNE APPLICATION INTERNET RELIEE A UNE BASE DE DONNEES
Advertisements

Le struts validator – framework de validation
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Transformation de documents XML
Xavier Blanc Web Services Xavier Blanc
DTD Sylvain Salvati
Une solution personnalisable et extensible
Internet.
- Couche 7 - Couche application. Sommaire 1)Introduction 1)DNS 1)FTP et TFTP 1)HTTP 1)SNMP 1)SMTP 1)Telnet.
L’architecture .net et ASP.net
Exposé de Système - Informatique et Réseau
XHTML EXtensible HyperText Markup Language. HTML et XML HTML (HyperText Markup Language) et XML (eXtensible Markup Language) sont deux spécifications.
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
le langage les éléments
Domaines nominaux XSLT
Nicolas Singer Maître de conférence, université Champollion
version Beta Marie Calberg Ninni Louhelainen SLFN7
Design Pattern MVC En PHP5.
TP 3-4 BD21.
Manipulation d’XML avec XSL
NFE 107 : Urbanisation et architecture des systèmes d'information
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Common Gateway Interface
Le Téléphone Russe Le Téléphone Russe. Le Téléphone Russe Le Téléphone Russe.
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Etude des Technologies du Web services
XML-Family Web Services Description Language W.S.D.L.
Analyse des protocoles de la couche application
Lycée Louis Vincent Séance 1
Identifier ce qui peut gêner ou bloquer votre référencement Sébastien Billard, consultant référencement.
Les instructions PHP pour l'accès à une base de données MySql
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
Les relations clients - serveurs
Gestion des bases de données
Notions sur le XML Réfs : manuel p 149. Introduction Le XML (eXtensible Markup Language) est un standard d'échange de données. Il fait partie comme le.
STAF 2X XSL/FO Glaus & Ruckstuhl Mars © Glaus & Ruckstuhl TECFA Programme du 18 et 19 mars Revision XML Introduction à XSL/FO (intérêts et.
Console MMC de Windows 2000 Présenté par Suzanne Savoie Cours 4.
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Projet de Master première année 2007 / 2008
Adaptée du cours de Richard Grin
Initiation au web dynamique
0 Objectifs de la session n°1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur Web,  Découvrir l’ensemble des langages.
Développement d’application client/serveur
Cours de programmation web
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Programmation Web : Introduction à XML
Le web service
Mastère Professionnel Systèmes de Communication et Réseaux
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Séminaire (6-12 Février 2007) Promo. M2 ESCE-Tunis 2006/07
S'initier au HTML et aux feuilles de style CSS Cours 5.
Campus-Booster ID : **XXXXX Copyright © SUPINFO. All rights reserved Le développement Web.
Struts.
S'initier au HTML et aux feuilles de style CSS Cours 5.
Soutenance du mémoire de synthèse
Module : Langage XML (21h)
eXtensible Markup Language. Généralités sur le XML.
Web Services 17/01/2009.
Introduction à MathML Par Katia Larrivée UQO Le 18 mars 2004.
Introduction à SVG Scalable Vector Graphic. Informations ● Plus d'informations ici (draft, tutoriaux, outils... ): –
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Introduction aux technologies des web services en Java EE
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
Bloc 1 - UE 5 - Technologies de l’information et de la communication TIC Bachelier en immobilier T. SOUMAGNE.
Introduction au HTML Qu’est ce que le HTML ?
XML les données réellement portables La nécessité d’un format de données universel et lisible se faisait sentir depuis longtemps, aujourd’hui avec le développement.
Préparé par : Marouane FELJA
Hayri ACAR - Université Claude Bernard Lyon 1 Langages à balises 1 Hayri ACAR, Université Lyon 1 Basé sur les cours de Yannick Prié.
Transcription de la présentation:

1 Applications Internet Chapitre 7, Sections 7.1—7.5

2 Survol  Concepts Internet  Formats des données sur le web  HTML, XML, DTDs  Introduction à l’architecture à trois niveaux  Le niveau de présentation  Formulaires HTML; méthodes HTTP Get et POST, encodage des URLs; Javascript; Stylesheets; XSLT  Le niveau du milieu  CGI, serveurs d’application, Servlets, JavaServerPages, passages d’arguments, maintenance des états (cookies)

3 Survol  Concepts Internet  Formats des données sur le web  HTML, XML, DTDs  Introduction à l’architecture à trois niveaux  Le niveau de présentation  Formulaires HTML; méthodes HTTP Get et POST, encodage des URLs; Javascript; Stylesheets; XSLT  Le niveau du milieu  CGI, serveurs d’application, Servlets, JavaServerPages, passages d’arguments, maintenance des états (cookies)

4 Identificateurs de Ressource Uniformes (URI)  Schéma de dénomination uniforme pour identifier les ressources sur Internet  Il y a une variété de ressources:  Index.html  mysong.mp3  picture.jpg  Exemple de URIs:

5 Structure des URIs  Un URI a trois parties:  Schéma de dénomination (http)  Nom de l’ordinateur hote (  Nom de la ressource (~dbbook/index.html)  Les URLs sont un sous-ensemble de URIs

6 ‘’Hypertext Transfer Protocol’’ (HTTP)  Protocole de communication  Ensemble de standards qui définissent la structure de l’échange de messages  Exemples: TCP, IP, HTTP  Que se passe-t-il lorsque vous cliquez sur Le client (fureteur) envoie une requête HTTP au serveur 2. Le serveur reçoit la requête et répond 3. Le client reçoit la réponse; fait une nouvelle requête

7 HTTP (Suite) Du client au serveur: GET ~/index.html HTTP/1.1 User-agent: Mozilla/4.0 Accept: text/html, image/gif, image/jpeg Le serveur répond: HTTP/ OK Date: Mon, 04 Mar :00:00 GMT Server: Apache/1.3.0 (Linux) Last-Modified: Mon, 01 Mar :23:24 GMT Content-Length: 1024 Content-Type: text/html Barns and Nobble Internet Bookstore Our inventory: Science The Character of Physical Law...

8 Structure du Protocole HTTP Requêtes HTTP  Ligne de requête:GET ~/index.html HTTP/1.1  GET: méthode HTTP (valeurs possibles: GET et POST; voir plutard)  ~/index.html: URI  HTTP/1.1: version du protocole HTTP  Type de client:User-agent: Mozilla/4.0  Types de fichiers que le client acceptera: Accept: text/html, image/gif, image/jpeg

9 Structure du Protocole HTTP (Suite) Réponses HTTP  Ligne de statut: HTTP/ OK  Version HTTP: HTTP/1.1  Code du statut: 200  Message du serveur: OK  Combinaisons code/serveur usuelles: 200 OK: Succcès de la requête 400 Bad Request: La requête n’a pas pu être traitée par le serveur 404 Not Found: L’objet requis n’existe pas sur le serveur 505 HTTP Version not Supported  Date de creation: Last-Modified: Mon, 01 Mar :23:24 GMT  Nombre d’octets envoyés: Content-Length: 1024  Type d’objet envoyé: Content-Type: text/html  Autre information telle que le type de serveur, le temps du serveur, etc.

10 Quelques Remarques sur HTTP  HTTP n’a pas d’états  Pas de “sessions”  Chaque message est complètement autonome  Aucune interaction antérieure n’est sauvée par le protocole  Réalise une balance entre la facilité d’implémentation et la facilité du développement des applications: Les autres fonctionnalités doivent être ajoutées par après  Implications pour les applications:  Toute information sur l’état doit être encodée dans chaque requête HTTP et dans chaque réponse!  Il existe des méthodes populaires pour le maintien des états: Cookies URL uniques générées dynamiquement au niveau du serveur

11 Format des Données sur le Web  HTML  Le langage de présentation pour l’Internet  XML  Un modèle de données auto descriptif et hiérarchique  DTD  Schéma de standardisation pour XML  XSLT (non couvert dans le manuel)

12 HTML: Un Exemple Barns and Nobble Internet Bookstore Our inventory: Science The Character of Physical Law Author: Richard Feynman Published 1980 Hardcover Fiction Waiting for the Mahatma Author: R.K. Narayan Published 1981 The English Teacher Author: R.K. Narayan Published 1980 Paperback

13 HTML: Courte Introduction  HTML est un langage de balisage  Les commands sont des balises (‘’tags’’):  Balise de début et balise de fin  Exemples: …  Beaucoup d’éditeurs génèrent automatiquement des documents HTML directement à partir d’un document de départ (p.ex. Microsoft Word a une facilité “Save as html”)

14 HTML: Exemples de Commandes  :  : liste non trié  : entrée d’une liste  : entête le plus large  : 2ème entête le plus large;, sont analogues  Title : Gras

15 XML: un Exemple Richard Feynman The Character of Physical Law 1980 R.K. Narayan Waiting for the Mahatma 1981 R.K. Narayan The English Teacher 1980

16 XML – “Extensible Markup Language”  Langage  Un moyen de communiquer l’information  « Markup » (balisage)  Meta-données décrivant vos données  « Extensible »  La capacité de définir de nouveaux balisages (et donc de nouveaux langages) est quasiment illimitée.

17 XML – Etat des Lieux  Vous pouvez inclure vos données et la description de ce que ces données représentent  Utile pour définir vos propres langages et protocoles  Exemple: Langage à balisage chimique …  Les objectifs du design de XML:  XML devrait être compatible avec SGML  Il devrait être facile d’écrire des processeurs pour XML  Le design devrait être formel et précis

18 XML – Structure  XML: Combine des aspects de SGML et HTML  XML ressemble à HTML  XML est une hiérarchie de balises définies par l’utilisateur et appelées ‘’éléments’’ avec attributs et données  Les données sont décrites par les éléments qui, eux, sont décrits par les attributs. … bal. de fin attribut valeur d’attribut donnée bal. de début

19 XML -- Éléments …  Les majuscules et les espaces sont significatifs en XML  Les noms des éléments de la balise de début et de la balise de fin doivent être identiques  Balise de début: “ ”  Balise de fin: “ ”  Les éléments vides n’ont aucune donnée, ni de balise de fin:  Ils commencent avec un “ ” bal. de fin attribut valeur d’attribut donnée bal. de début

20 XML – Attributs …  Les attributs fournissent de l’information additionnelle pour les éléments.  Il peut y avoir zéro ou plusieurs attributs dans chaque élément; chacun d’eux a la forme suivante: attribut =‘ valeur ’ - Il n’y a pas d’espace entre le nom d’attribut et “=‘” - Les valeurs d’attribut doivent être mises entre guillemets (“ ou ‘)  Les attributs multiples sont séparés par des espaces vides. bal. de fin attribut valeur d’attribut donnée bal. de debut

21 XML – Données et Commentaires …  Les données XML sont tout ce qui apparaît entre la balise de début et celle de fin  Les données XML ne doivent contenir les caractères ‘ ’  Commentaires: bal. de fin attribut valeur d’attribut donnée bal. de début

22 XML – Imbrication et Hiérarchie  Les balises XML peuvent être imbriquées les une dans les autres et former un arbre hiérarchique  Les documents XML ne peuvent avoir qu’une seule racine  Entre une balise de début et une de fin on peut insérer: 1. des données 2. d’autres éléments 3. une combinaison de données et d’éléments Un quelconque Texte Davantage de texte

23 XML – Stockage  Un document XML est stocké comme n’importe quel autre arbre n-aire (DOM) Un quelconque Texte Davantage de texte Noeud Type: Nœud élément Valeur: Root Noeud Type: Nœud élément Valeur: tag1 Noeud Type: Nœud texte Valeur: Davantage de Texte Noeud Type: Nœud élément Valeur: tag2 Noeud Type: Nœud texte Valeur: un quelconque Texte

24 DTD – ‘’Document Type Definition’’  Un DTD est un schéma pour les données XML  Les protocoles XML et les langages peuvent être standardisés avec des DTDs  Un DTD indique quels éléments et attributs sont requis et lesquels sont optionnels  Définit la structure formelle du langage

25 DTD – Un Exemple

26 DTD - !ELEMENT  !ELEMENT déclare un nom d’élément, ainsi que le contenu de chaque élément enfant imbriqué  Types de contenus:  Autres éléments  #PCDATA (‘’parsed character data’’)  EMPTY (aucun contenu)  ANY (aucune validation à l’intérieur de cette structure)  Une expression régulière Nom enfants

27 DTD - !ELEMENT (Suite)  Une expression régulière a la structure suivante:  exp 1, exp 2, exp 3, …, exp k : Une liste d’expressions régulières  exp*: Une expression optionnelle avec zéro ou plusieurs apparitions d’éléments  exp+: Une expression optionnelle avec un ou plusieurs apparitions d’éléments  exp 1 | exp 2 | … | exp k : Une disjonction d’expressions

28 DTD - !ATTLIST <!ATTLIST Orange location CDATA #REQUIRED color ‘orange’>  !ATTLIST définit une liste d’attributs pour un élément.  Les attributs peuvent être de différents types, être requis ou non requis et peuvent avoir des valeurs par défaut. ElementAttributeTypeFlag

29 DTD – Document Bien Formé vs. Valide Bien formé et valide Pas bien formé Bien formé, mais invalid Home

30 XML and DTDs  De plus en plus de DTDs standardisés sont développés  MathML  ‘’Chemical Markup Language’’  Etc.  Les DTDs permettent un échange allégé de données ayant la même sémantique  Il existe des langages de requête sophistiqués pour XML:  Xquery  XPath

31 Survol  Concepts Internet  Formats des données sur le web  HTML, XML, DTDs  Introduction à l’architecture à trois niveaux  Le niveau de présentation  Formulaires HTML; méthodes HTTP Get et POST, encodage des URLs; Javascript; Stylesheets; XSLT  Le niveau du milieu  CGI, serveurs d’application, Servlets, JavaServerPages, passages d’arguments, maintenance des états (cookies)

32 Composantes des Systèmes de Gestion des Données Trois types de fonctionnalité séparés:  Gestion des données  Logique de l’application  Présentation  L’architecture du système détermine si ces trois composantes résident sur un même système (“tier’’) ou sur plusieurs systèmes séparés

33 Architecture à Une Etage (‘’Single-Tier’’) Toutes les fonctionnalités sont combinées dans un même système, souvent un ‘’mainframe’’  Accès à travers des terminaux passifs Avantages:  Maintenance et administration aisées Désavantages:  Actuellement, les utilisateurs s’attendent à des interfaces graphiques  Centralisation à outrance (peut excéder la capacité du système)

34 Architectures Client-Serveur  Division de travail: Client léger  Le client implémente seulement l’interface (graphique)  Le serveur implémente la logique de l’application (‘’business logic’’) ainsi que la gestion des données  Division de travail: Client lourd  Le client implémente à la fois l’interface (graphique) et la logique de l’application  Le serveur implémente seulement la gestion des données

35 Architecture Client-Serveur (Suite) Désavantages des clients légers  Aucune centralisation des modification de la logique d’application n’est faite  Problèmes de sécurité: Le serveur a besoin de faire confiance aux clients Accès et authentification doivent être gérés par le serveur Les clients ont besoin de laisser le serveur dans un état consistent Une possibilité: Encapsuler tous les accès aux bases de données dans des procédures stockées  Pas applicable si le nombre de clients va au delà de quelques centaines Large transfert de données entre serveur et client Problème de gestion des connections: avec x clients et y serveurs on a x*y connexions

36 Architecture à Trois Étages (‘’Three-Tier’’) SGBD Serveur d’application Client (‘Web Browser’) Système de présentation Etage intermédiaire Étage de gestion des données

37 Les Trois Étages Étage de présentation  Interface première d’utilisateur  Doit être adaptée aux différents appareils de présentation existants (PC, PDA, téléphone cellulaire, voix?) Étage intermédiaire  Implémente la logique d’application (implémente des actions complexes, maintient l’état du processus d’échange en cours)  Accède aux différents SGBDs Étage de gestion des données  Un ou plusieurs SGBDs standards

38 Exemple: Système de Réservations pour Lignes Aériennes  Comment construire un tel système  Qu’est ce qui est fait aux diverses étages?  SGBD  Info sur les lignes aériennes, sièges disponibles, info sur les clients, etc.  Serveur d’application  Logique des réservations, annulation des réservations, addition de nouvelles lignes, etc.  Programme client  Log in de différents utilisateurs, affichage de formulaires et de rapports en format lisible

39 Technologies SGBD (DB2, Oracle, MS SQLServer) Serveur d’application (Tomcat, Apache) Programme Client (Web Browser) HTML Javascript XSLT JSP Servlets Cookies CGI XML Procédures stockées

40 Avantages de l’Architecture à Trois Étages  Systèmes hétérogènes  Maintien, modification et remplacement indépendants des étages  Clients légers  Contiennent seulement la couche de présentation (web browsers)  Accès intégré aux données  Plusieurs SGBDs peuvent être accédés de manière transparente à l’étage intermédiaire  Gestion centralisée des connexions  Extensibilité  Rendu possible par la réplication de la logique d’application à l’étage intermédiaire  Développement des logiciels  Le code pour la logique d’application est centralisé  L’interaction entre les étages est bien définie au travers de divers APIs: Des composantes standard peuvent être réutilisées