P
'
t
i
t
e
C
h
a
t
t
e
 
spacer~ ABSOLUTE ADDRESSING CORRUPTS ABSOLUTELY Articles | Connexion
 
~Introduction aux Services Web

Précédent  
  Services Web  
  Suivant
 Présentation

Les modes vont et viennent en informatique. Aujourd'hui, l'attention générale se porte sur les Services Web. Cités et utilisés de partout, nous en comprenons toutefois rarement la véritable nature. Ce dossier se propose de vous apporter quelques réponses.
 Sommaire


 Introduction

Imaginez un monde dans lequel règne un environnement informatique distribué. Et imaginez que dans celui-ci toutes les applications, voire leurs simples composants, pourraient communiquer et collaborer de manière totalement neutre. Les opérations au sein des organisations ou entre les organisations ne seraient plus imposées par des plate-formes ou des langages. Ce monde, les Services Web tentent de le mettre en place.

Un Service Web représente un élément logique d'une organisation disponible sur Internet. Pour y accéder des protocoles répandus et connus tels que HTTP peuvent être utilisés. Ce n'est pas la première fois qu'une technologie tente d'introduire un semblant d'homogénéité entre les applications. Nous pouvons à cet effet citer l'exemple de DCOM et CORBA, qui ont malheureusement failli à leur tâche. Toutefois, la grande distinction entre les Services Web et ces anciennes technologies réside dans la standardisation. Articulée autour de XML, cette nouvelle architecture a reçu le support des acteurs majeurs de l'univers informatique présent.

Plusieurs caractéristiques permettent d'identifier de manière formelle les Services Web. En premier lieu, ils exploitent de manière exclusive le format d'échange XML non seulement en ce qui concerne les données échangées, mais également en ce qui concerne les protocoles, éliminant ainsi tout lien possible avec une architecture matérielle ou logicielle. Ensuite, cette technologie permet non seulement l'échange de documents de manière transparente, mais également l'invocation de procédures distantes. Ce dernier point garanti l'unification des langages. Enfin, ces services ont l'avantage de pouvoir fonctionner non seulement de manière synchrone mais également de manière asynchrone. Ainsi, une application pourra émettre une requête auprès d'un Service Web et continuer ses tâches sans attendre une réponse immédiate. Ceci revêt une importance fondamentale dans le cadre de collaborations entre plusieurs applications complexes.


 Les standards des Services Web

Cette offre est rendue possible grâce à plusieurs protocoles que nous pouvons regrouper dans quatre catégories distinctes. La première catégorie concerne les messages échangés avec les Services Web. Comme nous l'avons vu, XML joue ici un rôle. Le format exact a été formalisé et standardisé sous la forme du Simple Object Access Protocol (SOAP). Celui-ci a été prévu pour supporter l'échange de documents ainsi que les appels de procédures distantes.

Nous avons ensuite les protocoles de transport qui regroupent à l'heure actuelle HTTP, FTP et SMTP. Rien n'interdit l'ajout dans le futur de nouveaux.

La catégorie suivante concerne la description des services. Pour s'assurer que tout un chacun pourra utiliser les Services Web de manière optimale, une technologie XML a été mise en place pour présenter leurs interfaces publiques. Le Web Service Description Language (ou WSDL) décrit exhaustivement leur structure en définissant par exemple les paramètres d'entrée et de sortie, la nature de l'invocation, et ainsi de suite.

Enfin, la dernière catégorie concerne la recherche de services au sein d'annuaires. La technologie employée actuellement se nomme Universal Description, Discovery and Integration (UDDI). Nous pourrons grâce à UDDI découvrir un service adapté à nos besoins en le cherchant par son nom ou encore par sa catégorie. UDDI s'avère extrêmement important et utile pour les entreprises car il leur permet d'exposer leurs propres capacités, tout en leur donnant accès à celles de leurs partenaires commerciaux.


 Le rôle des Services Web

