Introduction : Service Web et API Web

Le terme de service Web est problématique car, pour des raisons historiques, il peut regrouper plusieurs acceptions. Voici la définition du terme Web service donnée respectivement par le W3C :

There are many things that might be called « Web services » in the world at large. However, for the purpose of this Working Group and this architecture, and without prejudice toward other definitions, we will use the following definition:

A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.

Définition du W3C

et par Wikipedia :

The term web service is either

  • (generic) a service offered by an electronic device to another electronic device, communicating with each other via the World Wide Web, or

  • (specific) a web service implemented in the particular technology or brand, W3C Web Services.

In a web service, the Web technology such as HTTP—originally designed for human-to-machine communication—is utilized for machine-to-machine communication, more specifically for transferring machine-readable file formats such as XML and JSON.

Article Wikipedia

La définition du W3C restreint la notion de service Web à un ensemble de technologies (WSDL, SOAP, HTTP et XML). Cela est bien normal pour le consortium qui est responsable de la rédaction de la plupart des protocoles cités. L’article de Wikipédia donne une définition plus ouverte, allant jusqu’à distinguer des grands types de services Web.

Pour les chapitres suivants, nous opterons pour une distinction entre API Web et service Web qui s’impose de plus en plus dans la littérature. Une API Web (parfois nommée RESTful Web Services) est une interface programmatique basée sur HTTP permettant à un client et à un serveur d’interagir suivant un échange de requête/réponse. Un service Web est un protocole de communication basé sur les standards W3 tels que XML, SOAP et WSDL.

La première partie porte sur les API Web au travers d’un approfondissement des connaissances sur le protocole HTTP et une présentation du modèle d’architecture REST. La seconde partie présente succinctement les services Web (SOAP et WSDL) et fournit des exemples d’implémentation en Java.