La Service Based Architecture est essentielle à comprendre. Elle s’inscrit comme bon compromis entre les [architectures monolithiques](% relref ”../../architecture_style_monolithic/” %}}) et l’[architecture microservices]({{% relref ”../microservices/” %). De nombreux concepts de l’architecture Service Based sont repris dans le chapitre dédié aux microservices.
Définition
L’essentiel est de comprendre les [différences](% relref “servicebased_vs_microservices.md” %) entre l’architecture service-based et l’architecture microservices.
Introduction par Mark Richard
Pour en remettre une couche sur l’importance de considérer cette architecture, je vous copie/colle l’introduction de cette architecture par Mark Richard
Service-based architecture is a hybrid of the microservices architecture style and is considered one of the most pragmatic architecture styles, mostly due to its architec‐ tural flexibility. Although service-based architecture is a distributed architecture, it doesn’t have the same level of complexity and cost as other distributed architectures, such as microservices or event-driven architecture, making it a very popular choice for many business-related applications.
Composition
Cette architecture se compose :
- de plusieurs services qui sont des domaines indépendants déployés en tant qu’unités logicielles distinctes.
- d’une base de données centrale qui est partagée avec l’ensemble des services
- les services sont accessibles via un protocole d’accès à distance (e.g. REST)

Les services représentent le cœur applicatif. Étant donné que nous n’avons qu’une seule base de données, nous limiterons le nombre de services de 4 à 12. Le principal problème surviendra lorsque nous souhaiterons changer l’architecture de notre base de données : l’ensemble des services sera impacté. Une solution consiste à faire du [Database Partitioning](% relref “database_partitioning.md” %)