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

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

Introduction aux Services Web. Vue d’ensemble n Du web des humains… – HTML dans le navigateur – BD relationnelle sur le serveur, sites web dynamiques.

Présentations similaires


Présentation au sujet: "Introduction aux Services Web. Vue d’ensemble n Du web des humains… – HTML dans le navigateur – BD relationnelle sur le serveur, sites web dynamiques."— Transcription de la présentation:

1 Introduction aux Services Web

2 Vue d’ensemble n Du web des humains… – HTML dans le navigateur – BD relationnelle sur le serveur, sites web dynamiques n …au web des machines : communication directe entre applications hétérogènes. n Des principes anciens… – Appels de procédures distants – architectures distribuées (CORBA, DCOM) n …dans un contexte nouveau – le web, – XML, – Commerce électronique à grande échelle 16/12/20142

3 Le Web aujourd’hui n Protocole: HTTP n Documents: HTML n Des millions de sites web indépendants, des milliards de pages n Navigation et recherche par mots-clés n Publication de bases de données, accessibles à travers des formulaires. 316/12/2014

4 les services web n Possibilité d’invoquer une fonction sur un serveur web distant n Fournit une infrastructure souple pour les systèmes distribués, basée sur XML n 2 applications principales – Commerce électronique – Accès à des bases de données distantes 416/12/2014

5 Un exemple 16/12/20145 SOURCE : W3C

6 La vision: Trouver quelque chose 1. Interroger un annuaire : qui fournit des Choses? 2. Négocier avec les fournisseurs potentiels Nature exacte du service fourni Qualité/coût/etc. 3. Interagir avec le service du fournisseur choisi Connaître les modalités d’interaction Introduire le service dans ma chaîne de traitements 4. Eventuellement composer des services 5. Eventuellement publier mes propres services 16/12/20146

7 Principe général d’architecture 16/12/20147 SOURCE : W3C

8 16/12/20148 Un service web en action Client du Service Web Fournis- seur du Service Web Annuaire UDDI body Echanges réels (SOAP) du service Modalités d’interaction (WSDL) vers un document WSDL Trouver un fournisseur de service (UDDI) SOURCE: SIMON HUTSON, KPMG

9 Idée principale: Intégration de technologies existantes en utilisant les standards du Web 16/12/20149 Web search Distributed Computing (Corba) Knowledge representation IDL workflow soap wsdl BPEL4WS uddi XML

10 Organisation n Introduction n Prérequis: XML n Le protocole SOAP n Description des services web: WSDL n Annuaire des services web: UDDI n Pour aller plus loin… n Conclusion 16/12/ Similaire à Corba (en plus simple) Similaire à IDL Les Pages Jaunes tm

11 SOAP (ex) Simple Object Access Protocol 16/12/201411

12 Les points forts de SOAP n Protocole de communication entre applications: – Sans état – Unidirectionnel – Indépendant du protocole de communication. n Basé sur XML et les namespaces. n Permet d’utiliser les protocoles du Web (HTTP/SMTP/…) n Indépendant de la plateforme (windows, unix, mac, …) n Simple et extensible 16/12/201412

13 Principes de SOAP n Permet d’envoyer des messages XML entre deux machines. n Les messages sont « emballés » dans une enveloppe SOAP – L’enveloppe SOAP utilise un XML schéma prédéfini – Le schéma du message dépend de l’application 16/12/ SOAP Envelope (SOAP grammar) Application Message (Application-Specific grammar)

14 Anatomie d’un message SOAP n Corps de message: SOAP Body – C’est la partie qui dépend de l’application – Conventions pour faire du RPC – Gestion des erreurs: SOAP Fault n Code n Reason: compréhensible par un humain n Entêtes: SOAP Header – des méta-données pour un ou plusieurs destinataires du message. – Des moyens pour contrôler qui doit traiter quelle entête 16/12/201414

15 La pile réseau 16/12/ SOAP envelope extensions XML messaging Data encoding Network protocol Quality of Service Manageability Security SOAP Header SOAP XML HTTP SMTP FTP… Determine comment un message est envoyé.

16 WSDL : Web Services Description language 16/12/201416

17 Principes n Un langage (en XML) de description des services fournis par un serveur. n Une description de type « boîte noire » de ces services : – Quelles sont les opérations disponibles ? – Comment on y accède (adresse, protocole,…) – Quel est le format des messages échangés entre le client et le serveur: n Pour invoquer le service n Pour interpréter les résultats n …mais rien sur ce qu’ils font vraiment (leur sémantique). 16/12/ Types XML Schema des entrées sorties.

18 Structure d’un document WSDL n Un service est composé de plusieurs opérations. n Chaque opération peut avoir une entrée et/ou une sortie. n Chacun de ces messages est composé de plusieurs parties. n Chaque partie est décrite par un type. n Ces éléments sont associés par des bindings à un protocole particulier. n Pour un protocole donné, les opérations associées constituent un port, associé à une adresse. 16/12/201418

19 Types : Définition XML Schema des données 16/12/ Port Types Service Port Binding Operations Messages Types

20 Messages : Collections de types 16/12/ Port Types Service Port Binding Operations Messages Types

21 Operations : Fonctions disponibles 16/12/ Port Types Service Port Binding Operations Messages Types Définition du pattern d’intéraction par les entrées-sorties : - Input only - Output only - Input-Output - Output-Input

