Table des matières

Voir cette page sous forme de diaporama.

Introduction aux web services

Définition

(ouvrage “Les web services” Ellipses, collection Technosup)

Un web service est une application informatique possédant une URI (Uniform Resource Identifier) hébergée par un serveur d'applications, cette application est composée de procédures dont l'exécution représente un service proposé à un autre programme (client) et qui est accessible sur Internet par l'utilisation de protocoles standards (http, html, xml, …).

Les web services utilisent une architecture client/serveur dans laquelle des clients (ordinateur, tél. portable, …) utilisent, via Internet, des procédures qui sont stockées sur un serveur d'applications.

Webservice et API

Une API(Application Programming Interface) est un ensemble de règles et d'outils qui permet à deux applications ou systèmes de communiquer entre eux. Les APIs définissent comment des composants logiciels doivent interagir. Elles peuvent être utilisées pour diverses finalités, pas uniquement sur le web.

Les APIs peuvent être basées sur différents protocoles :

Un web service est un type spécifique d'API qui est accessible via le réseau (généralement le web).

Les web services nécessitent un protocole réseau pour fonctionner, comme HTTP, SOAP ou REST.

Un web service fonctionne souvent en échangeant des données au format standardisé, comme XML ou JSON.

Toutes les APIs ne sont pas des web services, mais tous les web services sont des APIs.

Exemples d'utilisations d'un webservice

Caractéristiques

L'utilisateur du web service (un programmeur) est sensible au temps de réponse, à la disponibilité du web service et à sa capacité d'accueil (nombre maximal de connexions autorisées sur le web service). Ces 3 critères détermineront la performance du web service.

Le concepteur concentrera son attention sur 3 autres points : l'exploitabilité, même en cas de changement de version, l'évolutivité, l'extensibilité si le nombre d'utilisateurs augmente.

Les différentes architectures des web services

Les architectures les plus courantes aujourd'hui sont REST et SOAP.

L'architecture REST (REpresentation State Transfer)

Utilisation du protocole HTTP et des méthodes

Avec la réponse, le serveur retourne un code HTTP :

La réponse peut être un simple fichier texte, un fichier XML, ou un fichier JSON.

Note: exemple dossier D du dernier bts blanc (API REST en JAVA EE)

SOAP (Simple Object Access Protocol)

SOAP est un protocole de description de messages. Il nécessite l'utilisation du protocole WSDL (Web Server Description Langage) pour la description des services et du protocole HTTP pour le transport.

Un document SOAP est un document XML constitué d'une enveloppe comprenant un entête et un corps de message.

WSDL est utilisé pour la description du web service. Un documents WSDL est recensé dans un annuaire UDDI

SOAP est un protocole complet et puissant, mais plus complexe à utiliser.

clé API

Une clé API (ou API key en anglais) est un identifiant unique utilisé pour authentifier une application ou un utilisateur lorsqu'il interagit avec une API (Interface de Programmation d'Applications). Elle est souvent utilisée pour suivre l'utilisation d'une API, limiter l'accès, et éviter les abus.

Pourquoi utiliser une clé API ?

Comment obtenir une clé API ?

Exemple de clé API : 123456abcdef7890abcdef1234567890

https://academy.binance.com/fr/articles/what-is-an-api-key-and-how-to-use-it-securely

Où utiliser la clé API ?

Une fois que vous avez votre clé, vous l'incluez généralement dans les requêtes que vous envoyez à l'API.

À noter :

Créer un dossier webservice pour stocker le travail fait ici, créer un sous-dossier par mise en pratique (dossier monnaie, dossier codepostal …)

Mise en pratique1 : Utilisation d'un web service REST gratuit pour obtenir la parité entre 2 monnaies

On souhaite créer une interface permettant d'indiquer le taux de change (la parité) d'une monnaie par rapport à une autre :

L'utilisateur choisit une monnaie d'origine, une monnaie de destination et clique sur Rechercher. Le système affiche alors la parité entre ces 2 monnaies.

 
<select id="ldrMonnaieO" name="ldrMonnaieO">  
 <optgroup label='Monnaie origine'> 
 <?php include("listeMonnaies.inc.php"); ?>  </optgroup> 
 </select>

Le contrôle graphique correspondant à la parité ne doit pas être accessible.

$url = 'http://currencies.apps.grandtrunk.net/getlatest/'. $monnaieO . '/' .$monnaieD; 
$parite = file_get_contents($url);

$monnaieO représente la monnaie d'origine et $monnaieD la monnaie de destination.

D'autres options permettent d'obtenir des variantes de ce résultat, on peut notamment obtenir un historique, voir la documentation : http://currencies.apps.grandtrunk.net/

Mise en pratique2 : Utilisation d'un web service pour obtenir la liste des villes correspondant à un code postal donné