Les Services Web s'intègrent dans ce que l'on appelle des Service Oriented Architectures (ou SOA). Ces architectures ne possèdent pas de taille ni de complexité définie à l'avance. Ils ont donc été prévus pour fonctionner dans des SOA de toutes tailles, par exemple entre un téléphone mobile et un serveur ou entre deux serveurs. En pratique on distinguera surtout les implémentations de fine granularité des autres.

Ces implémentations fines réalisent des opérations simples, ou discrètes. Il s'agira par exemple d'employer le service "HK Weather Forecast" disponible sur le site www.xmethods.com pour obtenir les prévisions météorologiques à Hong-Kong pour les cinq prochains jours. Ou encore de faire appel au "Norwegian central bank currency rates" pour réaliser des conversions de devises. Mais ce ne sont pas le genre d'opérations qui se révèlent les plus intéressantes pour des entreprises.

Ces dernières se reposeront plus souvent sur des services complexes.

Prenons l'exemple d'une compagnie aérienne exposant un Service Web de réservation de billet. Ce service est destiné aux seules agences de voyages agréées. Ces dernières le contacteront à la demande d'un client. En sus de la réservation la compagnie aérienne pourra, toujours par l'entremise de Services Web, contacter une agence de location de voitures partenaire située à l'aéroport de destination, puis une compagnie de taxis pour emmener le client jusqu'à son avion le jour du départ. Bien entendu, grâce au système de recherche UDDI tout ceci s'effectuera de manière automatique et transparente en tout point du processus. Au final, les démarches sont accélérées pour le client ainsi que pour la compagnie aérienne.

Dans ce petit exemple, les Services Web représentent donc un moyen efficace pour mettre en place du B2B (Business To Business) et du B2C (Business To Consumer). Utilisés au sein d'une même entreprise, ils facilitent en outre l'intégration du B2E (Business To Employee).



Légende


 Doit-on s'intéresser aux Services Web ?

Avec la présence aujourd'hui de plate-formes de développement extrêmement évoluées et complexes, notamment J2EE et .NET, il se révèle indispensable de bénéficier d'un moyen de communication évolué et standardisé. Une entreprise n'aura plus à choisir l'une ou l'autre en fonction de son environnement, mais seulement en fonction de ses propres critères.

Les Services Web possèdent toutes les clés du succès. Premièrement les auteurs de J2EE et .NET, Sun Microsystems et Microsoft, se sont immédiatement impliquée dans ce nouveau standard. Ensuite parce que celui-ci repose sur des technologies existantes, éprouvées et bien connues des développeurs. Devenir un concepteur de Service Web demande de connaître les rudiments du protocole HTTP et de comprendre ce qui se cache derrière XML. Ce format existant depuis cinq ans, les programmeurs ont largement eu le temps de s'en imprégner. Et pour ne rien gâcher, les communautés des logiciels libres et Open Source proposent aujourd'hui des bibliothèques permettant de bénéficier des apports de ce nouveau modèle d'informatique distribuée. La fondation Apache offre ainsi une implémentation du format SOAP.

Se restreindre à ces deux plate-formes n'est d'ailleurs pas nécessaire. Utiliser Python, Ruby ou J2ME, pour ne citer qu'eux, ne défavorise en rien l'emploi des Services Web. Enfin, bien que présents depuis longtemps déjà, SOAP 1.1 remonte au mois de mai 2000, leur adoption s'apparente à un mouvement de fond, presque imperceptible, mais certain. N'hésitez pas à en profiter, l'effort d'adaptation sera minime, tandis que les résultats pourront s'avérer étonnants.

Les différentes parties de ce dossier vont nous permettre de découvrir tour à tour SOAP, les appels de procédures distantes par l'entremise d'un sous-ensemble de SOAP ainsi que d'une autre technologie XML, la description des Services Web par WSDL et leur découverte par UDDI.



par Romain Guy
romain.guy@jext.org
http://www.jext.org
Dernière mise à jour : 14/10/2006


Précédent  
  Services Web  
  Suivant

 
#ProgX©2005 Mathieu GINOD - Romain GUY - Erik LOUISE