Applications Internet - PowerPoint PPT Presentation

About This Presentation
Title:

Applications Internet

Description:

Applications Internet Chapitre 7, Sections 7.1 7.5 – PowerPoint PPT presentation

Number of Views:303
Avg rating:3.0/5.0
Slides: 41
Provided by: RaghuRa70
Category:

less

Transcript and Presenter's Notes

Title: Applications Internet


1
Applications Internet
  • Chapitre 7, Sections 7.17.5

2
Survol
  • Concepts Internet
  • Formats des données sur le web
  • HTML, XML, DTDs
  • Introduction à larchitecture à 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 dapplication, Servlets,
    JavaServerPages, passages darguments,
    maintenance des états (cookies)

3
Survol
  • Concepts Internet
  • Formats des données sur le web
  • HTML, XML, DTDs
  • Introduction à larchitecture à 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 dapplication, Servlets,
    JavaServerPages, passages darguments,
    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
  • http//www.cs.wisc.edu/dbbook/index.htmlmailto
    webmaster_at_bookstore.com

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 lordinateur hote (www.cs.wisc.edu)
  • 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
    www.cs.wisc.edu/dbbook/index.html?
  • Le client (fureteur) envoie une requête HTTP au
    serveur
  • Le serveur reçoit la requête et répond
  • 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/1.1 200 OK
  • Date Mon, 04 Mar 2002 120000 GMT
  • Server Apache/1.3.0 (Linux)
  • Last-Modified Mon, 01 Mar 2002 092324 GMT
  • Content-Length 1024
  • Content-Type text/html
  • ltHTMLgt ltHEADgtlt/HEADgt
  • ltBODYgt
  • lth1gtBarns and Nobble Internet Bookstorelt/h1gt
  • Our inventory
  • lth3gtSciencelt/h3gt
  • ltbgtThe Character of Physical Lawlt/bgt
  • ...

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/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 na pas pu être
    traitée par le serveur
  • 404 Not Found Lobjet requis nexiste pas sur le
    serveur
  • 505 HTTP Version not Supported
  • Date de creation Last-Modified Mon, 01 Mar
    2002 092324 GMT
  • Nombre doctets envoyés Content-Length 1024
  • Type dobjet envoyé Content-Type text/html
  • Autre information telle que le type de serveur,
    le temps du serveur, etc.

10
Quelques Remarques sur HTTP
  • HTTP na pas détats
  • Pas de sessions
  • Chaque message est complètement autonome
  • Aucune interaction antérieure nest sauvée par le
    protocole
  • Réalise une balance entre la facilité
    dimplé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 lInternet
  • 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
  • ltHTMLgt
  • ltHEADgtlt/HEADgt
  • ltBODYgt
  • lth1gtBarns and Nobble Internet Bookstorelt/h1gt
  • Our inventory
  • lth3gtSciencelt/h3gt
  • ltbgtThe Character of Physical Lawlt/bgt
  • ltULgt
  • ltLIgtAuthor Richard Feynmanlt/LIgt
  • ltLIgtPublished 1980lt/LIgt
  • ltLIgtHardcoverlt/LIgt
  • lt/ULgt
  • lth3gtFictionlt/h3gt
  • ltbgtWaiting for the Mahatmalt/bgt
  • ltULgt
  • ltLIgtAuthor R.K. Narayanlt/LIgt
  • ltLIgtPublished 1981lt/LIgt
  • lt/ULgt
  • ltbgtThe English Teacherlt/bgt
  • ltULgt
  • ltLIgtAuthor R.K. Narayanlt/LIgt
  • ltLIgtPublished 1980lt/LIgt
  • ltLIgtPaperbacklt/LIgt
  • lt/ULgt
  • lt/BODYgt
  • lt/HTMLgt

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
  • ltHTMLgt lt/HTMLgt
  • ltULgt lt/ULgt
  • Beaucoup déditeurs génèrent automatiquement des
    documents HTML directement à partir dun document
    de départ (p.ex. Microsoft Word a une facilité
    Save as html)

14
HTML Exemples de Commandes
  • ltHTMLgt
  • ltULgt liste non trié
  • ltLIgt entrée dune liste
  • lth1gt entête le plus large
  • lth2gt 2ème entête le plus large lth3gt, lth4gt
    sont analogues
  • ltBgtTitlelt/Bgt Gras

15
XML un Exemple
  • lt?XML version"1.0" encoding"UTF-8"
    standalone"yes"?gt
  • ltBOOKLISTgt
  • ltBOOK genre"Science" format"Hardcover"gt
  • ltAUTHORgt
  • ltFIRSTNAMEgtRichardlt/FIRSTNAMEgtltLASTNAM
    EgtFeynmanlt/LASTNAMEgt
  • lt/AUTHORgt
  • ltTITLEgtThe Character of Physical
    Lawlt/TITLEgt
  • ltPUBLISHEDgt1980lt/PUBLISHEDgt
  • lt/BOOKgt
  • ltBOOK genre"Fiction"gt
  • ltAUTHORgt
  • ltFIRSTNAMEgtR.K.lt/FIRSTNAMEgtltLASTNAMEgtN
    arayanlt/LASTNAMEgt
  • lt/AUTHORgt
  • ltTITLEgtWaiting for the Mahatmalt/TITLEgt
  • ltPUBLISHEDgt1981lt/PUBLISHEDgt
  • lt/BOOKgt
  • ltBOOK genre"Fiction"gt
  • ltAUTHORgt
  • ltFIRSTNAMEgtR.K.lt/FIRSTNAMEgtltLASTNAMEgtN
    arayanlt/LASTNAMEgt