22 Port Types (interfaces): Ensembles d’opérations 16/12/ Port Types Service Port Binding Operations Messages Types

23 Binding : Associe des protocoles aux méthodes 16/12/ Port Types Service Port Binding Operations Messages Types Trois types de bindings : SOAP HTTP GET & POST MIME

24 Port : Associe une addresse (URL) à chaque Binding 16/12/ Port Types Service Port Binding Operations Messages Types

25 Service : ensemble de ports 16/12/ Port Types Service Port Binding Operations Messages Types My first service

26 Implémentation des services web 16/12/201426

27 De nombreux acteurs n Microsoft.Net n J2EE (Sun, IBM, etc...) n Implémentations open-source n … n Intéropérabilité : Les services des uns sont utilisables par les autres ! n WS-I.org: Web Services interoperability organization 16/12/201427

28 UDDI : Universal Description, Discovery and Integration (of services) 16/12/201428

29 UDDI n Où trouver le service dont j’ai besoin ? – Quels sont les fournisseurs potentiels ? – Lequel est le meilleur pour moi ? n Noyau: annuaires – les pages jaunes – Liste d’entreprises + comment les contacter – Classification en catégories (à la Yahoo!) – Informations en +: protocole, coût, qualité, contrat… n Question cruciale : Qui contrôle l’annuaire ? – Par exemple: qui contrôle les catégories ? Qui peut s’enregistrer dans l’annuaire ? 16/12/201429

30 UDDI (2) n Consortium industriel (IBM, Microsoft,…) n + de 200 entreprises. n Moyens de publier et de rechercher des services n Beaucoup de bruit n Limité – Peu de services – Langage d’interrogation primitif – Informations très limitées 16/12/ UDDI Microsoft Les entreprises enregistrent Des services Les clients choisissent des services UDDI IBM réplication

31 Fonctionnement 16/12/ UDDI Business Registry 3.3. UBR assigns a unique identifier to each service and business registration Marketplaces, search engines, and business apps query the registry to discover services at other companies 4.4. Service Type Registrations Companies, standards bodies, and programmers populate the registry with descriptions of different types of services 1.1. Business Registrations Businesses populate the registry with descriptions of the services they support 2.2. Business uses this data to facilitate easier integration with each other over the Web 5.5. SOURCE: UDDI.ORG

32 Contenu d’un annuaire n White pages: les entreprises – Adresse, numéro de tel, – Catégorie d’activité n Yellow pages: les services – Description textuelle – Classification en catégories n Green pages: infos techniques – Descriptions WSDL 3216/12/2014 BusinessEntity BusinessService BindingTemplates tModel publisherAssertion Spécifs de services et taxonomies Relations entre deux parties Infos techniques

33 Pour aller plus loin n Sécurité n Composition et orchestration n Sémantique 16/12/201433

34 Sécurité des services web n Principales fonctions : – Confidentialité – Authentication – Integrité des messages – Non-repudiation n Infrastructure – Cryptographie – Systèmes à clé publique, tels que RSA 16/12/201434

35 Sécurité des services web (2) n HTTP fournit un méchanisme d’authentication très simple n SSL: secure socket layer; un protocole pour transmettre des données encryptées n HTTPS = HTTP over SSL: très utilisé n XML digital signature  non-repudiation n XML encryption – SSL encrypte le message en entier; problème des intermédiaires. – XML encryption permet d’encrypter de manière sélective 16/12/201435

36 Composition et orchestration n Comment – définir des intéractions entre services – en créer de nouveaux, par composition n S’apparente aux : – Systèmes de workflow – Transactions n Domaine très actif – Travaux de recherche – Spécifications industrielles (ex: IBM WSFL, BPEL4WS, WSCI…) 16/12/201436

37 Conclusion 16/12/201437

38 Les points forts des services web n XML comme norme et modèle de données n Le Web comme terrain de jeu n La standardisation (w3c, OASIS) – Intéropérabilité n La modularité et l’extensibilité des specs : – Choix du protocole – Synchrone / asynchrone 16/12/201438

39 Vision d’ensemble n La conception d’applications devient de la gestion de flux entre services et d’évenements n Les services atomiques sont vus comme des ensembles de fonctions invocables n Les services peuvent: – Être situés n’importe où – Appartenir à n’importe qui – Être développés avec tous types d’outils – S’executer sur n’importe quelle plateforme n Les applications utilisent les services selon leurs besoins – Elles les découvrent grâce à UDDI – Peuvent négocier leur utilisation dynamiquement – Les choisir et les exécuter en temps réel. 16/12/ SOURCE: IDC

40 Courte bibliographie n XML – Extensible Markup Language XML (W3C): n XML Schema – XML Schema: n Xquery – XML Query: n W3C WS– Web Services Activity: n HTTP – Hypertext Transfer Protocol: n SOAP – Simple Object Access Protocol: n WSDL – Web Services Description Language: n OMG – Object Management Group : n CORBA– Common Object Request Broker Architecture, see OMG n UDDI – Universal Description, Discovery, and Integration: n WSFL – Web Services Flow Language: n WSCI– Web Services Choreography Interface: n Apache Axis – n J2EE – Java 2 Platform, Enterprise Edition: 16/12/201440


Télécharger ppt "Introduction aux Services Web. Vue d’ensemble n Du web des humains… – HTML dans le navigateur – BD relationnelle sur le serveur, sites web dynamiques."

Présentations similaires


Annonces Google