Docstoc

Architecture Service WEB

Document Sample
Architecture Service WEB Powered By Docstoc
					Fonctionnement et mise en œuvre
        des services web
    Service Web : définition

      Un service Web est une application logicielle identifiée par un URI
      dont les interfaces et les liaisons sont définies, décrites et découvertes
      en XML et supporte une interaction directe avec les autres
      applications logicielles en utilisant des messages XML via un
      protocole Internet. (W3C definition)




2
    Les caractéristiques

      Les services Web sont réutilisables
      Indépendamment de :
        la plate-forme (UNIX, Windows,…)
        leur implémentation (Java, C++, Visual Basic,…)
        l’architecture sous-jacente (.NET, J2EE,…)




3
    L’infrastructure des Services Web
       Le fournisseur de service crée le service Web, puis publie son
        interface ainsi que les informations d'accès au service, dans un
        annuaire de services Web.
       L'annuaire de service rend disponible l'interface du service
        ainsi que ses informations d'accès, pour n'importe quel
        demandeur potentiel de service.
       Le demandeur de service accède à l'annuaire de service pour
        effectuer une recherche afin de trouver les services désirés.
        Ensuite, il se lie au fournisseur pour invoquer le service.




4
    L’infrastructure des Services Web


                   UDDI




                           WebServices
                                         Application
                    @      WebServices
                           WebServices     (Serveur)
     Application
     (Client)             WSDL
                   SOAP




5
    L’infrastructure des Services Web
    Les standards:
      Langage XML : Décrit les informations
      Protocole SOAP : Exécute les services à distance
      Langage WSDL : Décrit l’ interface des services
      Norme UDDI : Trouve les services dont on a besoin




       SOAP 1.1            WSDL 1.0                  UDDI 2.0
       Note W3C            Note W3C                  Microsoft,IBM, HP
       Simple Object       Web Services              Universal Description
       Access Protocol     Description Language      Discovery and Integration

           Transporte       Décrit le contrat         Stocke les descriptions
                                                      de contrat
                         XML 1.0
                         Recommendation W3C - 1998
6                        eXtensible Markup Language
    Fonctionnement




7
    Services Web - Utilisation

                             Services Web                 Applications

                                            Middleware
          Requête XML
                              Interface
                              WSDL
          Réponse XML




           SOAP         Vue Utilisateur                  Vue
                        du service                       Entreprise

8
    XML




9
     Présentation de XML
       XML (eXtensibleMarkupLanguage)
       Langage à balises étendu, ou Langage à balises extensible
       Langage HTML amélioré permettant de définir de nouvelles
        balises.
       Langage permettant de mettre en forme des documents
        grâce à des balises (markup).
       Contrairement à HTML, qui est à considérer comme un
        langage défini et figé (avec un nombre de balises limité),
        XML peut être considéré comme un métalangage permettant
        de définir d'autres langages.

10
     Présentation de XML
       La force de XML réside dans sa capacité à pouvoir décrire
        n'importe quel domaine de données grâce à son extensibilité.
       Il va permettre de structurer, poser le vocabulaire et la
        syntaxe des données qu'il va contenir.
       Les balises XML décrivent le contenu plutôt que la
        présentation (contrairement à HTML).
       XML permet de séparer le contenu de la présentation
         ce qui permet par exemple d'afficher un même document sur
         des applications ou des périphériques différents sans pour autant
         nécessiter de créer autant de versions du document que l'on
         nécessite de représentations !


