Web Services


Avec l'interconnexion des ordinateurs en réseau et en particulier à travers internet, il devient possible de faire
fonctionner des applications sur des machines distantes. L'intérêt d'une application fonctionnant à distance
peut à première vue sembler inutile dans la mesure où les applications fonctionnent fort bien en local
(sur le poste de l'utilisateur), néanmoins une application distante peut répondre aux problématiques suivantes :

  • Les données peuvent être présentes uniquement sur le serveur distant (par exemple un catalogue produit, un classement en temps réel, etc.) ;
  • Le serveur distant peut disposer d'une puissance de calcul ou de capacités de stockage dont l'utilisateur local ne dispose pas ;
  • L'application distante peut être utilisée simultanément par un grand nombre d'utilisateurs et sa mise à jour

n'intervient qu'à un seul endroit.


Pour toutes ses raisons, une interaction entre des programmes distants peut être utile. Les Web Services apportent
une solution à ce problème en définissant une manière standard d'invoquer une application distante et d'en récupérer
les résultats à travers le web.
 

Web Service


Les services web (en anglais web services) représentent un mécanisme
de communication entre applications distantes à travers le réseau internet
indépendant de tout langage de programmation et de toute plate-forme
d'exécution :

  • utilisant le protocole HTTP comme moyen de transport. Ainsi, les communications

s'effectuent sur un support universel, maîtrisé et généralement non filtré par les pare-feux ;
  • employant une syntaxe basée sur la notation XML pour décrire les appels

de fonctions distantes et les données échangées ;
  • organisant les mécanismes d'appel et de réponse.



Grâce aux services web, les applications peuvent être vues comme un ensemble de services métiers,
structurés et correctement décrits, dialoguant selon un standard international plutôt qu'un ensemble d'objets
et de méthodes entremêlés.


Le premier bénéfice de ce découpage est la facilité de maintenance de l'application, ainsi
que l'interopérabilité permettant de modifier facilement un composant (un service) pour le remplacer
par un autre, éventuellement développé par un tiers. Qui plus est, les services web permettent
de réduire la complexité d'une application car le développeur
peut se focaliser sur un service, indépendamment du reste de l'application.


Les services web facilitent non seulement les échanges entre les applications de l'entreprise mais surtout
permettent une ouverture vers les autres entreprises. Les premiers fournisseurs de services web sont ainsi les fournisseurs de
services en ligne (météo, bourse, planification d'itinéraire, pages jaunes, etc.), mettant à disposition
des développeurs des API (Application Programmable Interface) payantes ou non, permettant d'intégrer leur service au
sein d'applications tierces.
 

Couches


Le fonctionnement des services web repose sur un modèle en couches, dont les trois couches fondamentales sont les suivantes :
  • Invocation, visant à décrire la structure des messages échangés par les applications.
  • Découverte, pour permettre de rechercher et de localiser un service web particulier dans un annuaire de services

décrivant le nom de la société, l'objectif de chaque service, etc.
  • Description, dont l'objectif est la description des interfaces (paramètres des fonctions, types de données) des services web.

 

Standards


Les standards de base utilisés par les Web-Services (SOAP, WSDL) sont normalisés par le W3C (http://www.w3.org/2002/ws/), tandis que l'OASIS
est chargée de la standardisation des couches supérieures, plus proches du niveau applicatif (sécurité, etc.).
 

Invocation


Il existe deux grands standards de services web, tous deux basés sur XML :

  • XML-RPC (XML Remote Procedure Call) , le plus ancien, fonctionnant sur un principe proc&eaacute;dural et sans gestion des états.
  • SOAP (Simple Object Access Protocol), fonctionnant selon le modèle objet.



Quel que soit le standard utilisé, le principe de programmation est le même : l'appel de méthode distante
est réalisé grâce à une bibliothèque cliente qui transmet la demande au fournisseur de service en la formattant
en XML de manière transparente; au niveau du serveur une bibliothèque serveur décode la requête, le serveur fait
ses traitement, puis répond grâce à cette même bibliothèque; la bibliothèque client décode
enfin la réponse afin qu'elle puisse être utilisée par l'application client.
 

Découverte


Le protocole standard le plus utilisé pour la découverte de services est UDDI.
 

Description


Le protocole standard le plus utilisé pour la description de services est WSDL.
 

Plus d'information

Réalisé sous la direction de , fondateur de CommentCaMarche.net.

Ce document intitulé «  Web Services  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.