Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

Web Services - Architecture orientée service (SOA)

Architecture orientée services (SOA) Encyclopédie

Web Services
Web Service
Architecture SOA
Avancé:XML-RPC
Avancé:SOAP
Avancé:UDDI
Avancé:WSDL

Le système d'information de l'entreprise est généralement constitué d'applications et de données constituant son héritage (en anglais legacy). Avec les fusions de groupe, l'évolution des technologies, cet héritage a tendance à devenir hétérogène et à se spécialiser par métier (entité, service, etc.), ce qui provoque un fonctionnement en silo, c'est-à-dire un cloisonnement des différents métiers empêchant certaines formes de transversalité et masquant au décideur une vision globale du système d'information de son entreprise.

L'intégration des applications de l'entreprise (EAI) est une solution à ce problème. Elle consiste à développer des connecteurs spécifiques permettant de faire communiquer entre-eux les différents silos de l'entreprise.

Architecture orientée service

Une architecture orientée services (notée SOA pour Services Oriented Architecture) est une architecture logicielle s'appuyant sur un ensemble de services simples.

L'objectif d'une architecture orientée services est donc de décomposer une fonctionnalité en un ensemble de fonctions basiques, appelées services, fournies par des composants et de décrire finement le schéma d'interaction entre ces services.

L'idée sous-jacente est de cesser de construire la vie de l'entreprise autour d'applications pour faire en sorte de construire une architecture logicielle globale décomposées en services correspondant aux processus métiers de l'entreprise.

Lorsque l'architecture SOA s'appuie sur des web services, on parle alors de WSOA, pour Web Services Oriented Architecture).

Principes généraux d'une architecture orientée service

Il n'existe pas à proprement parler de spécifications officielles d'une architecture SOA, néanmoins les principales notions fédératrices que l'on retrouve dans une telle architecture sont les suivantes :

  • La notion de service, c'est-à-dire une fonction encapsulée dans un composant que l'on peut interroger à l'aide d'une requête composée d'un ou plusieurs paramètres et fournissant une ou plusieurs réponses. Idéalement chaque service doit être indépendant des autres afin de garantir sa réutilisabilité et son interopérabilité.
  • La description du service, consistant à décrire les paramètres d'entrée du service et le format et le type des données retournées. Le principal format de description de services est WSDL (Web Services Description Language), normalisé par le W3C.
  • La publication (en anglais advertising) et la découverte (discovery) des services. La publication consiste à publier dans un registre (en anglais registry ou repository) les services disponibles aux utilisateurs, tandis que la notion de découverte recouvre la possibilité de rechercher un service parmi ceux qui ont été publiés. Le principal standard utilisé est UDDI (Universal Description Discovery and Integration), normalisé par l'OASIS.
  • L'invocation, représentant la connexion et l'interaction du client avec le service. Le principal protocole utilisé pour l'invocation de services est SOAP (Simple Object Access Protocol).

Avantages d'une architecture orientée service

Une architecture orientée services permet d'obtenir tous les avantages d'une architecture client-serveur et notamment :

  • Une modularité permettant de remplacer facilement un composant (service) par un autre
  • Une réutilisabilité possible des composants (par opposition à une système tout-en-un fait sur mesure pour une organisation).
  • De meilleures possibilités d'évolution (il suffit de faire évoluer un service ou d'ajouter un nouveau service)
  • Une plus grande tolérance aux pannes
  • Une maintenance facilitée

Ce document intitulé « Web Services - Architecture orientée service (SOA) » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.