I. Introduction▲
Vos applications .NET, qu’elles soient WindowsForms ou WebForms, peuvent avoir recours, dans le but de vous simplifier la vie, à des WebServices.
Pour faire simple, vous pouvez imaginer ces WebServices comme des fonctions, stockées sur un serveur Web, et mises à la disposition de tout le monde. Vous pouvez donc, à partir de n'importe quel ordinateur disposant d'une connexion Internet, avoir accès à ces méthodes, mais vous ne pouvez pas les modifier ou bien même les visualiser : vous passez un ou plusieurs paramètres au WebService, celui-ci effectue le traitement et vous renvoie ce qu'il faut.
En théorie, cela peut s'avérer un peu complexe : c'est pourquoi je me propose de vous montrer cela avec un exemple de code.
II. Les WebServices▲
II-A. Ajout de la référence Web▲
Avant de pouvoir travailler avec un WebService, il faut ajouter sa référence Web dans votre projet. Pour cela, vous devez connaitre l'adresse Web du WebService.
Je vous recommande le site http://www.xmethods.com/ qui contient un bon nombre de WebServices et qui vous offre la possibilité de les tester en ligne.
Une fois l'adresse du WebService trouvée, faites un clic droit sur « Références » dans votre projet et choisissez « Ajouter une référence Web ».
Vous arrivez alors sur l'écran qui vous permet de saisir l'adresse du WebService, puis vous cliquez sur le bouton « Aller à ».
À ce moment-là, vous verrez une barre de progression s'afficher à l'écran : elle vous indiquera que vous vous connectez au WebService, afin de pouvoir récupérer la liste des méthodes disponibles.
Une fois cette liste récupérée, elle sera affichée à l'écran :
À partir de maintenant, vous n'avez plus qu'à cliquer sur le bouton « Ajouter la référence » pour pouvoir ajouter ce WebService en tant que référence à votre projet.
Une fois que la référence est correctement ajoutée, vous pouvez l'apercevoir dans l'explorateur de solutions :
Une fois cette partie terminée, vous pouvez passer à la partie codage proprement dite.
II-B. Codage avec le WebService▲
Pour utiliser les méthodes de votre WebServices, vous devez, comme avec le reste de la programmation orientée objet, utiliser un objet.
Ce qui nous donne quelque chose comme ceci : (cela peut varier en fonction du nom de la référence de votre WebService) :
com.
whereisthatip.
xml.
BridlingtonOnLineService ip =
new
com.
whereisthatip.
xml.
BridlingtonOnLineService
(
);
Vous pouvez maintenant appeler les méthodes de votre WebService, méthode dont vous avez eu le nom :
- sur le site Web du WebService ;
- lors de la connexion au WebService, avant l'ajout de la référence au projet.
Dans notre cas, la méthode de notre WebService prend en paramètre deux chaînes de caractères, la première étant une adresse IP.
Le résultat retourné est une chaîne de caractères, sur deux lettres, représentant le code d'un pays :
string
lieu =
ip.
getLocationRequest
(
textBox1.
Text.
Trim
(
),
String.
Empty);
Maintenant, si vous affichez le contenu de la variable lieu, vous aurez en retour ce code de deux lettres symbolisant un pays.
Par exemple, pour une adresse IP se situant en France, la méthode retourne FR.
II-C. Inconvénients des WebServices▲
Bien qu'ils soient très pratiques de par leur utilisation (en effet, les WebServices vous permettent d'utiliser directement des fonctions écrites par d'autres personnes, ce qui vous permet de ne pas avoir à réinventer la roue), les WebServices ont aussi des inconvénients qu'il ne faut pas négliger :
- l'application est obligée d'être connectée à Internet pour pouvoir utiliser le WebService ;
- en cas de suppression du WebService sur le serveur, l'application entrainera une erreur (à moins que vous n'utilisiez une gestion des erreurs) ;
- l'application reste figée le temps de l'appel au WebService : il vous faut, par conséquent : ou bien avertir l'utilisateur (sachant que ce temps peut varier) ou bien utiliser un thread dans lequel vous mettrez l'appel au WebService.
III. Conclusion▲
Il apparaît clairement que, malgré leurs possibles inconvénients, les WebServices restent d'une forte utilité pour tous les développeurs qui ne peuvent pas perdre leur temps à devoir réécrire des routines qui existent déjà.
Néanmoins, gardez toujours à l'esprit qu'utiliser les WebServices vous rend dépendant des autres développeurs, de par le fait que vous ne contrôlez pas le code source.
IV. Téléchargement▲
Télécharger le code source (C#) de l'application de démonstration : Code source.