Cours 3 : Les Services Web - Définition et Architecture - PDF

Document Details

IntimateSerpentine4544

Uploaded by IntimateSerpentine4544

Université d'Oran

H. Meziane

Tags

web services software development computer science programming

Summary

This document provides a comprehensive overview of web services, their definition, architectures, and characteristics. It covers topics like interoperability, protocols (like HTTP and XML), and the roles of different components within a web service, such as the service provider, client, and service registry. The document is likely lecture material in a computer science related course.

Full Transcript

Masters 1 Resin, SITW,RSD,ADSI,IIEP Laboratoire Cours 3 : Les Services Web Définition et Architecture Service Web H. Meziane 1 Les Services Web : généralité (1/2)  Les services Web est une technologie pour la gestion d...

Masters 1 Resin, SITW,RSD,ADSI,IIEP Laboratoire Cours 3 : Les Services Web Définition et Architecture Service Web H. Meziane 1 Les Services Web : généralité (1/2)  Les services Web est une technologie pour la gestion des systèmes d'information et l'intégration des entreprises dans l'infrastructure du Web.  Les web services permettent l’invocation de fonctions distantes, présentes sur des systèmes distribués et hétérogènes, grâce au protocole HTTP et XML.  Les services web sont des applications auto‐ descriptives, modulaires et faiblement couplés qui fournissent un modèle de programmation et de déploiement d’applications, basé sur des normes, et s’exécutant au travers de l’infrastructure web. Couplage faible : deux systèmes sont considérés comme faiblement couplés si le seul mandat imposé aux deux systèmes est de comprendre les messages textuels. Les services sont autonomes dans leur finalité et leur exécution. Un service ne doit pas avoir de dépendance forte vis‐à‐vis d’autres services, sinon on aboutit à un système fortement couplé qui est fragile et complexe. Service Web H. Meziane 2 Les Services Web : généralité (2/2)  les services web peuvent être implémentés sur différentes plateformes et avec des langages variés, ils deviennent un moyen technique intéressant pour interconnecter des modules s’exécutant sur des plate‐ formes hétérogènes.  Un service web est une application conçue pour assurer une interopérabilité entre machines au travers d’un réseau.  Un web service est une interface qui décrit un ensemble d’opérations accessibles via un réseau par des messages XML standards. Service Web H. Meziane 3 Les services Web : Définition Il existe plusieurs définitions d'un service Web, dont voici celle fournie par le W3C en version anglaise : Definition (Web Service (W3C)) A Web service is a software system designed to support interoperable machine‐to‐machine interaction over a network. It has an interface described in a machin‐tractable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP‐messages, typically conveyed using HTTP (hypertext transfer protocol) with an XML serialization in conjunction with other Web‐related standards. « Un service web est un système logiciel conçu pour permettre l’interopérabilité entre les machine sur un réseau. Il possède une interface qui décrit, dans un format normalisé, le moyen de communiquer avec la machine (par exemple : WSDL). D’autres systèmes interagissent avec les services web, conformément à l’interface, en utilisant des messages SOAP envoyés par le protocole HTTP et écrits en XML, en liaison avec d'autres standards relatifs au web ». 4 Service Web H. Meziane Les services Web : Propriétés La notion de « Web Service » désigne essentiellement une application (un programme ) mise à la disposition sur internet par un fournisseur de service, et accessible par les clients à travers des protocoles internet standards. Le consortium W3C (http://www.w3.org/2002/ws/) définit un web service comme étant une application ou un composant logiciel qui vérifie les propriétés suivantes :  Il est identifié par un URI,  ses interfaces publique et ses liens (binding) sont définies et décrites en XML,  sa définition peut être découverte (dynamiquement) par d’autres systèmes logiciels (ou d’autres web services),  Ces autres systèmes peuvent ensuite interagir avec le service web d’une façon décrite par sa définition, en utilisant des messages XML transportés par des protocoles Internet. Service Web H. Meziane 5 Les services Web : caractéristiques  Les services Web proposent diverses fonctionnalités que d’autres programmes peuvent : 1.Découvrir dynamiquement 2.et Utiliser grâce à des protocoles  décrits en XML  basés sur l’échange de messages  écrits en XML  transmis par HTTP, FTP, SMTP, etc.  Caractéristiques 1. Réutilisable 2. Indépendamment de  la plate‐forme (UNIX, Windows, …)  l’implémentation (VB, C#, Java, …)  l’architecture sous‐jacente (.NET, JEE, …) Service Web H. Meziane 6 Les services Web : définition plus pratique  Les services Web est une application informatique qui : 1. possède une URI, 2. hébergé par un serveur d’application qui est composée de procédures dont l’exécution représente un service proposé à un autre programme informatique, nommé client, et qui est accessible sur internet par l’utilisation de protocoles standards (HTML, XML,….) Service Web H. Meziane 7 Figure 1. Architecture client/serveur Service Web INTERNET CLIENT SERVEUR JS Les services Web créent une architecture de CLIENT type Client/Serveur dans laquelle des clients (ordinateur de bureau, ordinateur portable, téléphone portable,…) utilisent et executent, via Internet, des procédures ou operations qui sont stockées sur le serveur d’application CLIENT. Service Web H. Meziane 8 Les composants d’un Services Web Trois composants sont nécessaires dans un web service : Un protocole pour décrire le service (idéalement il doit lister les méthodes disponibles et leurs arguments….); Un protocole décrivant la composition des messages; Un protocole de transport pour faire circuler les messages sur internet. Protocole de description des messages (SOAP,…) Protocole de description des services (WSDL,…) Protocole de description des services de transport (HTTP, SMTP,…) 9 Service Web H. Meziane Exemple de services existants (1/3)  Google (http://www.google.com/apis/) Accès gratuit mais limité (1000 requêtes par jour après enregistrement).  Amazon (http://aws.amazon.com/fr/ ) Accès gratuit mais limité (1 requête par seconde après enregistrement). Et bien d’autres ………………………. Service Web H. Meziane 10 Les différentes Architecture des Services Web  Utilisé un service web consiste a invoquer une operation (méthode) qui est disponible sur une machine distante accessible via Internet. Il existe de très nombreux moyens de fournir ce type de service, mais généralement les web services existent sous trois architectures : Architecture XML‐RPC (Remote Procedure Call) Architecture SOAP (Simple Access Protocol). Architecture REST (REpresentational Stage Transfert) Service Web H. Meziane 11 Architecture générale des Services Web et des clients La partie droite ( Web service) décrit les trois types d’architecture d’un service web (XML‐RPC, REST, SOAP). La partie centrale (interface) décrit les interfaces permettant d’utiliser les web services (Bibliothèque JEE, C #, PHP, Ajax). La partie gauche (client) figure tous les clients des web services avec les technologies utilisées (java, C #, PHP, ou encore javaScript). Interface Clients Web Service Web Service Bibliothèque JAVA Netbeans JEE SOAP C# Visual Studio Bibliothèque C# REST PHP Eclipse PDT Bibliothèque PHP HTML Eclipse JS JavaScript AJAX XML‐RPC Service Web H. Meziane 12 Architecture Services Web : SOAP/HTTP/WSDL  Lorsque l’on parle d’architecture SOAP cela correspond a une architecture Client/Serveur utilisant les technologies SOAP/HTTP/WSDL.  Il y a deux façons de voir l'architecture SOAP :  La première consiste à examiner les rôles de chaque acteur du service Web dans cette architecture.  la seconde consiste à examiner la pile des protocoles relative aux services web relative à cette architecture. Service Web H. Meziane 13 Architecture SOAP : Les rôles 3 Publish services Figure 5. Web Service rôles La collaboration entre services web s’appuie sur un modèle d’interaction dont les composants assurent trois rôles :  Le fournisseur de service : correspond au propriétaire du service. D’un point de vue technique, il s’agit de la plate‐forme qui héberge l’accès au service.  Le client : correspond au demandeur de service et consiste à demander certain fonctionnalités à satisfaire. D’un point de vue technique, il s’agit d’une application qui recherche et qui invoque une interaction avec un service. Le rôle du demandeur de service peut être assuré par un browser piloté par une personne ou un programme sans interface utilisateur, par exemple un autre web service.  L’annuaire de service : Correspond à un registre de description de services offrant des facilités de publication de services à l’intention des fournisseurs ainsi que des facilités de recherche de services à l’intention des clients. 14 Service Web H. Meziane Modèle d’interaction 3 Publish services Les interactions de base entre ces trois rôles incluent les opérations : 1. de publication de description de service (Publish) 2. de recherche et la découverte de la bonne description du service (Find, Discover) 3. L’invocation des services basée sur la description (Bind invoke) Dans ce scénario, le fournisseur de service définit la description de son service et la publie dans un annuaire de service. Le client utilise les facilités de recherche disponibles au niveau de l’annuaire pour retrouver et sélectionner un service donné. Il examine ensuite la description du service sélectionné pour récupérer les informations nécessaires lui permettant de se connecter au fournisseur de service et d’interagir avec l’implémentation du service considéré. Service Web H. Meziane 15 Architecture Services Web : SOAP/HTTP/WSDL  Il y a deux façons de voir l'architecture SOAP : La première consiste à examiner les rôles de chaque acteur du service Web dans cette architecture. la seconde consiste à examiner la pile des protocoles relative aux services web relative a cette architecture. Service Web H. Meziane 16 La pile des protocoles dans les services web (1/3)  La deuxième option pour visualiser l'architecture de services Web est d’examiner la pile des protocoles émergents dans les services web. La pile dispose actuellement de quatre couches principales. Figure 3. Web service protocol stack Service Web H. Meziane 17 La pile des protocoles dans les services web (2/3)  Service transport Cette couche est responsable du transport des messages entre les applications. Cette couche inclut le protocole HTTP (hypertext transfer protocol ), le protocol SMTP (Simple Mail Transfer), le protocol FTP (file transfer protocol ),ect… Transport HTTP, SMTP, FTP, BEEP  XML messaging Cette couche est responsable pour l’encodage des messages dans un format commun XML de sorte que les messages peuvent être comprises à chaque extrémité. Cette couche comprend XML‐RPC et SOAP. XML messaging XML/RPC, SOAP, XML Service Web H. Meziane 18 La pile des protocoles dans les services web (3/3)  Service description Cette couche est responsable de la description de l'interface publique d'un service web spécifique. La description de service est gérée via WSDL (Web Service Description Language ). Description WSDL  Service discovery Cette couche est responsable de la centralisation des services dans un registre commun. Elle fournir et faciliter les fonctionnalités de publication/recherche. Le service de découverte est traité via UDDI (Universal Description Discovery and Integration ). Discovery UDDI Service Web H. Meziane 19 Caractéristiques Techniques des services Web (1/2) Les différentes couches (HTTP, SOAP, WSDL, UDDI) garantissent l’interopérabilité des trois opérations suivantes : la Publication, la Recherche et le Lien. Service Web H. Meziane 20 Caractéristiques Techniques des services Web (2/2)  Ce modèle de programmation et de déploiement d'application assure l'interconnexion de services logiciels en se basant sur ces standards (HTTP, XML, SOAP, WSDL, UDDI) pour faciliter le transport, l'invocation, la description et la recherche des services Web.  Lorsqu’un service Web est déployé, les autres applications (et autres services Web) peuvent le découvrir et l'invoquer.  Les services Web peuvent être répartis sur différents serveurs, s'invoquer mutuellement à travers un réseau local ou étendu dans le cadre des échanges électronique B2B (Business‐to Business) ou B2C (Business‐to‐Consumer) en utilisant les standards XML. Service Web H. Meziane 21

Use Quizgecko on...
Browser
Browser