Le petit monde des technologies de l’information aime les buzzwords. Il y a eu une époque où tout le monde disait “Network Computer” autant que possible, il y a eu une époque ou “Java” devait figurer dans tout white paper ou business plan qui se respecte, il y a eu l’époque “XML”, il y a eu l’époque “Open Source”…
En ce moment, l’un des mots à la mode est “webservices”… mais comme toujours, la plupart des gens qui en parlent ne savent pas vraiment ce que c’est… :»
Bon, il faut dire aussi qu’on nous rabache systématiquement les mêmes exemples peu parlants… Dans la presse vous pouvez lire que grâce aux webservices un site web de voyages peut communiquer en temps réel avec les centrales de réservation de la compagnie aérienne ainsi que celle de l’hôtel où vous allez afin de vérifier en direct la disponibilité de votre séjour tout compris. Ca vous parle? :lalala:
Dans les tutoriaux, vous tomberez inévitablement sur un autre exemple parfaitement grotesque: comment envoyer deux nombres vers un serveur distant qui nous retourne en échange la somme de ces deux nombres! 8| Ou encore: envoyez le numéro d’un département et recevez en retour le nom du département… :|
Okay, à mon tour d’ajouter mon petit grain de sel et de tenter d’apporter des exemples plus parlants… ;D
Le concept
Tout d’abord, le concept de web-service veut simplement dire qu’un serveur propose des fonctions (des “services”) que vous pouvez invoquer à distance à travers le web afin de déclencher un traitement sur le serveur distant et/ou obtenir une information de ce serveur.
Ce concept n’est pas nouveau. Avant on appellait ça des RPC pour “Remote Procedure Calls”. Outre les RPC du monde UNIX, il existe pour celà des standards ouverts depuis belle lurette, en particulier CORBA et la réponse propriétaire de Microsoft: DCOM.
La seule nouveauté avec les webservices, c’est que ces appels de procédures à distance se font comme des appels de page web, c’est à dire sur le protocole HTTP. “Je demande une URL, je reçois une page” devient “Je demande un service, je reçois une réponse”. L’unique avantage de passer par HTTP est de ne pas nécessiter l’ouverture de ports spécifiques sur les firewalls. Super innovant comme concept, non? :crazy:
Bien évidemment, les webservices ont leurs propres standards, en particulier SOAP (le plus utilisé) ou encore XML-RPC (un protocole version “light”, pourrait on dire).
Bon concrêtement, me direz vous, ça sert à quoi? Voici donc mes deux exemples à moi… ;)
Exemple 1: Lutte contre le spam
C’est un exemple spécial bloggers. Vous avez donc un blog sur lequel on peut laisser des commentaires (comme ici). Depuis quelques mois, vous constatez que des robots postent automatiquement des commentaires de spam renvoyant vers des sites tout à fait indésirables. Vous les supprimez méthodiquement…
Peut être même votre outil de blog vous propose-t-il d’alimenter une blacklist d’URL indésirables. Ainsi, en cas de nouveau spam pointant vers une URL indésirable connue, l’outil de blog le refuse automatiquement. Toutefois, vous devez lui apprendre chaque nouveau spam, un par un.
En mettant à profit les webservices, votre outil de blog pourrait envoyer chaque nouvelle URL indésirable vers un site centralisé et recevoir en retour toutes les URL indésirables déjà recensées par d’autres bloggeurs. Votre outil de blog dispose ainsi de signatures de spam avant même que le spam n’ait atteint votre site!
Si vous voulez voir ce système en action, téléchargez la dernière version de b2evolution (version 0.8.7 ou CVS).
Exemple 2: Portefeuille d’investissements centralisé
Autre exemple: Vous avez un compte titres dans un établissement financier, un PEA dans un autre ainsi que deux contrats d’assurance vie dans encore deux autres établisssements différents. (Je pourrais vous expliquer pourquoi il est important de ne pas mettre tous ses oeufs dans le même établissement mais c’est vraiment hors sujet là…) Sur chacun de des quatre comptes, vous avez acheté un certain nombre de titres actions, parts de SICAV, FCP ou autres…
Etant donné que nous sommes au 21ème siècle, chacun de vos 4 établissements financiers vous propose, sur son site web, de suivre les performances de vos investissements en temps réel. C’est beau la technologie vous dites vous… Hummm… en fait, au bout de quelques semaines à faire systématiquement la tournée des quatre sites web en rentrant à chaque fois URL, login, mot de passe, clic par ci, clic par là, vous commencez vraiment à penser le contraire! >:XX
Pire encore, si vous avez acheté des parts de SICAV par exemple, disons 5 SICAVs différentes sur chacun de vos 4 comptes. Si vous voulez lire les rapports hebdomadaires ou mensuels des gérants de ces SICAV, vous devez alors faire la tournée des 20 sites web des gérants de vos SICAV pour suivre vos investissements. XX(
Ici encore, imaginez que vous ayez un outil qui permette, grâce à des appels de webservices, de récupérer automatiquement vos positions sur les sites de vos établissements financiers ainsi que les rapports de gestion sur les sites des gestionnaires de SICAV… vous auriez un comtpe rendu complet centralisé, et toujours à jour.
Avec quelques webservices supplémentaires, vous pourriez même acheter, vendre, arbitrer sur l’ensemble de vos comptes depuis un logiciel ou un site centralisé.
Je ne connais pas de logiciel permettant de faire celà à ce jour (pour les particuliers) et je n’ai pas les contacts nécessaires chez les principaux acteurs de la place pour leur proposer de réaliser un tel projet. Mais si vous connaissez des solutions en cours, ça m’intéresse! ;)
Comments from long ago:
Comment from: Benoit Moussaud
j’avais déja eu ce même raisonement il y a quelques mois:
http://blogs.application-servers.com/roller/page/moussaud/20031215#retour_sur_l_orient_eacuteLes “WebServices” ne sont qu’un nouveau buzzword sur un concept vieux de 15 ans ! je suis content de n’etre pas le seul à m’exprimer dans ce sens.
Ce qui rassure dans les WebServices, c’est que le protocol est Web et donc souvent déja ouvert pour d’autres application (internet,intranet et extranet)
2004-03-09 12-12
Comment from: GaB
Plus d’info sur les web services ici mais encore une fois sans exemple concret…
http://www.cirano.qc.ca/pdf/publication/2003RB-07.pdf
2004-03-16 00-05
Comment from: soso
Merci pour ces explications très claires qui conviennent parfaitement à un débutant qui découvre enfin ce que veulent dire ces 2 mots !
Pour ton 1er exemple, Wordpress inclue un webservice de ce type-là : Akismet.
2009-02-05 16-06
Comment from: soso
Ah oui j’oubliais !
Je serais bien intéressé pour entendre les raisons qui te poussent à ne pas mettre tous tes oeufs dans le même panier (je veux dire, à part le bon sens…) ?
2009-02-05 16-08
Comment from: fotso narcisse
merci pour les explications
mais ce n’est pas complet
narcisse fotso
2009-06-26 22-28
Comment from: moncef
l’interet d’un webservice est qu’il soit publié par son producteur et utilisé par un autre site s’il estime que c’est utile pour ses visiteurs. or je n’arrive pas à voir ce qui existe déjà, précisément, comment consulter les annuaires uddi
2009-11-01 17-49
Comment from: SAWADOGO AISSETA
voici le theme de ma memoire: Utilisation du Web service pour la facilitation du tourisme d’une ville X. . je veux creer une interface pour cette ville concernant les infrastructures tels que: les banques, les hotels, restaurants, les hopitaux, les services de securites….Pouvez vous m’aider dans la creation de la page web?
2010-05-31 00-56
Comment from: betclic
au moins c’est une explication claire et précise, merci!
2010-12-07 14-04
Comment from: El-Fils
simple comme explication mais pas assez pour comprendre le vrai concept! (travail sur le sujet depuis 3mois)
2011-03-15 02-33
Comment from: dom
Bravo pour la clarté. ça change et ça fait du bien!
2012-04-04 08-38