FR - EN

Transformation digitale : comment réussir une architecture SOA ?

Comment concevoir, déployer et optimiser avec succès une architecture SOA, ou Service Oriented Architecture ?

Qu’est-ce que SOA ? SOA désigne une stratégie d’architecture logicielle qui vise à découper une application logicielle en différents services. Qu’est-ce qu’un service ? Un service est un composant logiciel qui met à disposition de ses clients (acteurs humains via une application mobile, système d’information) une fonction métier, en l’encapsulant et en la centralisant. 

De ce fait, un service dans une SOA présente plusieurs caractéristiques fortes :

  • Un service est doté d’une interface, ou API, clairement définie – les clients d’un service n’ont pas d’accès direct au fonctionnement et la structure de donnée du service.
  • Un service est un composant aussi autonome que possible vis-à-vis des autres applications (legacy ou non) et des autres services
  • Un service est associé à un contrat, qui va définir les modalités d’accès (combien d’accès par seconde ou par minute), la sécurité, la stratégie de versionning, etc

Pourquoi SOA ? Pour « casser le monolithe », cad produire des logiciels plus évolutifs, plus rapides à développer et plus simples à déployer. Il y a un prix à payer : l’architecture du système d’information devient plus complexe, et l’exploitation nécessite de nouveaux outils et une nouvelle culture de la part des équipes concernées.

SOA est-il un vrai besoin pour les entreprises ? Les bénéfices de SOA sont a priori nombreux : permettre la réutilisation des fonctions métier ou des données, rendre le code modulaire pour une meilleure maintenance, etc.

Comment faire ? Une première étape utile est d’approfondir ses connaissances en lisant le livre de référence « SOA le guide de l’architecte », paru chez l’éditeur de référence DUNOD. Ce livre est ici.