Les services Web

Que se cache-t-il derrière un si joli nom?

Un service web est en quelque sorte, une manière de communiquer entre plusieurs applications. C'est en fait un groupe de standard permettant à différents systèmes de communiquer sans avoir besoin d'un type particulier de middleware, de langage de programmation et de système d'exploitation.

Historiquement on est passé de l'application traditionnelle (aucune interaction avec une autre application sauf par batch), par l'informatique distribuée (CORBA, MTS, EJB) qui permet à différentes applications de communiquer entre elles en appelant des composants locaux ou distants.

Il restait encore 2 problèmes:
a) l'application cliente se doit d'utiliser la même technologique que le serveur d'application
b) Il n'est pas possible d'accéder au système depuis l'extérieur.

Les services web résolvent ces 2 problèmes en étant basés sur le XML et en échangeant des messages SOAP entre les systèmes.

Un service web tourne sur un serveur d'application Web (Apache Geronimo, WAS, …). Un serveur d'application Web écoute les requêtes, traduit ces requêtes en quelque chose que le service peut comprendre et ensuite exécute le traitement nécessaire.

Il est possible de faire tourner des services web sur un simple serveur HTTP mais dans ce cas là, il faudra réinventer la roue pour traiter les messages SOAP. Apache Axis2, par exemple, est un projet qui crée un environnement dans lequel il est facile de créer et de traiter des services web.

Liens