16
XML Extensible Markup Language
  • Langage
  • Un moyen de communiquer linformation
  •  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
  • ltmoleculegt
  • ltweightgt234.5lt/weightgt
  • ltSpectragtlt/Spectragt
  • ltFiguresgtlt/Figuresgt
  • lt/moleculegt
  • 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
    lutilisateur 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.
  • ltBOOK genre"Science" format"Hardcover"gtlt/BOOKgt

19
XML -- Éléments
  • ltBOOK genre"Science" format"Hardcover"gtlt/BOOKgt
  • 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 lt nom délément gt
  • Balise de fin lt/ nom délément gt
  • Les éléments vides nont aucune donnée, ni de
    balise de fin
  • Ils commencent avec un lt et se terminent avec
    un /gt
  • ltBOOK/gt

20
XML Attributs
  • ltBOOK genre"Science" format"Hardcover"gtlt/BOOKgt
  • Les attributs fournissent de linformation
    additionnelle pour les éléments.
  • Il peut y avoir zéro ou plusieurs attributs dans
    chaque élément chacun deux a la forme suivante
  • attributvaleur
  • Il ny a pas despace entre le nom dattribut et
  • Les valeurs dattribut doivent être mises entre
    guillemets ( ou )
  • Les attributs multiples sont séparés par des
    espaces vides.

21
XML Données et Commentaires
  • ltBOOK genre"Science" format"Hardcover"gtlt/BOOKgt
  • 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 lt et gt
  • Commentaires lt!- comment -gt

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 quune seule
    racine
  • Entre une balise de début et une de fin on peut
    insérer
  • 1. des données
  • 2. dautres éléments
  • 3. une combinaison de données et déléments
  • ltrootgt
  • lttag1gt
  • Un quelconque Texte
  • lttag2gtDavantage de textelt/tag2gt
  • lt/tag1gt
  • lt/rootgt

23
XML Stockage
  • Un document XML est stocké comme nimporte quel
    autre arbre n-aire (DOM)

ltrootgt lttag1gt Un quelconque Texte
lttag2gtDavantage de textelt/tag2gt
lt/tag1gt lt/rootgt
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
  • lt?XML version'1.0'?gt
  • lt!ELEMENT Basket (Cherry, (Apple Orange)) gt
  • lt!ELEMENT Cherry EMPTYgt
  • lt!ATTLIST Cherry flavor CDATA REQUIREDgt
  • lt!ELEMENT Apple EMPTYgt
  • lt!ATTLIST Apple color CDATA REQUIREDgt
  • lt!ELEMENT Orange EMPTYgt
  • lt!ATTLIST Orange location Floridagt
  • --------------------------------------------------
    ------------------------------

ltBasketgt ltApple/gt ltCherry
flavorgood/gt ltOrange/gt lt/Basketgt
ltBasketgt ltCherry flavorgood/gt ltApple
colorred/gt ltApple colorgreen/gt lt/Basket
gt
26
DTD - !ELEMENT
  • lt!ELEMENT Basket (Cherry, (Apple Orange)) gt
  • !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 à lintérieur de cette
    structure)
  • Une expression régulière

Nom
enfants
27
DTD - !ELEMENT (Suite)
  • Une expression régulière a la structure suivante
  • exp1, exp2, exp3, , expk Une liste
    dexpressions 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
  • exp1 exp2 expk Une disjonction
    dexpressions

28
DTD - !ATTLIST
  • lt!ATTLIST Cherry flavor CDATA
    REQUIREDgt
  • lt!ATTLIST Orange location CDATA REQUIRED
  • color orangegt
  • !ATTLIST définit une liste dattributs 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.

Element
Attribute
Type
Flag
29
DTD Document Bien Formé vs. Valide
  • lt?XML version'1.0'?gt
  • lt!ELEMENT Basket (Cherry)gt
  • lt!ELEMENT Cherry EMPTYgt
  • lt!ATTLIST Cherry flavor CDATA REQUIREDgt
  • --------------------------------------------------
    ------------------------------

Pas bien formé ltbasketgt ltCherry
flavorgoodgt lt/Basketgt
Bien formé, mais invalid ltJobgt
ltLocationgtHomelt/Locationgt lt/Jobgt
Bien formé et valide ltBasketgt ltCherry
flavorgood/gt lt/Basketgt
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 à larchitecture à 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 dapplication, Servlets,
    JavaServerPages, passages darguments,
    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 lapplication
  • Présentation
  • Larchitecture 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 sattendent à 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 linterface
    (graphique)
  • Le serveur implémente la logique de lapplication
    (business logic) ainsi que la gestion des
    données
  • Division de travail Client lourd
  • Le client implémente à la fois linterface
    (graphique) et la logique de lapplication
  • 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 dapplication nest 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 xy connexions

36
Architecture à Trois Étages (Three-Tier)
Client (Web Browser)
Système de présentation
Serveur dapplication
Etage intermédiaire
SGBD
Étage de gestion des données
37
Les Trois Étages
  • Étage de présentation
  • Interface première dutilisateur
  • 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 dapplication (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
  • Quest ce qui est fait aux diverses étages?
  • SGBD
  • Info sur les lignes aériennes, sièges
    disponibles, info sur les clients, etc.
  • Serveur dapplication
  • 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
HTML Javascript XSLT
Programme Client(Web Browser)
JSPServlets Cookies CGI
Serveur dapplication(Tomcat, Apache)
SGBD(DB2, Oracle, MS SQLServer)
XML
Procédures stockées
40
Avantages de lArchitecture à 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
    dapplication à létage intermédiaire
  • Développement des logiciels
  • Le code pour la logique dapplication est
    centralisé
  • Linteraction entre les étages est bien définie
    au travers de divers APIs Des composantes
    standard peuvent être réutilisées
Write a Comment
User Comments (0)
About PowerShow.com