Introduction aux Web Services
Introduction aux Web Services
Service-Oriented Architecture (SOA) and Web Services · notes
Fiche de révisionRésumé
Rédigée à partir de ce document, puis vérifiée avant publication.
Cette page offre une introduction complète aux web services, en expliquant leurs définitions, caractéristiques, technologies et un exemple d'usage. Les étudiants apprendront les concepts fondamentaux et les principes qui régissent les web services, ainsi que leur mise en œuvre dans des environnements variés.
Selon le W3C, "Un Web Service est une application logicielle identifiée par un URI, dont les interfaces et associations peuvent être définies, décrites et découvertes par des méthodes XML, et qui peut interagir directement avec d'autres applications en utilisant des messages XML via les protocoles Internet standards." De plus, Forrester Research définit un web service comme "un logiciel conçu pour être utilisé par d'autres logiciels à travers les protocoles et standards Internet."
Les web services possèdent plusieurs caractéristiques clés :
Les web services introduisent un nouveau modèle de développement basé sur les architectures orientées services (SOA). Un service traite un problème donné, et plusieurs services peuvent être combinés pour résoudre des problèmes de plus en plus complexes. L'avantage est que le client consommateur n'a pas besoin de connaître l'identité du fournisseur du service; il doit simplement exprimer son besoin. Face à un besoin, plusieurs fournisseurs de services peuvent exister, chacun ayant des caractéristiques de coût, de performance, de fiabilité, etc.
Les web services sont essentiels lorsque l'on a besoin d'interopérabilité dans des environnements applicatifs distribués. Ils permettent aux services de communiquer entre eux depuis des environnements applicatifs distants. De plus, ils facilitent l'accès aux applications à travers un pare-feu, car ils sont définis et accédés avec XML sur des protocoles standards comme HTTP et SMTP. Cela les rend flexibles et indépendants des langages et des systèmes.
L'architecture des services web repose sur plusieurs technologies essentielles :
SOAP est un protocole de transmission de messages qui est indépendant de la plateforme. Il définit un ensemble de règles pour structurer des messages principalement pour exécuter des dialogues requête-réponse de type RPC (Remote Procedural Call). Un message SOAP est un document XML qui se compose d'une enveloppe SOAP, d'une entête SOAP et d'un corps SOAP.
WSDL est un langage en XML qui décrit les services fournis par un serveur. Il fournit une description de type "boîte noire" des services, indiquant quelles sont les opérations disponibles, comment y accéder, et quel est le format des messages échangés entre le client et le serveur.
Un exemple d'usage des services web pourrait être une application qui donne les conditions de temps. Dans ce cas, l'application interroge un annuaire pour trouver un fournisseur de service météo, négocie avec ce fournisseur pour connaître la nature exacte du service fourni, puis interagit avec le service choisi pour obtenir les données requises.
Voici les points essentiels à retenir concernant les web services :
Un web service est une application logicielle accessible via le web, qui permet à d'autres applications de communiquer entre elles en utilisant des messages XML sur des protocoles standards.
Les avantages incluent l'interopérabilité entre différentes plateformes, la flexibilité d'accès via des pare-feux, et la capacité à combiner plusieurs services pour résoudre des problèmes complexes.
SOAP fonctionne en structurant des messages XML dans une enveloppe SOAP, qui contient une entête et un corps. Cela permet l'échange de messages entre deux machines, indépendamment de la plateforme.
WSDL est un langage XML utilisé pour décrire les services web, spécifiant les opérations disponibles, comment y accéder, et le format des messages échangés.
UDDI est utilisé pour trouver des services web disponibles, en fournissant un annuaire où les entreprises peuvent enregistrer leurs services et où les clients peuvent rechercher des fournisseurs potentiels.