Passer au contenu

Services web : l’architecture applicative de demain

Services web : architecture de développement et de déploiement d’applications web fondée sur l’assemblage statique ou dynamique de composants indépendants et interopérables appelés services.

Les services web permettent de déployer des applications distribuées exploitant des composants distants et hétérogènes. L’architecture technique associée, toujours en cours de normalisation, est fondée sur un modèle en couches : transport, découverte des services, échange et communication, description de processus complexes, contrats, etc. À chaque couche sont associés des langages de description spécifiques, basés sur XML.

Utilisation : une architecture orientée services

Les entreprises doivent aujourd’hui faire face à de nouveaux enjeux, dont l’impact est direct sur le fonctionnement de leur système d’information. Les directions opérationnelles lui demandent de les assister concrètement et rapidement dans la mise en place de nouvelles logiques fonctionnelles. Il n’est plus concevable pour une entreprise de mettre en place un système d’information cloisonné, incapable d’échanger des données, voire même des processus avec d’autres entreprises. Enfin, l’introduction de nouvelles technologies doit pouvoir être réalisée rapidement sans remettre en cause le patrimoine applicatif existant. L’orientation services est considérée comme une architecture capable de rendre l’entreprise plus compétitive, plus profitable et plus accessible. Les services web sont nés de cette volonté de définir une infrastructure technique s’appuyant sur les technologies issues du monde de l’Internet afin d’en tirer le meilleur profit.

Principe de fonctionnement : des composants cloisonnés

Les applications distribuées sont fondées sur l’assemblage de composants qui ignorent tout de leurs structures internes respectives. Des composants techniques fournissent des services liés à l’infrastructure d’intégration : localisation des composants, appel des fonctions, répartition des charges, persistance des données… Par ailleurs, une séparation claire entre l’interface du composant et sa structure interne permet de construire des applications par assemblage dynamique de services hétérogènes, déployées sur différents systèmes. Les composants fonctionnels, appelés services, s’occupent du traitement des logiques métier propres à chaque entreprise. Chaque service publie l’ensemble des fonctions qu’il met à la disposition des autres composants applicatifs. Ces points d’entrée publics, appelés services web, sont décrits au sein de documents spécifiques. XML, simple et extensible, s’est imposé comme le standard pour le déploiement de services web, grâce à sa plus grande souplesse par rapport aux anciennes méthodes de description de composants proposées par DCOM et Corba. La mise en ?”uvre des services web repose sur le modèle classique de publication (publish), localisation (find) et appel (bind) de composants distribués. Les requêtes et les données échangées entre services sont véhiculées grâce au protocole Soap. Compatible avec de nombreux protocoles de transport, HTTP, SMTP, POP3, FTP, il véhicule des appels de procédures distantes exprimés en XML : adresse du destinataire, nom de la procédure à exécuter et paramètres attendus et retournés. WSDL, dont la première proposition est due à Microsoft, IBM et Ariba, permet de décrire les services web accessibles sur un réseau IP. S’appuyant comme Soap sur XML, WSDL permet de décrire l’interface d’accès aux services web à laquelle il n’impose aucune installation de contenu (EJB, servlets, composants DCOM…). Chaque service web définit un ensemble de ports construits par la combinaison d’une adresse d’accès et d’au moins une structure de liaison (binding) associée à un protocole d’accès (Soap, Mime…). Un port regroupe plusieurs opérations (points d’entrée) correspondant à des actions élémentaires appliquées par un service web. Une opération se compose d’un message d’entrée (requête), d’un message de sortie (réponse) et d’un message permettant de signaler, le cas échéant, l’échec du traitement. Chaque message contient la description (schémas XML) d’un modèle de données échangées entre services web. Leur localisation dynamique est facilitée par le standard UDDI, qui permet de construire des services d’annuaires privés dont l’utilisation est limitée à un ensemble clairement identifié d’entreprises susceptibles de s’échanger des services applicatifs : intranet, extranet, applications de type B-to-B… Réparti sur les sites de multiples fournisseurs, cet annuaire offre une vue logique des services disponibles. UDDI s’appuie également sur XML pour décrire les informations permettant de publier et de localiser chaque service. Deux documents au format WSDL sont associés à chaque entrée de l’annuaire. Le premier décrit la nature des services et le second les interfaces disponibles. UDDI propose deux API d’accès fondées sur Soap et utilisées respectivement pour publier l’existence d’un nouveau service et pour localiser dynamiquement chaque composant.

Acteurs : encore peu d’offres abouties

Tous les éditeurs d’environnements de développement et de logiciels d’infrastructure se sont aujourd’hui positionnés sur le marché des services web. La standardisation, grâce à l’utilisation systématique de XML, de l’architecture à base de composants distribués garantit la compatibilité et l’interopérabilité des différentes briques fonctionnelles et techniques disponibles. Les offres les plus abouties sont celles d’IBM (WebSphere), de Microsoft (.NET), encore en cours d’élaboration, et de Sun (SunONE). La production d’applications distribuées demeure une tâche difficile. Il convient tout d’abord de choisir une architecture et un environnement de développement associé. Les produits disponibles sont aujourd’hui capables de générer les fichiers WSDL. Ensuite, il s’agit de mettre en place l’architecture de développement (services UDDI ou DSML, serveurs d’applications, environnements d’exécution…). Une solide formation des équipes de développement et d’exploitation est nécessaire. Cette formation nécessite d’être étalée dans le temps, pour respecter le cycle désormais connu d’acquisition de compétences.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Laurent Maury