Service Oriented Architecture

Un article de Freepedia.

Sigles d'une seule lettre
Sigles de deux lettres
Sigles de trois lettres
Sigles de quatre lettres
Sigles de cinq lettres
Sigles de six lettres
Sigles de sept lettres et plus

SOA est le sigle de Service Oriented Architecture ou Architecture Orientée Services.

La notion de SOA est un modèle d’interaction applicative qui met en œuvre des services (composants logiciels) :

  • avec une forte cohérence interne,
  • et des couplages externes « lâches ».

Le service est une action exécutée par un « fournisseur » (ou « producteur ») à l’attention d’un « client » (ou « consommateur »).

Les architectures SOA ont été popularisées avec l'apparition des web services dans l'e-commerce (B2B ou B2C) et elles mettent en application une partie des principes d'urbanisation.

Parmi les exemples visibles, on peut citer la SNCF qui a mis en place une architecture de type SOA pour son système de réservation (recherche d'horaire, demande de tarif, réservation, ...) qui répond ainsi :

  • aussi bien aux terminaux des guichets des agences et gares
  • qu'aux sollicitations du site web de commande en ligne : SNCF.com.


Sommaire

Les protocoles et les normes

Les architectures SOA reposent principalement sur l’utilisation d’interface d’invocation (SOAP) et de vocabulaire de description de données (WSDL et XML) qui doivent être communs à l’ensemble des agents (fournisseurs de services et utilisateurs de services).</br> Ce dispositif permet de réutiliser les applicatifs métier, le but étant de permettre à l’entreprise de s’adapter rapidement à un nouveau contexte de marché.

Parmi les différentes couches de normes et protocoles qui permettent de bâtir de telles architectures, on relève :

  • la gestion d'un annuaire de services (quels sont les services mis à disposition et par qui) avec : UDDI (Universal Description Discovery and Integration) normalisé par l'OASIS,
  • la description des interfaces des services (quelles sont les données nécessaires à l'exécution du service, que fournit-il en retour, ...) avec : WSDL (Web Services Description Language) normalisé par le W3C,
  • l' invocation (ou l'appel) du service (la requête transmise au service) avec : SOAP (Simple Object Access Protocol) normalisé par le W3C,
  • le format des données échangées avec : XML (eXtensible Markup Language) normalisé par le W3C,
  • et enfin, le transport des données avec les protocoles internet : HTTP et TCP/IP qui sont des normes RFC.


Une architecture SOA pourra être également complétée par :

  • la gestion de la sécurité avec : SSL (Secure Sockets Layer), XML Signature, XML Encryption, SAML (Security Assertion Markup Language) ou encore XKML (XML Key Management Specification, qui gère les infrastructures à clé publique ou PKI)
  • l' orchestration (on parle également de chorégraphie) des services pour constituer des processus métier avec : BPEL4WS (Business Process Execution Language For Web Services) qui regroupe WSFL (Web Services Flow Language) d'IBM et XLang de Microsoft, ou encore WSCI (Web Services Choregraphy Interface)
  • la gestion transactionnelle (gestion du two-phase commit pour la mise à jour contrôlée de plusieurs bases de données réparties entre plusieurs fournisseurs de services : la transaction « attend » de recevoir l'acquittement (le commit) des différents serveurs sollicités et en cas de problème avec l'un d'eux, est en mesure de demander aux autres serveurs de « défaire » les mises à jour partielles effectuées afin de maintenir l'intégrité des données) : WS-Transaction d'IBM, XAML (Transaction Authority Markup Language) ou encore BTP (Business Transaction Protocol).

Voir également

Autres articles

Liens externes



Views
Outils personels
Boîte à outils
Autres langues
Autres Liens