Nous avons tous été confrontés à des situations où nous devions travailler sur un composant excessivement complexe, traitant de multiples cas métier, et où la modification d'un composant avait des répercussions sur d'autres, sans lien apparent.
En outre, ces composants sont souvent fortement couplés à d'autres services, ce qui signifie qu'une modification dans un service existant nécessite souvent des ajustements dans toute la chaîne de liaison.
Pour répondre à cette problématique, l'architecture micro services peut être bénéfique car elle repose sur la décomposition des différentes fonctionnalités en services indépendants.
Nous allons ensemble exposer les principes de cette architecture et développer des composants en la suivant et en détaillant au mieux son mode de fonctionnement et ses avantages.
Les composants développés seront structurés de façon à favoriser la séparation et la flexibilité du code en mettant en avant le code métier. Ils seront donc développés en suivant les principes de l'architecture hexagonale.
Pour finir, nous examinerons deux approches distinctes pour l'interaction entre nos composants, en mettant en lumière les avantages et les inconvénients de chacune.
Chaque chapitre sera accompagné d'une analyse détaillée des avantages et des inconvénients de chaque méthode, suivie d'une session code en direct illustrant le développement de chaque composant à partir de zéro.