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



Dernière modification le mardi 14 octobre 2008 à 17:40:37.Ce document intitulé « Web Services » issu de Comment Ça Marche (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.
Meilleures réponses pour « Web Services » dans :
Axis 2 [Partie 2]: Mise en place et utilisation VoirMise en place Déploiement des Web Service Axis 2: Mise en place et utilisation Mise en place L’utilisation d’Axis nécessite un serveur d’application comme tomCat ou plus précisément un servlet container. Donc la première étape consiste...
Axis 2 [Partie 1] Voir1.Concept 2.Fonctionnement : runtime 3.Axis2 : WSDL2Java 4.Axis2 : Databinding framework ADB 5.Distribution Axis Axis 2 1.Concept Le concept des Web Service tourne autour des trois acronymes suivants : SOAP (Simple Object Access...
WSDL VoirWSDL Le standard WSDL (Web Service Description Language) est un langage reposant sur la notation XML permettant de décrire les services web. WSDL permet ainsi de décrire l'emplacement du service web ainsi que les opérations (méthodes, paramètres et...
UDDI (Universal Description, Discovery, and Integration) VoirUDDI Le standard UDDI (Universal Description Discovery and Integration) défini par l'OASIS vise à décrire une manière standard de publier et d'interroger les services web proposés par un réseau, généralement au sein d'un service d'annuaire...
Le protocole HTTP VoirIntroduction au protocole HTTP Le protocole HTTP (HyperText Transfer Protocol) est le protocole le plus utilisé sur Internet depuis 1990. La version 0.9 était uniquement destinée à transférer des données sur Internet (en particulier des pages Web...