11
     Présentation de XML
       XML a été mis au point par le XML WorkingGroup sous l'égide
        World Wide Web Consortium (W3C) dès 1996.
       Depuis le 10 février 1998, les spécifications XML 1.0 ont été
        reconnues comme recommandations par le W3C, ce qui en fait un
        langage reconnu. (Tous les documents liés à la norme XML sont
        consultables et téléchargeables sur le site web du W3C,
        http://www.w3.org/XML/)
       XML est un sous ensemble de SGML (Standard Generalized
        Markup Language), défini par le standard ISO8879 en 1986,
        utilisé dans le milieu de la Gestion Electronique Documentaire
        (GED).
       XML reprend la majeure partie des fonctionnalités de SGML, il
        s'agit donc d'une simplification de SGML afin de le rendre
        utilisable sur le web !

12
     Mise en page de XML
       La mise en page des données est assurée par un langage de
        mise en page tiers
       Il existe trois solutions pour mettre en forme un document
        XML
         CSS (Cascading StyleSheet), la solution la plus utilisée actuellement,
          étant donné qu'il s'agit d'un standard qui a déjà fait ses preuves avec
          HTML
         XSL (eXtensible StyleSheet Language), un langage de feuilles de style
          extensible développé spécialement pour XML.
         XSLT (eXtensible StyleSheet Language Transformation) permet de
          transformer un document XML en document HTML accompagné de
          feuilles de style.

13
     Structure des documents XML
       XML fournit un moyen de vérifier la syntaxe d'un document
       grâce aux DTD (Document Type Definition) ou un Schéma.
         Il s'agit d'un fichier décrivant la structure des documents y
         faisant référence grâce à un langage adapté.
       Un document XML doit suivre les conventions de notation
        XML et peut éventuellement faire référence à une DTD
        décrivant l'imbrication des éléments possibles.
       Un document suivant les règles de XML est appelé document
        bien formé.



14
     Décodage d'un document XML
       XML permet de définir un format d'échange selon les
        besoins de l'utilisateur et offre des mécanismes pour vérifier
        la validité du document produit.
       Il est donc essentiel pour le receveur d'un document XML de
        pouvoir extraire les données du document.
       Cette opération est possible à l'aide d'un outil appelé
        analyseur ou parseur (en anglais parser).
       Le parseur permet d'une part d'extraire les données d'un
        document XML (on parle d'analyse du document ou de
        parsing) ainsi que de vérifier éventuellement la validité du
        document.

15
     Les avantages de XML
       Auto descriptif : aucune connaissance ne doit théoriquement
          être nécessaire pour comprendre un contenu d'un document XML
         Une structure arborescente : permettant de modéliser la
          majorité des problèmes informatiques
         Universalité et portabilité : les différents jeux de caractères
          sont pris en compte
         Intégrabilité : un document XML est utilisable par toute
          application pourvue d'un parseur (c'est-à-dire un logiciel
          permettant d'analyser un code XML)
         Extensibilité : un document XML doit pouvoir être utilisable
          dans tous les domaines d'applications

16
     Les avantages de XML
       L'intérêt de disposer d'un format commun d'échange d'information
        dépend du contexte professionnel dans lequel les utilisateurs
        interviennent.
       Des nombreux formats de données issus de XML (il en existe plus d'une
        centaine) :
          OFX : Open Financial eXchange pour les échanges d'informations dans le
           monde financier
          MathML: MathematicalMarkupLanguage permet de représenter des formules
           mathématique
          CML : ChemicalMarkupLanguage permet de décrire des composés chimiques
          SMIL : SynchronizedMultimediaIntegrationLanguage permet de créer des
           présentations multimédia en synchronisant diverses sources : audio, vidéo,
           texte,...
       XML est particulièrement adapté à l'échange de données et de
       documents.


17
        Structure des documents XML
       Une balise est une chaîne de caractère du type : <balise>
       Les commentaires dans le document XML:
     <!-- Voici des commentaires XML -->
     Exemple:
     <annuaire>
     <personne class = "etudiant">
     <nom>Pillou</nom>
     <prenom>Jean-Francois</prenom>
     <telephone> 555-123456 </telephone>
     <email>webmaster@gmail.com</email>
     </personne>
     <personne>
     ...
     </personne>
     </annuaire>
18
     Structure des documents XML
       un document XML est structuré en 3 parties :
       La première partie, appelée prologue
         permet d'indiquer la version de la norme XML utilisée pour
          créer le document (cette indication est obligatoire)
         Le jeu de caractères (en anglais encoding) utilisé dans le
          document (attribut facultatif, le codage ISO-8859-1, jeu
          LATIN, permet de prendre en compte les accents français).
       Le prologue est une ligne du type:
     <?xml version="1.0" encoding="ISO-8859-1"?>



19
     Structure des documents XML
       Le second élément est une déclaration de type de document
        (à l'aide d'un fichier annexe appelé DTD - Document Type
        Definition)
       Le troisième élément d'un fichier XML est l'arbre des
        éléments




20
     La syntaxe des éléments en XML
       L'arbre des éléments, représente le contenu du document
        XML, est constitué d'une hiérarchie de balises comportant
        éventuellement des attributs.
       Un attribut est une paire clé/valeur écrit sous la forme
        Clé="Valeur"
       Une balise affectée d'un attribut aura la syntaxe suivante :
     <balise clé="valeur">




21
     La syntaxe des éléments en XML
       Toute donnée est ainsi encapsulée entre une balise ouvrante
        <balise>et une balise fermante </balise>(Sachant qu'une donnée
        peut éventuellement être un ensemble d'éléments XML).
       Un élément vide est uniquement constitué d'une balise spécifique
        dont la syntaxe est la suivante : <balise/>
       Il est interdit en XML de faire chevaucher des balises, c'est-à-dire
        d'avoir une succession de balises du type :
       <balise1>
       <balise2>
       </balise1>
       </balise2>

22
     La syntaxe des éléments en XML
       Il est possible entre les balises (donc pas à l'intérieur d'une
       balise) d'ajouter :
         des espaces, des tabulations, des retours chariots
     <annuaire>
     <personne class = "etudiant">
     <nom>Pillou</nom>
     <prenom>Jean-Francois</prenom>
     <telephone>555-123456</telephone>
     <email>webmaster@gmail.com</email>
     </personne>
     </annuaire>

23
     Les DTD
       DTD (Document Type Definition) est une grammaire permettant de
          vérifier la conformité du document XML.
         La norme XML n'impose pas l'utilisation d'une DTD pour un document
          XML, mais elle impose par contre le respect exact des règles de base de
          la norme XML.
         Document valide pour un document XML comportant une DTD
         Document bien formé pour un document XML ne comportant pas
          de DTD mais répondant aux règles de base du XML
         Une DTD peut être définie de 2 façons :
            sous forme interne, c'est-à-dire en incluant la grammaire au sein même du
             document
            sous forme externe, soit en appelant un fichier contenant la grammaire à
             partir d'un fichier local ou bien en y accédant par son URL


24
     Les DTD – Déclaration des éléments
       Pour pouvoir créer un document XML il est utile dans un
        premier temps de définir les éléments pouvant être utilisés,
        ou plus exactement les informations que l'on désire utiliser.
       Ainsi pour définir un élément on utilisera la syntaxe
        suivante :
     <! ELEMENT Nom Modèle >
       Le paramètre modèle représente soit un type de donnée
        prédéfini, soit une règle d'utilisation de l'élément.




25
     Les DTD – Déclaration des éléments
       Les types prédéfinis utilisables sont les suivants :




       un élément nommé Nom contenant un type #PCDATA sera
        déclaré de la façon suivante dans la DTD :
     <! ELEMENT Nom (#PCDATA) >
       Cet élément pourra être écrit de la façon suivante dans le
        document XML :
     <Nom>Pillou</Nom>

26
     Les DTD – Déclaration des éléments
       il est possible de définir des règles d'utilisation, c'est-à-dire
        les éléments XML qu'un élément peut ou doit contenir.
       Cette syntaxe se fait à l'aide de notations spécifiques dont
        voici un récapitulatif :




27
     Les DTD – Déclaration des éléments
       Exemple :


     <!ELEMENT personne (nom,prenom,telephone),email? >
     <!ELEMENT nom (#PCDATA) >
     <!ELEMENT prenom (#PCDATA) >
     <!ELEMENT telephone (#PCDATA) >
     <!ELEMENT email (#PCDATA) >


28
     Les DTD – Déclaration des éléments
       Cette déclaration pourra donc donner un document XML du
       style :
     <personne>
     <nom>Pillou</nom>
     <prenom>Jean-Francois<prenom>
     <telephone>555-123456</telephone>
     <email>webmaster@gmail.com</email>
     </personne>
     OU
     <personne>
     <nom>Pillou</nom>
     <prenom>Jean-Francois<prenom>
     <telephone>555-123456</telephone>
     </personne>

29
     Les DTD – Déclaration des attributs
       Il est possible d'ajouter des propriétés à un élément particulier en
        lui affectant un attribut, c'est-à-dire une paire clé/valeur:
     <! ATTLIST Elément Attribut Type >
       Type représente le type de donnée de l'attribut, il en existe trois :
          littéral: il permet d'affecter une chaîne de caractères à un attribut.
           Pour déclarer un tel type il faut utiliser le mot clé CDATA
          l'énumération: cela permet de définir une liste de valeurs possibles
           pour un attribut donné, afin de limiter le choix de l'utilisateur. La
           syntaxe de ce type d'attribut est :
        <! ATTLIST Elément Attribut (Valeur1 | Valeur2 | ... ) >
             Pour définir une valeur par défaut il suffit de faire suivre l'énumération par la
              valeur désirée entre guillemets :
           <! ATTLIST Elément Attribut (Valeur1 | Valeur2 ) "valeur par défaut" >
          atomique: il permet de définir un identifiant unique pour chaque
30
          élément grâce au mot clé ID.
     Les DTD – Déclaration des attributs
       chacun de ces types d'attributs peut être suivi d'un mot clé
       particulier permettant de spécifier le niveau de nécessité de
       l'attribut :
         #IMPLIED signifie que l'attribut est optionnel, c'est-à-dire
          non obligatoire
         #REQUIRED signifie que l'attribut est obligatoire
         #FIXED signifie que l'attribut sera affecté d'une valeur par
          défaut s'il n'est pas défini. Il doit être immédiatement suivi de la
          valeur entre guillemets




31
     Les DTD – Déclaration des attributs
       Exemple

     <! ATTLIST disque IDdisk ID #REQUIRED type(K7|MiniDisc|Vinyl|CD)"CD" >



       Ce qui signifie que l'on affecte à l'élément disque deux
       attributs IDdisket type.
          Le premier attribut IDdiskest de type atomique, il s'agit d'un
           identifiant unique obligatoire.
          L’attribut type peut être soit K7, MiniDisc, Vinyl ou CD,
           sachant que ce dernier sera affecté par défaut.


32
     Les espaces de noms (namespaces)
       XML définit un système permettant de créer des balises
        modulaires, c'est-à-dire pouvoir donner la possibilité
        d'utiliser des balises provenant de différents langages à balise
        au sein d'un même document grâce à la notion d'espace de
        noms.
       La définition d'un espace de nom permet d'associer toutes les
        balises d'un langage à un groupe afin d'être capable de mêler
        différents langages à balise dans un même document XML
        (pouvoir mettre du HTML, MathML, et CML dans un même
        document).


33
     Les espaces de noms (namespaces)
       Identification d'un espace de noms
         Un espace de noms est identifié par une URI (Uniform Resource
          Identifiers)
         Généralement, l’espace de noms est identifié d’une URI de
          type URL (Uniform Resource Locator)
         Il est sans importance que l'URL pointe réellement sur un
          document.
         Cette URL garantit seulement que l'espace de noms est identifié
          de manière unique.
         Dans la pratique, l'URL permet aussi souvent d'accéder à un
          document qui décrit l'espace de noms.

34
     Les espaces de noms (namespaces)
       Déclaration d'un espace de noms
       Un espace de noms déclaré par un attribut de forme
        xmlns:prefix dont la valeur est un URL qui identifie l'espace
        de noms.
       Le préfixe prefix est un nom XML
       Le choix du préfixe est complètement arbitraire.




35
     Les espaces de noms (namespaces)
       Il est possible de déclarer plusieurs espaces de noms en
        utilisant plusieurs attributs de la forme xmlns:prefix.
       Dans l'exemple suivant, on déclare également l'espace de
        noms de MathML et on l'associe au préfixe mml.




36
     Les espaces de noms (namespaces)
       Espace de noms par défaut
         Il est possible de déclarer un espace de noms par défaut, qui
          s'applique à l'élément dans lequel il est déclaré et à tous les
          éléments qui y sont inclus
         Première optimisation




37
     Les espaces de noms (namespaces)
        Deuxième optimisation:




38
     Les espaces de noms (namespaces)
       Quelques espaces de noms classiques
         XML: http://www.w3.org/XML/1998/namespace
         Xinclude: http://www.w3.org/2001/XInclude
         Xlink: http://www.w3.org/1999/xlink
         MathML: http://www.w3.org/1998/Math/MathML
         XHTML: http://www.w3.org/1999/xhtml
         SVG: http://www.w3.org/2000/svg
         Schémas: http://www.w3.org/2001/XMLSchema
         XSLT: http://www.w3.org/1999/XSL/Transform




39
     WSDL




40
     Rôle du langage WSDL
       WSDL pour Web Services Description Language


       WSDL est un langage qui permet de décrire :
          o  Un service Web,
          o  Comment invoquer un service Web

       objectif : décrire les services comme un ensemble
        d’opérations et de messages abstrait reliés à des protocoles et
        des serveurs réseaux
       WSDL est un langage qui standardise les schémas XML
        utilisés pour établir une connexion entre émetteurs et
        récepteurs
41
     Structure d’un document WSDL




42
     Définition des types




43
     Définition des messages




44
     Définition des opérations




45
     Définition des opérations




46
Définition des bindings




47
     Définition de service




48
     SOAP




49
     Description des messages SOAP
       SOAP pour Simple Object Access Protocol
       Un message SOAP est un document XML appelé
        « enveloppe »
       L’enveloppe est constituée de 2 parties: l’en-tête (Header) et
        le corps du message (body)




50
     SOAP : Message




51
     L’enveloppe et l’entête
       L’enveloppe : définit le document XML comme étant un message
        SOAP
       Déclaration d’une enveloppe SOAP comporte la définition d’un
        espace de noms
       Les données échangées par SOAP doivent respecter un format qui
        est défini par un modèle d’encodage
         Ce modèle d’encodage permet de préciser le format des données
         échangées.




52
     l’en-tête de message
       L ’entête : contient des éléments définis par l’utilisateur




53
     Le corps : Appel




54
     Le corps : Appel




55
     Le corps : réponse




56
     UDDI




57
     UDDI
       UDDI
         Annuaire mondial d'entreprises basé sur le Web
         Il permet d'automatiser les communications entre prestataires,
          clients, etc..
         Très orienté « affaires » (vente, prestation)
         Accessible grâce à SOAP
       Structure de données
         Intégrant toutes sortes d'entrées (nom, carte d'identité des sociétés,
         description des produits et des services, etc.),
            Qui : Le nom de l’entreprise, les contacts ...
            Quoi : Les classes, les noms des services
            Où : Les adresses d’accès aux services
            Comment : Les informations concernant les interfaces, les propriétés


58
     Les pages de UDDI
       Annuaire de pages blanches
         Ce référentiel comporte des informations sur l’identité du
          fournisseur de services.
         Pour trouver un service par contact, nom et adresse
       Annuaire de pages jaunes
         Ce référentiel comporte des critères de catégorisation des services
         Pour trouver un service par sujet (domaine) basé sur une taxonomie
         des services publiés dans l’annuaire
       Pages vertes
         Ce référentiel fournit des informations sur les modes d’exploitation
          des services (en proposant des fichiers WSDL)
         Pour trouver un service par ses caractéristiques techniques


59

				
DOCUMENT INFO
Shared By:
Stats:
views:16
posted:6/23/2012
language:French
pages:59