Pour de nom­breuses personnes, utiliser des services sur le Web va de soi. Acheter en ligne, lire son journal, réserver une table dans un res­tau­rant, regarder un film sont autant de services que nous utilisons chaque jour. Alors que la personne devant son écran navigue sur Internet et prend des décisions, de nom­breuses choses se passent entre l’homme et la machine. Mais il s’en passe tout autant entre les machines. Des requêtes et des réponses sont cons­tam­ment envoyées entre le client et le serveur. Cet échange est rendu possible par le Web service (service Web en français).

Qu’est-ce qu’un Web service ? Dé­fi­ni­tion

Un service Web met à dis­po­si­tion un service via Internet. Il constitue ainsi une interface per­met­tant à deux machines (ou ap­pli­ca­tions) de com­mu­ni­quer. Pour y parvenir, la tech­no­lo­gie doit disposer de deux pro­prié­tés es­sen­tielles :

  • être mul­ti­pla­te­forme : il n’est pas né­ces­saire que le client et le serveur aient la même con­fi­gu­ra­tion pour pouvoir com­mu­ni­quer. Le service Web leur permet de se retrouver à un même niveau.
  • être partagée : dans la plupart des cas, un service Web est à dis­po­si­tion de plus d’un client. Dif­fé­rents clients accèdent à ce service via Internet.

Lorsqu’un service Web est utilisé, un client envoie une requête à un serveur et déclenche ainsi une action auprès de ce serveur. Le serveur renvoie ensuite une réponse au client.

Note

À l’origine, les services Web étaient réalisés ex­clu­si­ve­ment via SOAP. Aujourd’hui, d’autres méthodes sont toutefois également utilisées telles que REST.

La tech­no­lo­gie des services Web expliquée à travers un exemple

Les services Web sont adressés via un Uniform Resource Iden­ti­fier (URI) unique. De façon similaire à une Uniform Resource Locator (URL), qui permet d’adresser des sites Internet, l’URI est l’adresse du Web service cor­res­pon­dant. En théorie, l’annuaire de services UDDI, qui permet de trouver les services Web, joue également un rôle. Ce service n’a toutefois jamais su s’imposer, ses plus grands partisans s’étant même retirés du projet.

Le langage Web Service Des­crip­tion Language (WSDL) est quant à lui nettement plus important. Chaque service Web possède un fichier en WSDL qui décrit le service en détail. Grâce à ces in­for­ma­tions, le client peut iden­ti­fier les fonc­tion­na­li­tés qu’il peut exécuter sur le serveur à l’aide de ce service Web. Fi­na­le­ment, la com­mu­ni­ca­tion fonc­tionne à travers des ar­chi­tec­tures et des pro­to­coles dif­fé­rents. Il est par exemple fréquent de voir le protocole réseau SOAP utilisé en as­so­cia­tion avec le standard internet HTTP ou avec RESTful Web­ser­vices. Ces tech­no­lo­gies envoient des requêtes et des réponses.

La com­mu­ni­ca­tion fonc­tionne souvent sur la base du Ex­ten­sible Markup Language (XML). Ce langage re­la­ti­ve­ment simple peut être compris aussi bien par les Hommes que par les machines et est idéal pour connecter ensemble des systèmes avec dif­fé­rents prérequis. REST est toutefois com­pa­tible avec d’autres formats comme JSON.

Voici un exemple de service Web pour plus de précision : partons d’un logiciel codé en Visual Basic et fonc­tion­nant sur une machine Windows. Le programme a besoin des services d’un serveur Web Apache. Pour ce faire, le client envoie une requête SOAP au serveur sous la forme d’un message HTTP. Le service Web in­ter­prète le contenu de la requête et veille à ce que le service effectue une action. Après l’exécution, le service Web formule une réponse et la renvoie au client, une fois encore avec SOAP et HTTP. La réponse est à nouveau in­ter­pré­tée et les in­for­ma­tions sont trans­mises au logiciel où elles sont traitées.

Avantages et in­con­vé­nients des services Web

Le principal avantage des services Web réside dans le fait que la com­mu­ni­ca­tion peut s’effectuer sur diverses pla­te­formes. Le client et le serveur n’ont pas besoin d’avoir grand-chose en commun pour que la com­mu­ni­ca­tion fonc­tionne. Pour permettre cette dernière, les services Web ont recours à des formats stan­dar­di­sés compris par tous les systèmes.

L’un des in­con­vé­nients provient toutefois de ces formats. XML est un format plutôt en­com­brant qui entraîne de grands paquets de données. Dans le cas de con­nexions réseau lentes, cela peut être source de problèmes. Une autre pos­si­bi­lité pour connecter deux systèmes ensemble via Internet consiste à utiliser des API Web. Il s’agit d’in­ter­faces pouvant également être con­sul­tées via Internet. Elles sont gé­né­ra­le­ment plus rapides, mais fixent des objectifs beaucoup plus clairs pour le client et le serveur ce qui limite l’in­te­ro­pé­ra­bi­lité.

Aller au menu principal