Professeur Mohamed YOUSSFI



Professeur Mohamed YOUSSFI

En Live dans une heure à 19H: Episode 2 : Musclez vos compétences en Sécurité des applications Web et distribuées (Spring Security, Spring Cloud, OAuth2, JWT, OIDC, Angular) :

Voici le lien de la diffusion du live : https://www.youtube.com/watch?v=6HA7n...

2 years ago | [YT] | 39

Professeur Mohamed YOUSSFI

Blog : Part 2 - D'une architectures monolithique vers une architecture micro-service

Challenge et Bonnes pratiques de mise en oeuvre des architectures micro-services

mohamedyoussfi.blogspot.com/2021/11/part-2-dune-ar…

3 years ago | [YT] | 116

Professeur Mohamed YOUSSFI

Post 1- D'une Architecture Monolithique vers une architecture Micro-service :

Voici le lien du Blog : mohamedyoussfi.blogspot.com/2021/11/blogn-1-dunear…

Une application monolithique est souvent une grande application développée en un seul Bloc. Une seule et unique application est développée pour un problème donné aussi grand qu’il soit. L’application est souvent déployée dans un serveur d’application qui peut être représenté par un Conteneur Web comme Tomcat et un Framework qui assure l’inversion de contrôle et l’injection des dépendances comme Spring IOC (Tomcat+SpringIOC). Tomcat joue le rôle de Web Container en gérant un pool de threads qui seront utilisés pour le traitement des l’ensemble de requêtes entrantes en se basant sur un composant Servlet qui constitue le contrôleur frontal de l’application. Dans le cas d’une architecture basée sur Spring MVC, ce contrôleur frontal est assuré par DispatcherServlet. Spring IOC assure l’inversion de contrôle et l’injection des dépendances dans l’application en permettant de séparer les aspects métiers des aspects techniques de l’application grâce à l’approche orientée aspect du Framework. De ce fait, Spring IOC permet de minimiser à l’extrême le code du développeur en l’épargnant d’implémenter les aspects techniques de l’application comme la sécurité, l’accès aux données, la gestion des transactions, les caches, la journalisation etc.

Une application monolithique utilise souvent une seule grande base de données qui englobe toutes les données de l’application. L’application est structurée idéalement en plusieurs couches séparées dépendantes selon un couplage faible à travers des interfaces qui expose les traitements de chaque couche.

a) La couche DAO : Couche d'accès aux données qui utilise généralement un Framework de persistance de données comme JPA, Hibernate, String Data

b) La couche Service : Qui implémente la logique métier et les spécifications fonctionnelles du problème. Pour effectuer des traitements, cette couche s'appuie sur la couche DAO pour accéder aux données locales et utilise des middlewares basés sur des technologies comme SOAP, REST, GRPC, RMI,CORBA, etc. pour communiquer avec d'autres services distants.

c) La couche Web : Qui expose les fonctionnalités de la couche services pour accès Web pour les applications Front end Web, Mobiles, Desktop et d'autres applications distantes. Idéalement, cette couche utilise des Web Services Restful (REST API) pour exposer les services de l'application via un accès REST.


youtube.com/watch?v=tpCIv...

3 years ago (edited) | [YT] | 160