La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Applications Internet Chapitre 7, Sections 7.1—7.5.

Présentations similaires


Présentation au sujet: "1 Applications Internet Chapitre 7, Sections 7.1—7.5."— Transcription de la présentation:

1 1 Applications Internet Chapitre 7, Sections 7.1—7.5

2 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 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 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: http://www.cs.wisc.edu/~dbbook/index.html mailto:webmaster@bookstore.com

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

6 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 www.cs.wisc.edu/~dbbook/index.html? www.cs.wisc.edu/~dbbook/index.html 1. 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 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/1.1 200 OK Date: Mon, 04 Mar 2002 12:00:00 GMT Server: Apache/1.3.0 (Linux) Last-Modified: Mon, 01 Mar 2002 09:23:24 GMT Content-Length: 1024 Content-Type: text/html Barns and Nobble Internet Bookstore Our inventory: Science The Character of Physical Law...

8 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 9 Structure du Protocole HTTP (Suite) Réponses HTTP  Ligne de statut: HTTP/1.1 200 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 2002 09: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 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 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 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 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 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 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 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 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 234.5 …  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 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 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 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 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 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 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 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 25 DTD – Un Exemple --------------------------------------------------------------------------------

26 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 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 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 29 DTD – Document Bien Formé vs. Valide -------------------------------------------------------------------------------- Bien formé et valide Pas bien formé Bien formé, mais invalid Home

30 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 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 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 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 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 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 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 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 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 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 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


Télécharger ppt "1 Applications Internet Chapitre 7, Sections 7.1—7.5."

Présentations similaires


Annonces Google