Présentation des services Web

Un service Web est un ensemble de fonctions d'applications associées pouvant être appelées par programme via Internet. Les entreprises peuvent associer différents services Web de manière dynamique afin d'exécuter des transactions complexes demandant un minimum de programmation. Les services Web permettent aux acheteurs et aux fournisseurs du monde entier de se trouver, d'entrer en contact de manière dynamique, et d'exécuter des transactions en temps réel, le tout avec très peu d'interaction humaine.

Les services Web sont des applications modulaires autonomes et auto-descriptives qui peuvent être publiées, localisées et appelées à travers Internet.

Les services Web sont autonomes. Côté client, aucun logiciel supplémentaire n'est requis. Un simple langage de programmation prenant en charge XML et les clients HTTP suffit pour commencer. Côté serveur, un serveur Web et un moteur de servlets sont nécessaires. Le client et le serveur peuvent être mis en oeuvre dans différents environnements. Le service Web peut activer une application existante sans qu'il soit nécessaire d'écrire la moindre ligne de code.

Les services Web contiennent leur propre description. Le client et le serveur doivent simplement reconnaître le format et le contenu des messages de requête et de réponse. La définition du format de message est transmise avec le message. Aucun référentiel de métadonnées externe n'est nécessaire, ni aucun outil de génération de code.

Les services Web sont modulaires. Les services Web simples peuvent être associés pour former des services Web plus complexes, soit en utilisant des techniques d'enchaînement d'opérations, soit en faisant appel à des services Web de niveau inférieur à partir d'une implémentation de service Web.

Les services Web sont non tributaires de la plateforme. Les services Web sont basés sur un ensemble concis de normes XML ouvertes, conçues pour favoriser l'interopérabilité entre un service Web et des clients sur de nombreuses plateformes informatiques utilisant différents langages de programmation.

Les services Web peuvent prendre n'importe quelle forme : critiques théâtrales, bulletins météo, vérification de crédit, cours boursiers, conseil en matière de voyages ou processus de réservation de vol en ligne. Chacun de ces services d'entreprise autonomes constitue une application à même de s'intégrer facilement avec d'autres services, provenant de la même société ou non, pour créer un processus métier complet. Cette interopérabilité permet aux entreprises de publier, de découvrir et de lier dynamiquement un éventail de services Web par le biais d'Internet.

Les catégories de services Web

On peut regrouper les services Web en trois catégories :

Informations métier. Une entreprise partage des informations avec des consommateurs ou avec d'autres entreprises. Dans ce cas, l'entreprise utilise des services Web pour élargir ses opportunités. A titre d'exemple, les flux d'actualité, les bulletins météo ou les cours boursiers sont des services Web d'information d'entreprise.

Intégration métier. Une entreprise fournit à ses clients des services transactionnels "forfaitaires". Dans ce cas, l'entreprise fait partie d'un réseau global de fournisseurs à valeur ajoutée pouvant être utilisé pour mener des affaires. Quelques exemples de services Web d'intégration métier : services de vente aux enchères, systèmes de réservation, vérification de crédit.

Externalisation des processus métier. Une entreprise se démarque de la concurrence en créant une chaîne de valeur globale. Dans ce cas, l'entreprise utilise les services Web pour intégrer de manière dynamique ses processus. Parmi les exemples de services Web d'externalisation des processus métier, citons les associations mises en place entre différentes sociétés dans le but de combiner la fabrication, l'assemblage, la vente en gros et la vente au détail d'un produit particulier.

Rôles et interactions des services

Dans une architecture de services Web, un composant réseau peut remplir un ou plusieurs rôles fondamentaux : fournisseur de services, courtier de services et client de service.

La liaison implique la mise en place de tous les prérequis relatifs à l'environnement, nécessaires pour terminer correctement les services. Les prérequis relatifs à l'environnement sont, par exemple, la sécurité, la surveillance des transactions ou la disponibilité HTTP. Les relations entre ces rôles sont décrites à la figure 1.

Figure 1. Rôles et interactions des services.

La figure 1 décrit les interactions entre le courtier de services, le fournisseur de services et le demandeur faisant appel au service.

Pour plus d'informations sur les services Web, voir www.ibm.com/developerworks/webservices