Architecture orientée service
|
|
- Gilbert Briand
- il y a 8 ans
- Total affichages :
Transcription
1 Architecture orientée service Yousri Kessentini ISIMA
2 Contexte Evolution du Web des usagers au Web des communications entre applications WEB WEB Data General Data General Data General Usager + Navigateur Web Communications entre un usager et une application L entité principale est l usager. Ex : Achat d un livre via les pages Web d une compagnie Serveur Web Application 1 Application 2 Communications entre applications L entité principale est l application. Ex : Achat automatisé de fournitures (via un Service Web) 2
3 Evolution du Web HTTTP HTTP HTTP, XML HTTP,XML Generation 1 Static HTML Generation 2 Web Applications (JSP,PHP,ASP, ) Generation 3 Web Services Interaction entre deux applications 3
4 Hier : plat de spaghettis Développements coûteux Interconnexions redondantes (point à point) Grande complexité Maintenance difficile
5 Limites de la programmation orientée Objet Granularité encore trop fine Mal adaptée à la programmation à grande échelle Couplage fort Rend difficile la réutilisation Accroît la complexité des Systèmes OO
6 Définition d un service Web Un service Web (Web Service, WS) est une entité logicielle : Mise à disposition sur l Internet ou sur un réseau privé (Intranet), Publiable et accessible en utilisant le langage XML et les protocoles standards du Web, Indépendante du système d exploitation (UNIX, Windows, ) et du langage de programmation (C#, JAVA, ) 6
7 Le modèle des services Web Les services Web introduisent un nouveau modèle de développement basé sur ce qu on appelle les architectures orientées services. Une architecture orientée services se focalise sur une décomposition plus abstraite dans la résolution des problèmes. On parle de résolution dirigée par les services. Un service résout un problème donné. Les services peuvent être combinés pour résoudre des problèmes de plus en plus complexes. 7
8 Propriétés du service à retenir Un Service est Autonome Un Service expose un Contrat Les Frontières entre services sont Explicites in out Conditions Générales de Vente Règlement Intérieur Vos droits/vos devoirs Les services communiquent par messages
9 Exemple de couplage fort : Gestion de prêts Entités CreditAgent CreditApproval Account Credit SMSGateway calculaterisk checkcredit createcredit sendconfirmation CreditAgent est lié à CreditApproval et Credit CreditApproval est lié à Account Credit est lié à SMSGateway
10 Gestion de prêts en couplage faible Services CreditProcess CheckAccount Balance Calculate CreditRisk CreateCredit Notify ViaSMS Qu est ce que CreditProcess? Un processus métier! Il permet d orchestrer les services => couplage lâche
11 Le modèle des services Web Le modèle des Web Services est défini par une architecture et un ensemble de protocoles standardisés : SOAP, WSDL, UDDI. Spécifications garanties par W3C et OASIS, Objectifs du modèle Modularité, Réutilisation et composition de services, Interopérabilité, Dialogue entre environnements et plate-formes hétérogènes, Intégration, Masquage de la complexité. 11
12 Exemple: Agence de voyage Une agence de voyage web combine plusieurs services : Réservation de billets d avion, de train Réservation de logement Réservation de véhicules de location Et donc utilise les services proposés par la SNCFT, Tunisair, RentACar, 12
13 Exemple: Agence de voyage L application Web consultée par le client met en œuvre des services web répartis pour satisfaire sa demande. 13
14 Acteurs impliqués Le fournisseur de service (Service Provider) Application s'exécutant sur un serveur et comportant un module logiciel accessible par Internet en XML Le client (Service Requester) Application cliente se liant à un service et invoquant ses fonctions par des messages XML (SOAP) L annuaire de services (Service Registry) Annuaire des services publiés par les providers (UDDI) 14
15 Architecture orientée service XML
16 Module XML Introduction : extensible Markup Language Premiers pas en XML Le langage de base XML par l exemple Les DTD les feuilles de styles CSS et XSL
17 Un peu d histoire : rappels SGML (ISO standard 1986) HTML (1991 ) XML (1998 ) norme internationale pour la représentation des documents langage trop complexe pour le WEB application «pauvre» de SGML pour le WEB langage sémantiquement figé une version simplifiée de SGML adaptée au WEB standardisation en cours, langage ouvert disponible avec IE 5, Netscape 5, 6 (?)
18 PROBLEMATIQUE 2/ : SGML 1991 : HTML 1998 : XML Objectifs adaptabilité, intelligence, gestion des liens simple, portable, gestion de liens puissance de SGML, simplicité du HTML Inconvénients complexe, difficilement portable non adaptable, non intelligent
19 Les limites HTML HTML ne permet pas de "marquer" les informations en fonction de leur signification. si l'on souhaite présenter des informations concernant la chimie ou la météorologie pas de balises ATOM ou MOLECULE pour les chimistes, ni de balises CARTE ou TEMPERATURE pour les météorologues. Il est hors de question de songer à intégrer de telles balises dans la norme HTML : la prise en compte des spécificités de tous les métiers et de toutes les spécialisations est impossible
20 HTML vs XML
21 Normalisation des documents Structurer l information pour la retrouver facilement l utiliser dans des applications Faire des hypertextes efficaces Afficher et imprimer de manière flexible Un format normalisé pour diffuser, échanger, stocker, chercher...
22 DEFINITION extensible Markup Language Recommandation (norme) du W3C Spécifiant un langage Constitué d un ensemble d éléments appelés balises Utilisable pour créer d autres langages 2 concepts fondamentaux Structure, contenu et présentation sont séparés Les balises ne sont pas figées Conséquences : XML est un format de document XML est un format de données XML est un mode de structuration de l information XML est un méta-langage
23 Exemple (1) HTML <title> Ma chanson <ul> <li> par l'auteur</li> <li> Producteur : Dupond</li> <li> Editeur : Maison edition</li> <li> Duree : 6:20</li> <li> Date : 1978</li> <li> Artiste : Toto</li> </ul> </body> </html>
24 Exemple (2) XML <SONG> <TITLE> Ma chanson </TITLE> <COMPOSER> par l auteur</composer> <PRODUCER> Dupond</PRODUCER> <EDITOR> Maison edition</editor> <DURATION> 6:20</DURATION> <DATE> 1978</DATE> <ARTIST> Toto</ARTIST> </SONG> Balises propriétaires compréhensibles à la profession XML sépare le contenu de son aspect ( à la différence de HTML ou tout peut être mélangé)
25 STRUCTURE D UN DOCUMENT XML
26 Création d un document XML avec WordPad
27 Visualisation du document avec IE5
28 Ajout d une feuille de style (1) But : Ajout des attributs d affichage pour distinguer les éléments du document
29 Ajout d une feuille de style (2) Création du fichier demo3.css
30 Ajout d une feuille de style (3) Ajout de la spécification de la feuille de style demo3.css sur notre document
31 Ajout d une feuille de style (4) Affichage avec IE5
32 Introduction à XML Deux types de documents XML Document bien formé : obéit aux règles syntaxiques du langage XML (document correct) Document valide : document bien formé qui obéit en outre à une structure type définie dans une DTD
33 Structure d un document Un prologue facultatif mai conseillé Un arbre d éléments le contenu propre du document Commentaires et instructions de traitement facultatifs, présents dans le prologue ou dans l arbre d éléments
34 Le prologue Une déclaration XML <?xml version=«1.0» encoding= ISO standalone=yes> Instructions de traitement Une déclaration de type de document indique le type de document auquel se conforme le document en question <!DOCTYPE rapport SYSTEM «rapport.dtd» [déclaration]>
35 L arbre d éléments (1) Un élément d un document XML une balise d ouverture le contenu de l élément une balise de fermeture Exemple : <nom>contenu de l élément</nom>
36 L arbre d éléments (2) Tout élément fils de l arbre est complètement inclus dans son père i.e. pas de recouvrement entre balises Il existe un et un seul élément père qui contient tous les autres : l élément racine (root)
37 Eléments et attributs <NomElement [attribut1= val1 ]> une balise d ouverture se compose : < le nom de l élément un ou plusieurs attributs pour décrire certaines propriétés de l élément >
38 Contenu d élément «visible» <personne> <nom>serge Fleury</nom> <adresse>ilpga</adresse> </personne> Contenu d élément «invisible» <personne nom=«serge Fleury» adresse=«ilpga» </personne>
39 Attribut prédéfini Indication de langue <p xml:lang= fr >aquarelle</p> <p xml:lang= en-gb >Water</p> <p xml:lang= en_us >Water</p> la valeur de l attribut xml:lang est hérité dans l arbre des éléments
40 Contenu d un élément Un élément peut contenir d autres éléments des données des références à des entités des sections littérales des instructions de traitement
41 Données Constituées par un flot de caractères tous les caractères sont acceptés sauf le e commercial «&» et le caractère «plus petit que (<)»
42 Entités et notations Entités externes via URL <?xml version=«1.0»?> <!DOCTYPE livre [ <!ENTITY chap1 SYSTEM «chap1.xml»> <!ENTITY chap2 SYSTEM «chap2.xml»> <!ENTITY auteur «SF»>]> <livre> <titre>mon livre</livre> <auteur>&sf;</auteur> &chap1; &chap2; </livre>
43 Exemple : une lettre
44 Exemple : une lettre
45 Module XML Introduction Premiers pas en XML Le langage de base XML par l exemple Les DTD les feuilles de styles CSS et XSL
46 DEFINITIONS DE TYPES DE DOCUMENT 1/5 DTD = Document Type Definition La DTD fournit : la liste des éléments, la liste des attributs, des notations et des entités du document XML associé ainsi que les règles des relations qui les régissent.
47 DEFINITIONS DE TYPES DE DOCUMENT 2/5 La DTD est déclarée dans le document XML par la balise!doctype Elle peut être : incluse dans le code source du fichier XML, ou DTD interne : <!DOCTYPE élément-racine [déclaration des éléments]> décrite dans un fichier externe, ou DTD externe : <!DOCTYPE élément-racine SYSTEM "nom_fichier.dtd">
48 Structure Type de document <?xml version=«1.0»?> <!DOCTYPE EXEMPLE [ <!-- Début DTD --> <!ELEMENT EXEMPLE (#PCDATA)> <!-- Fin DTD --> ]> <-- Début instance --> <EXEMPLE>Texte de l instance de document correspondant à la DTD définie ci-dessus</exemple> <-- Fin instance -->
49 DEFINITIONS DE TYPES DE DOCUMENT 3/5 Exemple de DTD interne <?xml version="1.0" standalone="yes"?> <!DOCTYPE parent [ <!ELEMENT parent (garcon,fille)> <!ELEMENT garcon (#PCDATA)> <!ELEMENT fille (#PCDATA)> ]> <parent> <garcon>françois</garcon> <fille>elisabeth</fille> </parent> Comme vous définissez une DTD interne, votre fichier est indépendant (standalone). Début de la DTD interne avec parent comme élément de racine. L élément racine parent contiendra les sous-éléments garcon et fille. #PCDATA indique au Parser XML que l'élément garcon contient des données exprimées en chiffres ou en lettres. Idem pour l'élément fille. Fin de la DTD Racine du document XML. Fin du document XML.
50 DEFINITIONS DE TYPES DE DOCUMENT 4/5 Exemple de DTD externe : reprise de l exemple précédent, en version DTD externe <?xml version="1.0" standalone="no"?> <!DOCTYPE parent SYSTEM "parent.dtd"> <parent> <garcon>françois</garcon> <fille>elisabeth</fille> </parent> <!ELEMENT parent (garcon,fille)> <!ELEMENT garcon (#PCDATA)> <!ELEMENT fille (#PCDATA)> Fichier XML. Comme vous définissez une DTD externe, votre fichier n est plus indépendant (standalone). Déclaration de la DTD externe dans le Fichier parent.dtd. Racine du document XML. Fin du document XML. Fichier parent.dtd L élément racine parent contiendra les sous-éléments garcon et fille. #PCDATA indique au Parser XML que l'élément garcon contient des données exprimées en chiffres ou en lettres. Idem pour l'élément fille.
51 DEFINITIONS DE TYPES DE DOCUMENT 5/5 La DTD contient : Une ou plusieurs définitions d éléments introduites par la balise!element : <!ELEMENT nom-élément valeur> Une ou plusieurs listes d attributs introduites par la balise!attlist : <!ATTLIST nom-élément attribut type défaut> Une ou plusieurs définitions d entité introduites par la balise!entity : <!ENTITY nom-entité "valeur"> ou <!ENTITY nom-entité SYSTEM "nom_fichier">
52 DTD : ELEMENTS 1/4 Chaque balise d un document XML valide doit être déclarée à l aide d un élément dans la DTD associée. Un élément est défini par la balise!element : <!ELEMENT nom-élément valeur-élément> Où : nom-élément est une balise du document XML valeur-élément prend l une des trois formes: (contenu) Déclaration d un élément à contenu explicite. Exemple : <!ELEMENT sujet (#PCDATA)> EMPTY Déclaration d un élément vide. Utilisé en HTML pour les sauts de ligne (BR), image, filet horizontal (HR) etc. Exemple : <!ELEMENT br EMPTY> ANY Déclaration d un élément pouvant contenir tout type de donnée. Exemple : <!ELEMENT note ANY>
53 DTD : ELEMENTS 2/4 Contenu explicite : Combinaison d un ou plusieurs items : Mot-clé #PCDATA (Parsed Character Data) : le contenu est une chaîne de caractères Nom d un autre élément de la DTD Chaque item peut être suivi par un caractère facultatif d occurrence:? : l item apparaît zéro ou au plus une fois + : l item apparaît au moins 1 fois * : l item apparaît zéro fois ou plus Les items sont séparés par : Le caractère virgule «,» si les 2 items sont tous deux inclus dans le contenu Le caractère pipe si le contenu est un choix entre les 2 items Les items peuvent être regroupés à l aide de parenthèses pour définir des ordres de priorité ou d occurrence
54 DTD : ELEMENTS 3/4 Exemples <!ELEMENT agenda (contact*)> <!ELEMENT contact (nom, prenom?, telephone+)> <!ELEMENT nom (#PCDATA)> <!ELEMENT prenom (#PCDATA)> <!ELEMENT telephone (#PCDATA)> <!ELEMENT image EMPTY> Définition d un élément agenda composé de zéro ou plus éléments contact. Définition d un élément contact, composé de trois éléments : nom, prenom (facultatif), telephone (au moins 1 fois) Définition d un élément nom contenant une chaîne de caractères Idem pour élément prenom Idem pour élément telephone Définition d un élément image de contenu vide
55 DTD : ELEMENTS 4/4 Exemples
56 DTD : ATTRIBUTS 1/3 Les balises ouvrantes et les balises vides peuvent contenir des couples nom-valeur des attributs XML : <GREETING LANGUAGE = English > Hello everybody </GREETING> nom valeur Les attributs possibles d un élément du document XML sont déclarés dans la DTD associée.
57 DTD : ATTRIBUTS 2/3 Déclaration dans la DTD par la balise!attlist : <!ATTLIST nom-élément nom-attribut type valeur-défaut> Où : nom-élément est le nom d un élément défini dans la DTD par la balise!element attribut est le nom de l attribut présentement défini pour l élément nom-élément type peut prendre l une des valeurs: CDATA : la valeur correspond au contenu de l élément (choix1 choix2 ) : la valeur doit être l une des choix énumérés ID : la valeur est un identifiant unique ENTITY : la valeur est une entité valeur-défaut prend l une des valeurs : valeur : valeur par défaut donnée à l attribut #REQUIRED : attribut obligatoire, sans valeur par défaut #IMPLIED : attribut optionnel, sans valeur par défaut #FIXED valeur : valeur fixe
58 DTD : ATTRIBUTS 3/3 Exemples : <!ELEMENT GREETING (#PCDATA)> <!ATTLIST GREETING LANGUAGE CDATA English > Définition d un carré et de son attribut largeur : DTD : <!ELEMENT carre EMPTY> <!ATTLIST carre largeur CDATA 0 > XML : <carre largeur= 100 > Liste de moyens de paiement: DTD <!ATTLIST paiement moyen (especes cheque CB) CB > XML <paiement moyen= cheque > <! > <paiement moyen= CB >
59 DTD : ENTITES 1/3 Définition et rappel d une entité XML Une entité est une variable utilisée pour définir du texte. L'intérêt d'une entité consiste à pouvoir remplacer autant de fois que nécessaire dans le document XML l'entité par le texte qui lui est associé. Dans le document XML, la référence à une entité est introduite par le caractère "&" suivi du nom de l entité, et terminée par le caractère ";". Il existe 5 entités prédéfinies en XML : lt, gt, amp, apos et quot (caractères < > & ' ") Une entité est définie avec la balise!entity, et dite: Interne si sa valeur est donnée dans la DTD <!ENTITY nom-entité "valeur"> Externe si sa valeur est fournie dans un fichier externe à la DTD <!ENTITY nom-entité SYSTEM "nom_fichier">
60 DTD : ENTITES 2/3 Exemple de document XML avec DTD interne et entité interne "titre" : <?xml version="1.0"?> <!DOCTYPE introduction [ <!ENTITY titre "Introduction au language XML" > <! > ]> <introduction > &titre; <! > </introduction >
61 DTD : ENTITES 3/3 Exemple de document XML avec DTD interne et entité externe "chapitre1 <?xml version="1.0"?> <!DOCTYPE livre [ <!ENTITY chapitre1 SYSTEM "chapitre1.xml"> ]> <livre> <titre>titre du livre</titre> &chapitre1; </livre> Contenu du fichier "chapitre1.xml" : <?xml version="1.0"?> <chapitre> <titre>titre du chapitre 1</titre> <section>1ère section</section> <section>2ème section</section> </chapitre>
62 Résumé Résumé des spécifications : Une DTD (grammaire) permet de déclarer : un type d élément, une liste d attribut d un élément, une entité Chaque balise du langage doit faire l objet d une et d une seule déclaration Un document XML est dit valide s il possède une DTD et si sa syntaxe est conforme aux règles de la DTD Un document valide est obligatoirement bien formé
63 Module XML Introduction Premiers pas en XML Le langage de base XML par l exemple Les DTD Les liens les feuilles de styles CSS et XSL
64 Feuilles de styles avec XML Cascading Style Sheet (CSS) ou Feuilles de Styles en Cascade ont été initialement conçues pour le langage HTML. La première version du standard, dite CSS niveau 1 (CSS1), a été publiée en 1996 extensible Stylesheet Language (XSL)
65 Création d une feuille CSS Cela s'écrit de la façon suivante : <?xml version='1.0'?> <?xml-stylesheet href="feuilledestyle.css" type="text/css"?>
66 Exemple: XML
67 Exemple: Résultat
68 Exemple: CSS
69 Exemple : Résultat
70 XSL le document XML : <accueil>bonjour monde!</accueil> le fichier XSL <xsl:stylesheet> <xsl:template match="/"> <b><i><xsl:value-of select="accueil"/></i></b> </xsl:template> </xsl:stylesheet> le résultat : Bonjour monde!
71
72 Feuille de style XSL <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" <xsl:template match="/"> <HTML> <BODY> <xsl:for-each select="document/chapitre"> <H1>Chapitre <xsl:value-of <b><xsl:value-of select="titre"/></b> <p><xsl:for-each select="para"> <p><xsl:value-of/></p> </xsl:for-each></p> </xsl:for-each> </BODY> </HTML> </xsl:template> </xsl:stylesheet>
73
74 Feuille de style XSL <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" <xsl:template match="/"> <HTML> <BODY> <H1>Sommaire</H1> <xsl:for-each select="document/chapitre"> <H2>Chapitre <xsl:value-of <blockquote> <b><xsl:value-of select="titre"/></b> </blockquote> </xsl:for-each> <HR/> <xsl:for-each select="document/chapitre"> <H1>Chapitre <xsl:value-of <b><xsl:value-of select="titre"/></b> <p><xsl:for-each select="para"> <p><xsl:value-of/></p> </xsl:for-each></p> </xsl:for-each> </BODY> </HTML> </xsl:template> </xsl:stylesheet>
75
76 Architecture orientée service Technologies associées Le langage WSDL Le protocole SOAP L annuaire UDDI
77 Utilisation des Web Services UDDI 2: Recherche de service 3: Description WSDL 1: Inscription 5: Requête SOAP 7: Réponse SOAP 4: Construction requête 6: Traitement 77
78 Technologies Description WSDL 3. Découverte Annuaire UDDI De Web Services Description WSDL Description WSDL Description WSDL 2. Publication 1. Déploiement Web Service Client du Web Service Description WSDL Fournisseur Description WSDL de Web Services Service Web Réservation Séjour Description WSDL Application Proxy 4. Invocation Protocole SOAP Web Service Application Description WSDL 78
79 Fournisseur de service 79
80 Technologies WSDL Web Service Description Language Description des services Web SOAP Simple Object Access Protocol Protocole de communication des services web UDDI Universal Description, Discovery, and Integration Annuaire de services Web 80
81 Scénario complet Étape 1: définition et description du service On doit décrire de point de vue informatique ce que fait le service, la solution qu il propose La définition est faite en WSDL par le fournisseur de services (i.e. le serveur d applications). Étape 2: publication du service par le fournisseur Une fois le service est défini et décrit, la description WSDL peut être publiée dans un annuaire UDDI afin de la rendre accessible aux clients. Étape 3: recherche du service par un client Le client se connecte sur un annuaire UDDI pour effectuer une recherche de services. Étape 4: invocation du service par le client Une fois le service trouvé par le client, ce dernier peut invoquer le service suivant les conditions inscrites au sein de la description WSDL trouvée. 81
82 Un service en action 82
83 WSDL Web Service Description Language
84 Web Services WSDL WSDL est un langage XML dédié à la description de tous les éléments nécessaires pour interagir avec un service Web. Version : W3C (World Wide Web Consortium) WSDL 1 est prévu pour fonctionner avec SOAP WSDL 2 est prévu pour fonctionner avec SOAP
85 Web Services WSDL WSDL est un langage qui permet de décrire: Un service Web (service réseau), et comment l invoquer (localisation, paramètre, structure de retour,..) Le fichier WSDL est au format XML et regroupe toutes les informations nécessaires pour interagir avec le Web Service : Les méthodes Les paramètres et valeurs retournées Le protocole de transport utilisé La localisation du service Le fichier WSDL peut être généré par les outils de développement pour favoriser une intégration rapide du service 85
86 Web Services WSDL Un document WSDL est donc associé à un Web Service afin d en décrire l ensemble des éléments qu il expose vers le monde extérieur : Types de données (XML Schéma) Types de messages Liaisons avec le protocole de transport et le format des messages (SOAP 1.X, HTTP Get et HTTP Post, ou encore MIME) Les services sont vus comme des ensembles de ports réseaux 86
87 Présentation 2 types de documents WSDL : Le document WSDL décrivant l interface du service, Le document WSDL décrivant l implémentation du service Documents indispensables au déploiement de Web Services Publication et recherche de services au sein de l annuaire UDDI se font via ces 2 types de document WSDL Pour l accès à un service particulier, un client se voit retourné l URL du fichier WSDL décrivant l implémentation du service. Seul l emplacement de ce fichier WSDL est indiqué puisque ce dernier référence l autre document WSDL décrivant l interface de la mise en œuvre du service. 87
88 Structure Un document WSDL est constitué de plusieurs éléments permettant la plus grande abstraction possible dans la définition des services Ces différents éléments permettant de séparer les briques habituellement mises en jeu dans l utilisation des services Ces briques sont pour l essentiel : L adresse où est situé le service Le protocole associé à l utilisation du service L ensemble des opérations accessibles Les types de données à véhiculer dans les opérations 88
89 Description <definitions name = "..." xmlns: > <types> Contient les définitions de types utilisant un système de typage (comme XSD) <message> Décrit les noms et types d un ensemble de champs à transmettre (Paramètres d une invocation, valeur du retour, ) <porttype> Décrit un ensemble d opérations. Chaque opération a zéro ou un message en entrée, zéro ou plusieurs message de sortie ou de fautes <binding> Spécifie une liaison d un <porttype> à un protocole concret (SOAP1.1, HTTP1.1, MIME, ). Un porttype peut avoir plusieurs liaisons! <port> Spécifie un point d entrée (endpoint) comme la combinaison d un <binding> et d une adresse réseau. <service> Une collection de points d entrée (endpoint) relatifs. 89
90 Exemple de service Exemple (Service Web - Java) Nous commençons par un service Web simple qui consiste à calculer la somme de deux valeurs entiers. Les WSDL présentés dans la suite sont générés automatiquement par WSDL2Java 90
91 Types L élément types contient les définitions de types utilisant un système de typage (comme XML schéma) 91
92 Structures WSDL permet de définir les structures utilisées Exemple: <xsd:complextype name="addresse"> <xsd:all> <xsd:element name="numerorue" type="xsd:int"/> <xsd:element name="nomrue" type="xsd:string"/> <xsd:element name="codepostal" type="xsd:string"/> <xsd:element name="commune" type="xsd:string"/> </xsd:all> </xsd:complextype>
93 Message WSDL permet de définir les messages (Paramètres d une invocation, valeur du retour, ) <message name="entree"> <part name="nom" type="xsd:string"/> <part name="prenom" type="xsd:string"/> <part name="addresse" type="typens:addresse"/> </message>
94 Définition d une opération porttype représente l interface du service <porttype name="addresses"> <operation name="ajouteradresse"> <input message="entree"/> <output message="confirmation"/>.
95 Message Les messages sont envoyés entre deux interlocuteurs (exemple: une opération reçoit et envoie des messages). Un message est composé de plusieurs part Deux façons de définir des part Soit une part est un élément de type simple Exemple: <wsdl:message name="personnemsg"> <wsdl:part name="nom" type="xsd:string" /> <wsdl:part name="prenom" type="xsd:string" /> </wsdl:message> Soit une part est un élément XML dont le type est défini dans un XML Schema 95
96 PortType Un porttype permet d identifier (nommer) de manière abstraite un ensemble d opérations. WSDL définit 4 types d opération : One-Way : lorsque les opérations reçoivent des messages mais n en envoient pas Request-response : lorsque les opérations reçoivent des messages puis renvoient des messages Solicit-response : lorsque les opérations envoient des messages puis en reçoivent Notification : lorsque les opérations envoient des messages mais n en reçoivent pas 96
97 Operation Quelque soit le type d opération la définition est sensiblement la même. Une opération : Reçoit des messages : <wsdl:input > Envoie des messages : <wsdl:output > ou <wsdl:fault > La présence et l ordre des input/output/fault dépendent du type de l opération. 97
98 Binding WSDL permet de lier une description abstraite (porttype) à un protocole. Le protocole SOAP est un des protocoles qui peut être utilisé. D autres binding sont standardisés par WSDL : HTTP et MIME. <wsdl:binding name="binding_name" type= porttype_name" > </wsdl:binding> 98
99 Binding SOAP Pour préciser que le binding est de type SOAP, il faut inclure la balise suivante : <soap:binding transport="uri" style="soap_style" /> Transport définit le type de transport pour utiliser SOAP/HTTP Style définit la façon dont sont créés les messages SOAP de toutes les opérations rpc : Encodage RPC défini par SOAP RPC document : Encodage sous forme d élément XML 99
100 Binding SOAP Pour chaque opération du porttype : Il faut préciser l URI de l opération : soapaction Il est aussi possible de repréciser la façon dont sont créés les messages SOAP : style Pour chaque message de chaque opération, il faut définir comment sera créé le message SOAP 100
101 Binding: exemple 101
102 Service Un service est un ensemble de ports Un port a un porttype Dans le cadre de SOAP, un port a une adresse (qui correspond à l adresse http) <wsdl:service name= Service_name"> <wsdl:port name= port_name binding= binding_name"> <soap:address location= adress_of_deployed_service"/> </wsdl:port> </wsdl:service> 102
103 SOAP Simple Object Access Protocol 103
104 Introduction SOAP (Simple Object Access Protocol) est un protocole RPC, orienté objet, bâti sur XML. Il permet l invocation de méthode sur des objets distants grâce à l échange de message XML. Bien que le protocole de transport le plus commun soit http(s), il est possible de l utiliser sur SMTP, voire tout MOM. W3C SOAP : part0.html
105 Introduction Basé sur la technologie universelle XML par opposition aux spécifiques DCOM - DCE/NDR, CORBA - IIOP/CDR, JAVA - RMI/JRMP, RDA XDR. Indépendant du langage, modèle objet (jusqu à la version 1.1) système et plate-forme d hébergement du service Web. Prend en charge les protocoles et formats suivants : HTTP, SMTP et MIME.
106 Historique Septembre 1999 : SOAP 0.9 Spécifications par MicroSoft et DevelopMentor Décembre 1999 : SOAP 1.0 Soumission des spécifications à l IETF Association de UserLand Mai 2000 : SOAP 1.1 Nombreuses associations : IBM, HP, Lotus, Compaq, Intel XIDL : rapprochement de Corba Septembre 2000 Groupe de travail W3C pour la standardisation de SOAP Corba/Soap Interworking RFP => SCOAP Avril 2007 : SOAP 1.2 SOAP abandonne le modèle objet pour utiliser XML Infosets
107 Structure <Envelope> est la racine <Header>, <Body> et <Fault> sont les enfants : <?xml version="1.0" encoding="utf-8" standalone="no"?> <soap:envelope xmlns:soap=" soap:encodingstyle=" /"> <soap:header>... Header information... </soap:header> <soap:body>... Body information... <soap:fault>...fault information... </soap:fault> </soap:body> </soap:envelope>
108 Exemple Requête HTTP invoquant une méthode m GetOrders : POST /Orders HTTP/1.1 Host: xxx.xxx.xxx.xxx Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: " <?xml version= 1.0?> <SOAP-ENV:Envelope xmlns:soap-env=" SOAP-ENV:encodingStyle=" <SOAP-ENV:Body> <orders:getorders xmlns:orders=" <CustomerID>ALFKI</CustomerID> <SalesRepID>85</SalesRepID> </orders:getorders> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
109 Exemple Réponse HTTP à la requête précédente : HTTP/ OK MessageType: CallResponse Content-Type: text/xml <?xml version= 1.0?> <SOAP-ENV:Envelope xmlns:soap-env=" SOAP-ENV:encodingStyle=" <SOAP-ENV:Body> <orders:getordersresponse xmlns:orders=" < données en retour sous forme XML..> </orders:getordersresponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
110 Structure Eléments d un message SOAP : Protocol Headers SOAP Envelope SOAP Header SOAP Body Envelope Élément pouvant contenir des déclarations d'espaces de noms ou des sous-éléments Header (optionnel) Permet des extensions telles que authentification, session Body (obligatoire) Définit la méthode appelée, contient les paramètres Peut contenir un élément Fault en cas d'erreur
111 Espace de noms SOAP NameSpaces 1.1 Le namespace des balises SOAP : Le namespace de l encodage SOAP NameSpaces 1.2 Le namespace des balises SOAP : Le namespace de l encodage SOAP
112 SOAP Header SOAP Header : Mécanisme d extension du protocole SOAP La balise Header est optionnelle Si la balise Header est présente, elle doit être le premier fils de la balise Envelope La balise Header contient des entrées Une entrée est n importe quelle balise incluse dans un namespace. Les entrées contenues dans la balise Header sont non applicatives.
113 SOAP Header Exemple <SOAP-ENV:Header> <t:transaction xmlns:t="some-uri" SOAP-ENV:mustUnderstand="0"> 5 </t:transaction> </SOAP-ENV:Header> L attribut mustunderstand n Rien ou =0 : l élément est optionnel pour l application réceptrice n =1 : l élément doit être compris de l application réceptrice. Sinon le traitement du message par le récepteur doit échouer.
114 SOAP Body SOAP Body : Le Body contient le message à échanger La balise Body est obligatoire La balise Body doit être le premier fils de la balise Envelope (ou le deuxième si il existe une balise Header) La balise Body contient des entrées qui sont des données applicatives. Une entrée est n importe quelle balise incluse optionnellement dans un namespace Une entrée peut être une Fault.
115 SOAP Fault SOAP Fault : Balise permettant de signaler des cas d erreur. SOAP 1.1 : La balise Fault contient les balises suivantes: Faultcode (Obligatoire): un code permettant d identifier le type d erreur. Faultstring (Obligatoire): une explication en langage naturel. Faultactor : une information identifiant l initiateur de l erreur. Detail : Définition précise de l erreur.
116 SOAP Fault Faultcode :4 groupes de code d erreur Client, Server, MustUnderstand, VersionMismatch Exemple SOAP 1.1 <s:envelope xmlns:s=" <s:body> <s:fault> <faultcode xmlns="">s:client</faultcode> <faultstring xml:lang="fr-fr" xmlns=""> Une opération invalide s'est produite.</faultstring> </s:fault> </s:body> </s:envelope>
117 SOAP Type Les données contenues dans un message SOAP étant typées il faut définir un moyen de les encoder. L encodage c est la représentation de valeurs sous forme XML. Le décodage est le pendant de l encodage spot la construction de valeurs à partir d XML L XML représentant des valeurs a une structure qui dépend du type de ces valeurs Il faut donc définir ce type Soit par un mécanisme définit par l utilisateur Soit en utilisant des Schéma XML (préconisé)
118 SOAP Type Définition Value (valeur d une donnée) Simple value (string, integers,etc) Compound value (array, struct, ) Type (d une value) Simple Type Compound Type
119 SOAP Type Types simples Types définis dans XML Schéma Entier, flottant, entiers négatifs, chaînes caractères, Énumérations Types complexes Tableaux Partie d un tableau Tableau creux (sparse array)
120 Exemple: SOAP Type Types xml simples <element name= age type= int > <element name= taille type= float > <age>23</age> <taille>1.87</taille> Enumeration <element name= couleur > <simpletype base= xsd:string > <enumeration value= Rouge > <enumeration value= Bleu > </simpletype> <couleur>bleu</couleur>
121 Exemple: SOAP Type <element name= Personne > <complextype> <element name= Nom type= xsd:string > <element name= Prenom type= xsd:string > <element name= Age type= xsd:float > </complextype> <Personne> <Nom>Durand</Nom> <Prenom>Michel</Prenom> <Age>34.7</Age> </Personne>
122 Tableau Exemple: SOAP Type <element name= TabPersonne > <complextype base= SOAP-ENC:Array > <element name= Personne type= xyz:personne maxoccurs= unbounded > </complextype> </element> <xyz:tabpersonne SOAP-ENC:arrayType= xyz:personne[2] > <Personne> <Nom>Durand</Nom> <Prenom>Michel</Prenom> <Age>34.7</Age> </Personne> <Personne> <Nom>Dupond</Nom> <Prenom>Serge</Prenom> <Age>40</Age> </Personne> </xyz:tabpersonne>
123 UDDI (Universal Description, Discovery, and Integration) 123
124 Introduction Même si la conjonction SOAP / WSDL permet d invoquer des Web Services, il était nécessaire d ajouter une fonctionnalité de recherche de services. Cette fonctionnalité c est UDDI UDDI est une spécification définissant la manière de publier et de découvrir les Web Services sur un réseau. La description du service est faite en XML selon la spécification Un registre UDDI peut être accédé en SOAP mais aussi en XML- RPC ou Corba. La spécification ne limite pas l utilisation au Web Service.
125 Principaux fournisseurs IBM UDDI Registry Un registre UDDI avec des fonctionnalités de recherche www-3.ibm.com/services/uddi/ Microsoft UDDI Business Registry (UBR) uddi.microsoft.com/default.aspx SAP UDDI Business Registry Public pour l'instant Systinet Registry Support complet de UDDI V3 Oracle Application Server UDDI Registry otn.oracle.com/tech/webservices/htdocs/uddi/
126 Les pages d UDDI L'annuaire UDDI est consultable de différentes manières : Les pages blanches comprennent la liste des entreprises ainsi que des informations associées à ces dernières. Les pages jaunes recensent les services Web de chacune des entreprises sous le standard WSDL. Les pages vertes fournissent des informations techniques précises sur les services fournis. Ces informations concernent les descriptions de services et d'information de liaison ou encore les processus métiers associés.
127 Web Services - UDDI Le modèle UDDI comporte 5 structures de données principales: BusinessEntity : ensemble des informations sur l entreprise proposant le service BusinessService : ensemble des informations sur les services publiés par l entreprise BindingTemplate : ensemble des informations sur le lieu d hébergement du service tmodel : ensemble des informations sur le mode d accès du service (WSDL) publisherassertion : ensemble des informations contractuelles pour accéder au service
128 Exemple1 Exemple Schéma BusinessEntity (pages blanches) <element name="businessentity" type="uddi:businessentity" /> <complextype name="businessentity"> <sequence> <element ref="uddi:discoveryurls" minoccurs="0" /> <element ref="uddi:name" maxoccurs="unbounded" /> <element ref="uddi:description" minoccurs="0" maxoccurs="unbounded" /> <element ref="uddi:contacts" minoccurs="0" /> <element ref="uddi:businessservices" minoccurs="0" /> <element ref="uddi:identifierbag" minoccurs="0" /> <element ref="uddi:categorybag" minoccurs="0" /> </sequence> <attribute name="businesskey" type="uddi:businesskey" use="required" /> <attribute name="operator" type="string" use="optional" /> <attribute name="authorizedname" type="string" use="optional" /> </complextype>
129 Exemple2 Exemple Schéma BusinessService (pages jaunes) <element name="businessservice" type="uddi:businessservice" /> <complextype name="businessservice"> <sequence> <element ref="uddi:name" minoccurs="0" maxoccurs="unbounded" /> <element ref="uddi:description" minoccurs="0" maxoccurs="unbounded" /> <element ref="uddi:bindingtemplates" minoccurs="0" /> <element ref="uddi:categorybag" minoccurs="0" /> </sequence> <attribute name="servicekey" type="uddi:servicekey" use="required" /> <attribute name="businesskey" type="uddi:businesskey" use="optional" /> </complextype>
130 Exemple3 Exemple Schéma bindingtemplate (pages vertes) <element name="bindingtemplate" type="uddi:bindingtemplate" /> <complextype name="bindingtemplate"> <sequence> <element ref="uddi:description" minoccurs="0" maxoccurs="unbounded" /> <choice> <element ref="uddi:accesspoint" /> <element ref="uddi:hostingredirector" /> </choice> <element ref="uddi:tmodelinstancedetails" /> </sequence> <attribute name="servicekey" type="uddi:servicekey" use="optional" /> <attribute name="bindingkey" type="uddi:bindingkey" use="required" /> </complextype>
131 XSD - UDDI La norme UDDI regroupe 9 schéma XML UDDI API Schema : Le schéma de base avec les principaux types de données UDDI Custody Schema : Schéma pour spécifier la pérennité des informations UDDI Subscription Schema : Schéma pour les messages de publication dans l annuaire
132 XSD - UDDI UDDI Subscription listener Schema d UDDI Replication Schema : Schéma pour les messages de réplication d annuaire UDDI Value Set Validation Schema : Schéma pour les types de validation à effectuer sur les données reçues
133 XSD - UDDI UDDI Value Set Catching : UDDI Policy : Schéma pour la gestion des droits UDDI Policy Instance Parameters : xsd Schéma pour les politiques d accès aux droits
134 Actions - UDDI UDDI permet de classer et de rechercher des Web Services. Un annuaire UDDI contient : des informations techniques (documents WSDL) des informations à caractère général sur une entreprise On peut donc effectuer deux grandes familles d actions sur un annuaire UDDI Publier un service Rechercher un service
135 Recherche - UDDI Primitives de recherche find_binding : récupère la liaison du service considéré. find_business : récupère l identité de l entreprise productrice du Web Service. find_relatedbusiness : récupère la liste des entreprises étant reliées (filiale, département, partenaire, ) à l entreprise productrice du Web Service. find_service : récupère la définition du service. find_tmodel : récupère le modèle de données associé. get_bindingdetail : récupère, par une liaison précédemment établie par find_binding les champs individuels. get_businessdetail, get_businessdetailext : récupère une entité précédemment établie par find_business les attributs individuels. get_servicedetail : récupère un service précédemment établi par find_service les attributs individuels du service (prototypes des méthodes). get_tmodeldetail : récupère un modèle établie par find_tmodel les champs individuels.
136 Publication- UDDI Primitives de publication save et delete : manipulation de service dans l annuaire get_authtoken et discard_authtoken : Authentification des commandes par jeton joint_ventures : Ajout de relations inter entreprises
137 Références
138 Références Partie I: Cours de Mme Fadoua Drira Ecole Nationale d Ingénieurs de Sfax - Tunisie Cours de Mr. Abdel Belaïd University Nancy 2 - France Cours de Mr. Philippe Poulard Univérsite de Nice Sophia Antipolis - France Partie II: Cours de Mr. Luc Gracianette Département d'informatique Université Bordeaux1 France Cours de Mr. Tarak Chaari Institut Supérieur d'electonique et de Communication de Sfax - Tunisie
Introduction aux «Services Web»
Introduction aux «Services Web» Sana Sellami sana.sellami@univ-amu.fr 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre
Plus en détailCours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»
Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Sana Sellami sana.sellami@lsis.org 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une
Plus en détailLangage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>
Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee
Plus en détailIntégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)
Motivations Motivations Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat) Contraintes Applications conçues indépendamment, sans avoir prévu une intégration
Plus en détailMéthodes et Langages du Commerce Electronique
ITCE NFE 102 Année 2013-2014! Méthodes et Langages du Commerce Electronique F.-Y. Villemin (f-yv@cnam.fr) http://dept25.cnam.fr/itce Plan! Besoins du commerce électronique! L EDI! ebxml! Les Web Services!
Plus en détailFaculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch
Faculté de Génie Chaire industrielle en infrastructures de communication La technologie XML Wajdi Elleuch Octobre 2004 SOMMAIRE Content : - XML : Définition - XML : Solution pour des applications réparties
Plus en détailXML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million
XML, PMML, SOAP Rapport EPITA SCIA Promo 2004 16 janvier 2003 Julien Lemoine Alexandre Thibault Nicolas Wiest-Million i TABLE DES MATIÈRES Table des matières 1 XML 1 1.1 Présentation de XML.................................
Plus en détailXML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)
Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du
Plus en détailProgrammation Web Avancée Introduction aux services Web
1/21 Programmation Web Avancée Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017
Plus en détailCOMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant
COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST Amosse EDOUARD, Doctorant Organisation Cours Magistral 24/11/2014 26/11/2014 01/12/2014 Travaux Dirigés 26/11/2014 28/11/2014 01/11/2014 08/11/2014 Evaluation
Plus en détail4. SERVICES WEB REST 46
4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,
Plus en détailBPEL Orchestration de Web Services
Orchestration de Web Services Grégory Le Bonniec gregory.lebonniec@zenika.com 26 novembre 2009 1 Zenika Conseil / Développement / Formation Localisation : Paris et Rennes Nos partenaires Mon expérience
Plus en détailMaster d Informatique Corrigé du partiel novembre 2010
Universités d Aix-Marseille I & II Technologies XML Master d Informatique Corrigé du partiel novembre 2010 Année 2010-11 Documents autorisés Exercice 1 : Documents XML et Applications XML (4 points) Georges,
Plus en détailLes services web. Plan. Définitions et généralités Architecture et technologies au cœur des services web
Plan Les services web Clémentine Nebut clementine.nebut@lirmm.fr LIRMM / Université de Montpellier 2 Définitions et généralités Architecture et technologies au cœur des services web SOAP WSDL UDDI Services
Plus en détailXML : documents et outils
XML : documents et outils Pierre-Alain Reynier Université de Provence pierre-alain.reynier@lif.univ-mrs.fr http://www.lif.univ-mrs.fr/~preynier/xml Cours adapté du travail de Rémi Eyraud, Silvano Dal Zilio...
Plus en détailLes Architectures Orientées Services (SOA)
Les Architectures Orientées Services (SOA) Ulrich Duvent Guillaume Ansel Université du Littoral Côte d Opale 50, Rue Ferdinand Buisson BP 699 62228 Calais Cedex Téléphone (33) 03.21.46.36.92 Télécopie
Plus en détailSystèmes d'informations historique et mutations
Systèmes d'informations historique et mutations Christophe Turbout SAIC-CERTIC Université de Caen Basse-Normandie Systèmes d'informations : Historique et mutations - Christophe Turbout SAIC-CERTIC UCBN
Plus en détailUNIVERSITÉ DU QUÉBEC EN OUTAOUAIS
UNIVERSITÉ DU QUÉBEC EN OUTAOUAIS SÉCURITÉ DES SERVICES WEB : RESTAURATION D UN MESSAGE SOAP APRÈS DÉTECTION D UNE ATTAQUE PAR ENVELOPPEMENT SUR UN ÉLÉMENT SIGNÉ MÉMOIRE PRÉSENTÉ COMME EXIGENCE PARTIELLE
Plus en détailProgrammation Internet Cours 4
Programmation Internet Cours 4 Kim Nguy ên http://www.lri.fr/~kn 17 octobre 2011 1 / 23 Plan 1. Système d exploitation 2. Réseau et Internet 3. Web 3.1 Internet et ses services 3.1 Fonctionnement du Web
Plus en détailSII Stage d informatique pour l ingénieur
SII Stage d informatique pour l ingénieur Création d un site Web École nationale supérieure de techniques avancées SII Stage d informatique pour l ingénieur 1 / 15 L informatique et le temps qui passe...
Plus en détailINTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)
CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.
Plus en détailOn Feature Interaction among Web Services Michael Weiss et Babak Esfandiari
On Feature Interaction among Web Services Michael Weiss et Babak Esfandiari Présenté par INF-6251 :: Automne 2005 Présentation Introduction Contexte Bref historique Contexte Affaire (Business) Processus
Plus en détailWeb Services : Beyond the peer-to-peer architecture
Faculté des Sciences Département d Informatique Web Services : Beyond the peer-to-peer architecture Jérémy De Roey Mémoire présenté sous la direction du Professeur Esteban Zimányi et de Ir. François Deliège
Plus en détailResponsable du cours : Héla Hachicha. Année Universitaire : 2011-2012
Chapitre 4- WS-Security Responsable du cours : Héla Hachicha Année Universitaire : 2011-2012 1 WS-Security (Microsoft) WS-Security est le standard proposé par IBM, Microsoft, VeriSign et Forum Systems
Plus en détailModule BD et sites WEB
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
Plus en détailLes Services Web. Jean-Pierre BORG EFORT http://www.efort.com
Les Services Web Jean-Pierre BORG EFORT http://www.efort.com 1 Introduction Un "Service Web" est une application logicielle à laquelle on peut accéder à distance à partir de différents langages basés sur
Plus en détailManuel d intégration API SOAP SMS ALLMYSMS.COM
Manuel d intégration API SOAP SMS ALLMYSMS.COM 26/02/2014 TABLE DES MATIERES OBJECTIF DU DOCUMENT... 3 LE PROTOCOLE SOAP... 3 ENVOI DE REQUETES SOAP A LA PLATEFORME ALLMYSMS.COM... 3 BACKOFFICE SMS...
Plus en détailArchitectures Web Services RESTful
Architectures Web Services RESTful Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 REST REST Representational State Transfer Roy Fielding (2000) Décollage vers 2006-2007
Plus en détailFrom supply chain to demand chain
From supply chain to demand chain (from e-commerce to c-commerce). 1 2 Les Les nouvelles nouvelles technologies de de l interopérabilité l rabilité Les Les éléments éléments du du demand demand chain chain
Plus en détailThierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition
XML par la pratique Bases indispensables Concepts et cas pratiques 3 ième édition Nouvelle édition Thierry BOULANGER Table des matières 1 Les éléments à télécharger sont disponibles à l'adresse suivante
Plus en détailMessagerie asynchrone et Services Web
Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS
Plus en détailInstallation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6
Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer
Plus en détailAutour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech
Autour du web Une introduction technique Première partie : HTML Georges-André SILBER Centre de recherche en informatique MINES ParisTech silber@cri.ensmp.fr http://www.cri.ensmp.fr/people/silber/cours/2010/web
Plus en détailPlateforme PAYZEN. Définition de Web-services
Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network
Plus en détailPetite définition : Présentation :
Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise
Plus en détailIntroduction à Microsoft InfoPath 2010
Introduction à Microsoft InfoPath 2010 Couplé à Microsoft SharePoint Designer 2010, InfoPath 2010 simplifie la création de solutions de bout en bout sur SharePoint Server 2010, qui contiennent des formulaires
Plus en détailMise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
Plus en détail<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
Multimédia XML Benoît Piranda Équipe SISAR Université de Marne La Vallée XML l avenir de HTML? Extensible Markup Language, entre HTML et SGML tente de se servir des principes de simplicité du HTML et de
Plus en détailLes services usuels de l Internet
Les services usuels de l Internet Services principaux (applications) disponibles sur l Internet Courrier électronique (mail) - protocole SMTP (Simple Mail Transfer Protocol) inclut maintenant tous types
Plus en détailSOAP Concepts Application à Glassfish
SOAP Concepts Application à Glassfish LicencePro 2014 Olivier Perrin Université de Lorraine Évolution From server-side app to smart clients and services 2 Browser-based HTML Rendering (progressive enhancement)
Plus en détailLes services Web. Jeremy Fierstone Email : fierston@essi.fr. SAR5 Novembre 2002
Les services Web Jeremy Fierstone Email : fierston@essi.fr SAR5 Novembre 2002 Merci à Mireille Blay-Fornarino, Didier Donsez Michel Riveill, Microsoft, Sun pour leurs slides 1 Les services Web Généralités
Plus en détailWeb Application Models
Web Application Models une nouvelle fonction de VisualAge Pacbase au service des applications WebSphere Jean-François Lévi - Bernard Etienne Maîtriser l'évolution des développements Web d'entreprise avec
Plus en détailJava et les WebServices :
SOAP/kSOAP Conservatoire National des Arts et Métiers Java et les WebServices : SOAP/kSOAP Mr Rajoharison Hans harisson@free.fr http://harisson.free.fr/webservices/ 1 Sommaire Présentation générale : Introduction
Plus en détailChapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème
Chapitre IX L intégration de données Le problème De façon très générale, le problème de l intégration de données (data integration) est de permettre un accès cohérent à des données d origine, de structuration
Plus en détailInternet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall
Internet DNS World Wide Web Mécanismes de base Exécution d'applications sur le web Divers Proxy, fire-wall 1 Les services usuels de l Internet Services principaux (applications) disponibles sur l Internet
Plus en détailLes outils de création de sites web
Tuto 1ère séance - p1 Les outils de création de sites web Sources : Réalisez votre site web avec HTML5 et CSS3 de Mathieu Nebra (Edition Le Livre du Zéro) site fr.openclassrooms.com (anciennement «site
Plus en détailIntroduction aux concepts d ez Publish
Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de
Plus en détailClassification : public 1/59
Classification : public 1/59 Documents de référence [1] IHE International : Cadre Technique IT Infrastructure [2] IHE International : Profil Cross-Enterprise User Assertion Attribute Extension (XUA++)
Plus en détailLes Web Services. Rapport de TE. Étudiants Cyrielle Lablanche Florens Seine Sébastien Gastaud. Encadrant Hervé Chang
Université de Nice-Sophia Antipolis Licence d Informatique 3 ème année Les Web Services Rapport de TE Étudiants Cyrielle Lablanche Florens Seine Sébastien Gastaud Encadrant Hervé Chang 2004 2005 Table
Plus en détailMINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE
MINISTÈRE DU TRAVAIL, DE l EMPLOI ET DE LA SANTÉ MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE MINISTÈRE DU BUDGET, DES COMPTES PUBLICS ET DE LA RÉFORME DE L ÉTAT Standard d'interopérabilité entre
Plus en détailArchitecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
Plus en détailSécurité. Objectifs Gestion de PKI Signature Cryptage Web Service Security
Sécurité Objectifs Gestion de PKI Signature Cryptage Web Service Security 1 1. Objectifs Ensemble de protocoles pour sécuriser les échanges XML Les problèmes à résoudre : Authentification des utilisateurs
Plus en détailUrbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET http://www.chambet.com
Urbanisation des SI Conduite du changement IT 20/03/09 Sécuriser ses Web Services Patrick CHAMBET http://www.chambet.com Bouygues Telecom Direction Gouvernance, Outils et Architecture / Sécurité du SI
Plus en détailCompte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Plus en détailRépublique Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique
République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique Mémoire de fin d études pour l obtention du diplôme de Master en Informatique
Plus en détailL Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager
L Orchestration de Services Web avec Orchestra Goulven Le Jeune Orchestra Project Manager D1 Bull, Architecte d un Monde Ouvert : contributeur et acteur majeur de l'open Source Applications métiers Infrastructures
Plus en détailVolet Synchrone pour Client Lourd
Cadre d interopérabilité des SIS Couche Transport Volet Synchrone pour Client Lourd Identification du document Référence Date de création 06/03/09 Date de dernière mise à jour 25/06/09 Rédaction (R) Cadre
Plus en détailL architecture des services Web
Chapitre 1 L architecture des services Web La combinaison des canons esthétiques et idéaux politiques, reflets de leur époque, et de la généralisation de nouveaux matériaux préside souvent au développement
Plus en détailSommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion
ebxml Sommaire Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion Introduction Pourquoi L EDI EDI : échange de données informatisé Remplacer
Plus en détailProblématiques de recherche. Figure Research Agenda for service-oriented computing
Problématiques de recherche 90 Figure Research Agenda for service-oriented computing Conférences dans le domaine ICWS (International Conference on Web Services) Web services specifications and enhancements
Plus en détailLa démarche SOA et l interopérabilité applicative
La démarche SOA et l interopérabilité applicative Retour d'expérience des projets RITA / PRESTO de la Direction Générale de la Modernisation de l'état Abdelaziz Skalli Consultant Tél : +33.630.78.54.75
Plus en détailServices Web publication et découverte
Services Web publication et découverte Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Services Web publication et découverte p.1/15 Publication et découverte Problèmes classiques
Plus en détailUtilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008
Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application
Plus en détailCours CCNA 1. Exercices
Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.
Plus en détailArchitecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués
Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr
Plus en détailProgrammation Web. Introduction
Programmation Web Introduction 1 Introduction 10 séances 1 h cours + 1h TD Notes : contrôle continu DS 1 TP : note de groupe : rapport + code source + démo TD : note personnelle (=0 si 2 absences non justifiées)
Plus en détailWEBSERVICES. Michael Fortier. Master Informatique 2ème année. fortier@lipn.univ-paris13.fr A308, Université de Paris 13
WEBSERVICES Michael Fortier Master Informatique 2ème année fortier@lipn.univ-paris13.fr A308, Université de Paris 13 https ://lipn.univ-paris13.fr/ fortier/enseignement/webservices/ Sommaire 1 Rappels
Plus en détailBusiness Process Execution Language
Business Process Execution Language Rapport du projet de systèmes distribués d information Markus Lindström 6 mai 2009 Motivation personnelle Le sujet que j ai retenu et présenté dans le cadre du cours
Plus en détailGestion Électronique de Documents et XML. Master 2 TSM
Gestion Électronique de Documents et XML Master 2 TSM I n t r o d u c t i o n Les formats de données F o r m a t s d e d o n n é e Format de donnée : manière de représenter des informations dans un document
Plus en détailCréer et partager des fichiers
Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation
Plus en détailNotes pour l utilisation d Expression Web
EICW Formation Webmaster Notes pour l utilisation d Expression Web G. Barmarin 2008-2009 1 /21 Table des matières 1 Introduction... 3 2 Installer Expression Web... 4 3 Explorer et personnaliser l interface
Plus en détailTIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web
Réseau informatique TIC TC - IUT Montpellier Internet et le Web Ensemble d'ordinateurs reliés entre eux et échangeant des informations sous forme de données numériques But : Rendre disponible l information
Plus en détailhttp://www.ed-diamond.com
Ceci est un extrait électronique d'une publication de Diamond Editions : http://www.ed-diamond.com Ce fichier ne peut être distribué que sur le CDROM offert accompagnant le numéro 100 de GNU/Linux Magazine
Plus en détailLes nouvelles architectures des SI : Etat de l Art
Les nouvelles architectures des SI : Etat de l Art Objectif Mesurer concrètement les apports des nouvelles applications SI. Être capable d'évaluer l'accroissement de la complexité des applications. Prendre
Plus en détailUrbanisme du Système d Information et EAI
Urbanisme du Système d Information et EAI 1 Sommaire Les besoins des entreprises Élément de solution : l urbanisme EAI : des outils au service de l urbanisme 2 Les besoins des entreprises 3 Le constat
Plus en détailPrincipes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle
2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation
Plus en détailLe cadre des Web Services Partie 1 : Introduction
Sécurité en ingénierie du Logiciel Le cadre des Web Services Partie 1 : Introduction Alexandre Dulaunoy adulau@foo.be Sécurité en ingénierie du Logiciel p.1/21 Agenda (partie 1) 1/2 Introduction Services
Plus en détailApproche Contract First
Exemple HelpDesk Approche Contract First Développement d un premier web service en utilisant l approche contract first (ou WSDL First) Écriture du wsdl avant d écrire le code java Autre possibilité implementation
Plus en détailSécurité des Web Services (SOAP vs REST)
The OWASP Foundation http://www.owasp.org Sécurité des Web Services (SOAP vs REST) Sylvain Maret Principal Consultant / MARET Consulting / @smaret OpenID Switzerland OWASP Switzerland - Geneva Chapter
Plus en détailInformation utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/
Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/
Plus en détail< Atelier 1 /> Démarrer une application web
MES ANNOTATIONS SONT EN ROUGE : Axel < Atelier 1 /> Démarrer une application web Microsoft France Tutorial Découverte de ASP.NET 2.0 Sommaire 1 INTRODUCTION... 3 1.1 CONTEXTE FONCTIONNEL... 3 1.2 CONTEXTE
Plus en détailCORBA. (Common Request Broker Architecture)
CORBA (Common Request Broker Architecture) Projet MIAGe Toulouse Groupe 2 1 CORBA, introduction (1/4) Les systèmes répartis permettent de créer des applications basées sur des composants auto-gérables,
Plus en détailet Groupe Eyrolles, 2006, ISBN : 2-212-11747-7
Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,
Plus en détailGlossaire. www.themanualpage.org ( themanualpage.org) soumises à la licence GNU FDL.
Glossaire Ce glossaire contient les termes techniques et de spécialité les plus employés dans cette thèse. Il emprunte, pour certaines d entre elles, les définitions proposées par www.themanualpage.org
Plus en détailArchitectures web/bases de données
Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est
Plus en détailSECTION 5 BANQUE DE PROJETS
SECTION 5 BANQUE DE PROJETS INF 4018 BANQUE DE PROJETS - 1 - Banque de projets PROJET 2.1 : APPLICATION LOGICIELLE... 3 PROJET 2.2 : SITE WEB SÉMANTIQUE AVEC XML... 5 PROJET 2.3 : E-LEARNING ET FORMATION
Plus en détailCursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement
Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons
Plus en détailHTML. Notions générales
1 HTML Le langage HTML est le langage de base permettant de construire des pages web, que celles-ci soient destinées à être affichées sur un iphone/android ou non. Dans notre cas, HTML sera associé à CSS
Plus en détailNFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web
NFA016 : Introduction O. Pons, S. Rosmorduc Conservatoire National des Arts & Métiers Pour naviguer sur le Web, il faut : 1. Une connexion au réseau Réseau Connexion physique (câbles,sans fils, ) à des
Plus en détailOutils logiciels pour l'ingénierie documentaire
Ingénierie Documentaire Outils logiciels pour l'ingénierie documentaire http://doc.crzt.fr STÉPHANE CROZAT 16 octobre 2014 Table des matières I - L'IDE XML Oxygen 5 A. Fichiers XML...5 B. Schémas XML...6
Plus en détailCursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2
Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons
Plus en détailDéfinition des Webservices Ordre de paiement par email. Version 1.0
Définition des Webservices Ordre de paiement par email Version 1.0 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Historique du document
Plus en détailExploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales
Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales D 1.3.2 Rapport d analyse Auteurs: Johann Luethi, Laurent Opprecht, Patrick Roth
Plus en détailPRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES
PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES DÉCOUVREZ DES POSSIBILITÉS ILLIMITÉES GRÂCE A L INTÉGRATION À DES SYSTÈMES D ENTREPRISE EXISTANTS FONCTIONNALITÉS Connectivité des systèmes
Plus en détailL3 informatique TP n o 2 : Les applications réseau
L3 informatique TP n o 2 : Les applications réseau Sovanna Tan Septembre 2009 1/20 Sovanna Tan L3 informatique TP n o 2 : Les applications réseau Plan 1 Transfert de fichiers 2 Le Courrier électronique
Plus en détailAPI Web Service TéléAlerte
API Web Service TéléAlerte Version 1.2 (nov. 2013) Auteurs : Amos Faye, Stéphane Gibouin, Hennie Reyneke. Table des matières Table des matières... 2 Introduction, démarche technique... 4 Prérequis : notion
Plus en détailAppui SIE :Développement de services web ADES/SIE
Appui SIE :Développement de services web ADES/SIE Rapport final BRGM/ RP-55128-FR Décembre 2006 Appui SIE : Développement de services web ADES/SIE Rapport final BRGM/ RP-55128-FR décembre 2006 Étude réalisée
Plus en détailSélection de sérvices Web à base de colonies de fourmis MÉMOIRE DE FIN D'ÉTUDE. Melle CHEMIDI Zoulikha. Jury
Ministère de l'enseignement Supérieur et de la Recherche Scientifique Université Abou Bekr Belkaid Faculté de Science Département Informatique MÉMOIRE DE FIN D'ÉTUDE pour obtenir le grade de Master en
Plus en détailTHEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL
. THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL Mr MEZRED MOHAMED Ingénieur météorologue INTRODUCTION Il existe de nombreuses manières de construire une base de données. En effet,
Plus en détail