Passer au contenu principal
Menu de navigation ouvert
Fermer les suggestions
Recherche
Recherche
fr
Change Language, Français
Changer de langue, Français
Importer
Se connecter
Se connecter
0 évaluation
0% ont trouvé ce document utile (0 vote)
12 vues
14 pages
Controle
Transféré par
yasser
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu,
signalez une atteinte au droit d’auteur ici
.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
Télécharger
Enregistrer
Enregistrer Controle pour plus tard
Partager
0%
0% ont trouvé ce document utile, Marquez ce document comme utile
0%
0 % ont trouvé ce document inutile, Marquez ce document comme n'étant pas utile
Imprimer
Intégrer
Signaler
0 évaluation
0% ont trouvé ce document utile (0 vote)
12 vues
14 pages
Controle
Transféré par
yasser
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu,
signalez une atteinte au droit d’auteur ici
.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
Go to previous items
Télécharger
Enregistrer
Enregistrer Controle pour plus tard
Partager
0%
0% ont trouvé ce document utile, Marquez ce document comme utile
0%
0 % ont trouvé ce document inutile, Marquez ce document comme n'étant pas utile
Imprimer
Intégrer
Signaler
Go to next items
Télécharger
Architecture Micro-services avec RestTemplate Dans ce TP, nous allons mettre en place une application basée sur une architecture microservices pour gérer les clients et les voitures. La communication entre les microservices sera réalisée & l'aide de Rest Template, et nous allons remplacer les fichiers de configuration au format properties par des fichiers YAML. ‘A- Mise en place du service discovery Eureka Pour mettre en place le service discovery Eureka avec la configuration YAML fournie, suivre les tapes suivantes Etape 1 : Créer un projet Spring Boot Utiliser Spring Initializer pour créer un nouveau projet Spring Boot. Sélectionner les dépendances nécessaires, y compris "Eureka Server” tape 2: Configurer le fichier application. yml. Ajouter le contenu fourni au fichier src/main/resources/application. yml du projet. Assurer que le fichier contient les propriétés suivantes port: 8761 eureka: client: register-with-eureka: false fetch-registry: false ‘Logging: ‘level [Link]: OFF Pr. Mohamed LACHGAR (lachgarm@ [Link]) Développement JEE8 Chapter 1. Spring Cloud [Link]: OFF Etape 3 : Configurer la classe principale Assurer que la classe principale de votre application (généralement annotée avec @SpringBoot Application) contient annotation @EnableEurekaServer. Cela indique & Spring Boot de configurer cette ap- plication en tant que serveur Eureka. import org. springfranework. boot SpringApplication; import org. [Link]. autoconf igure .SpringBootApplication; import [Link] .[Link] EnablefurekaServer; oBnableEurekaServer @SpringBootAppl ication public class EurekaServerApplication { public static void main(String[] args) { [Link]([Link], args); 3 Etape 4: Exécuterl’application Démarrer l'application, Ensuite, accéder & 'interface utlisateur Eureka en ouvrant un navigateur Web et en naviguant vers http: //Localhost::8761, Ace stade, vous avez configuré un serveur Eureka avec les proprigtés spécifiées dans le fichier YAML. Il est important de noter que cette configuration désactive I'enregistrement du serveur Eureka en tant que client (registre et récupération). Vous pouvez. personnaliser davantage la configuration en fonction de vos besoins spécifiques. Le microservice "Client" est une application Spring Boot qui gére les opérations liées aux clients. I utilise une base de données MySQL pour stocker les informations des clients, notamment leur nom et leur ge. Le service expose des points de terminaison RESTful permettant de récupérer la liste complete des clients, de rechercher un client par identifiant, et d’ajouter de nouveaux clients. L’application est configurée avec le service Eureka pour la découverte des services dans un environnement microservices. Pr. Mohamed LACHGAR (lachgarm@ [Link]) Développement JEEconeramplecent © CientCenroer © cient @ Chertepontory © Gientsenice B chenryptcaton empltes 1 appleatonymi Etape 1 : Configurer le service Spring Boot 1, Créer un projet Spring Boot en utilisant Spring Initializer et sélectionnez les dépendances nécessaires, notamment "Spring Web” et "Spring Data JPA". 2. Assurer que le fichier application. yml est configuré comme suit port: 8081 spring: application name: SERVICE-CLIENT datasource: driver-class-name: [Link] url: jdbc mysql: //Locathost :3306/clientservicedb?createDatabaselfNotExi username: "root" password: "" Spa: hibernate: ddl-auto: update show-sql: true Etape 2: Créer |'entité Client 1, Créer une classe Java nommée Client dans le package com. example. client. entities. 2. Utiliser les annotations IPA pour définir entité, y compris I’identifiant généré automatique ment. 3. Ajouter les propriétés id, nom, et age avec les annotations appropriées. package [Link] entities; import [Link]; import jakarta. [Link]; import jakarta. [Link]; import [Link]. Id; Pr. Mohamed LACHGAR (lachgarm@ [Link]) Développement JEE10 Chapter 1. Spring Cloud import Lombok. AllargsConstructor; import [Link]; import [Link]; omntity Data eNoArgsConstructor OALLArgeConstructor public class Client { ora OGeneratedValue (strategy = GenerationType. IDENTITY) private Long id; private String nom; private Float age; Etape 3 : Créer le repository JPA 1. Créer une interface Java nommée ClientReposi tory dans le package com. example. client repositories. 2. Etendre l’interface JpaRepository avec les types Client et Long. package com. example. client repositories; import [Link]; import org. [Link]. jpa. repository. JpaRepository; import [Link]. stereotype Repository; Repository public interface ClientRepository extends JpaRepository
{ } Etape 4 : Créerle service 1. Créer une classe Java nommée ClientService dans le package com. example client .services. 2. Utiliser I’annotation @Service pour marquer la classe comme un service Spring. 3. Injecter le ClientReposi tory dans la classe et implémentez les méthodes nécessaires package [Link]. client services; import [Link]; import [Link]. client repositories .ClientRepository; import [Link]. beans. factory annotation. A import org. springfranework. stereotype Service; wired; import [Link]; aservice public class ClientService { @autowired private ClientRepository clientRepository; public List
finda { return [Link](); Pr. Mohamed LACHGAR (lachgarm@ [Link]) Développement JEE3 public Client findByTd(Long id) throws Exception { return [Link]éByl4(i4) .orElseThrow(() -> now coption("Iavalid Client 1D"); } public void addClient(Client client) { [Link] (client) ; } Etape 5 : Créer le contrdleur REST 1, Créer une classe Java nommée ClientController dans le package [Link]. client .controllers, 2. Utiliser annotation @RestController pour marquer la classe comme un contrdleur REST. 3. Définirles endpoints (/api /c1ient) en uilisant les annotations @GetMapping, ¢PostMapping, ete. package [Link]; import com. example. [Link]; import [Link]; import org. springfranework. beans. [Link]. Autowired; import [Link]. bind. annotation. *: import [Link]; oRestController oRequestMapping("api/client") public class ClientController { oautowired private ClientService service; @Gettapping public List
findal( { retura service. findél1(; } eGetMapping("/(id)") public Client findByld(aPathVariable Long i) throws Exception { return [Link] (id) ; 3 oPostMapping public void save(@RequestBody Client client) { [Link] (client) ; } Pr. Mohamed LACHGAR (lachgarm@ [Link]) Développement JEE12 Chapter 1. Spring Cloud Etape 6 : Configurer et exécuter application 1, Ajouter une implémentation CommandLineRunner pour l’ajout des clients @SpringBootApplication public class ClientApplication { ic static void main(String(] args) { [Link]([Link], args); Bean ConmandLineRunner initializel2Database (ClientRepository clientRepository) { return arge > { [Link](new Client([Link]("1"), "Amine SAFI", [Link]("23"))); [Link](new Client ([Link]("2"), "Anal ALAQUI", [Link]("22"))); [Link](new Client ([Link]("3"), "Samir RAMI", [Link]("22"))); > Démarrer I’ application Spring Boot & l'aide de Maven ou Gradle. Assurer d’ avoir une base de données MySQL en cours d’exécution avec le nom de base de données configuré dans le fichier application. yml, Taper "URL http: //localhost:8081 /api/client dans le navigateur pour afficher la liste des clients du service. Quels résultats obtenez-vous ? - C - Service Gateway Etape 1 : Ajouter les dépendances Assurer d’avoir les dépendances nécessaires dans le projet. Ajouter les dépendances suivantes dans vote fichier build. gradle (pour Gradle) ou pom. xm (pour Maven) Grade: dependencies < impleentation ’[Link] : pring-boot-starter-web? implenentation ’[Link]:epring-cloud-starter-gateway? inplenentation org. [Link]:spring-cloud-starter-netflix-eureka-clien Maven:
org. [Link]
spring-boot-starter-veb
Pr. Mohamed LACHGAR (lachgarm@ [Link]) Développement JEEorg. springframework. cloud
spring-cloud-starter-gateway
org. springfranevork. cloud
spring-cloud-starter-netflix-eureka-client mide pa ba comexarpiece contol, © coenteler © Cor © Client Y Ea model © Coesponse © Ca repositories ® Cotepesitory © carsenice contpplication Aempites 6 mpplicationsy Etape 1 : Configuration de Ia base de données Assurer qu'une instance MySQL exécutée localement sur le port 3306. Créer une base de données nommée carservicedb. Les paramétres de connexion & la base de données sont définis dans le fichier application. yml. port: 9082 spring: ‘application name: SERVICE-CAR datasource: driver-class-nane: [Link] url: jébe:mysql: //localhost :3806/carservicedb?createDatabaselfNotExis usernane: "root: password: "" Spe! hibernate: ddl-auto: update show-sql: true Etape 2 : Création des entités et des repositories Créer les entités Car et Client ainsi que le repository CarRepository dans les packages correspon dants. Entity bata @ALLArgaConstruc GNoArgeConstructor public class Car { Pr. Mohamed LACHGAR (lachgarm@ [Link]) Développement JEE16 Chapter 1. Spring Cloud ora OGeneratedValue (strategy = GonerationType. IDENTITY) private Long id; private String brand; private String model; private String matricule; private Long client_id; pata @ALLArgaConstru ONoArgeConstructor public class Client { private Long id; private String name; private Integer age; ‘Repository public interface CarRepository extends JpaRepository
{ } Etape 3 : Création des modéles Créer le modéle CarResponse dans le package [Link]. Builder eData @ALLArgsConstructor @NoArgsConstructor public class CarResponse { private Long id; private String brand; private String model; private String matricue; private Client client; Etape 4 : Configuration du Service REST Dans la classe CarService, vous avez déja configuré la communication avec le service client en utilisant Rest Template. (@SpringBootApplication public class CarApplication { public static void main(Stringl] args) { [Link]([Link], args); y Bean public RestTemplate restTemplate() ¢ RostTeuplate restTomplate = now RestTemplate() ; SimpleClientittpRequestFactory requestFactory = new Pr. Mohamed LACHGAR (lachgarm@ [Link]) Développement JEESimpleClientitttpRequestFactory() ; requestFactory .setConnectTimeout (5000) ; [Link] (5000) ; restTomplate. setRequestFactory (requestFactory) ; return restTemplate; Assurer que le service client est en cours d’exécution sur le port 8888 via la gateway. Modifier TURL si nécessaire. Service public class CarService { ‘autowired private CarRepository carRepository; Ohutowired private RestTemplate restTemplate; private final String URL="http: //Localhost :8888/SERVICE-CLIENT"; public List findAl10) ¢ List cars = carRepositery.findAl10; Responseintity response = [Link] ([Link]+" /api/clie CLient[] clients = response. getBody(); return [Link]().map((Car car) -> apToCarResponse(car,clients)) .toList(); sClient (J. class); x // this function allow the change the Car Entity to A Model that ve will send ot the client side using the @Builder Annotation private CarResponse mapToCarResponse(Car car, Client (] clie1 Client foundClient = [Link](clients) -filter(client -> [Link]() .equals(car.getClient_ia())) findFirst () orElse (null) ; return CarResponse. builder () id(car-getIaQ) -brand(car.get3rand()) - client (foundClient) matricue([Link]()) nodel (car .getModel ()) build; public CarResponse findByTa(Long id) throws Exception { Car car= carRepository .findByld (id) -orElseThrow(()->new Exception("Invalid Car Id" Client client restTenplate. getForObject ([Link]*"/api/cli return CarResponse. builder () id([Link]()) -brand([Link]()) -client (client) matricue([Link]()) 1s/"#ear getClient_id() ,[Link]) ; Pr. Mohamed LACHGAR (lachgarm@ [Link]) Développement JEE18 Chapter 1. Spring Cloud -model (car .getModel ()) sulla; Etape 5 : Création des Contrdleurs Dans la classe CarController, eréer les contrOleurs pour récupérer toutes les voitures (find All) et récupérer une voiture par ID (findByld). GRestController @RequestMapping("api/car") public class CarController { ‘Autowired private CarService carService; @Gettapping public List findAl1() return [Link](); y (GetMapping("/{idb") public CarResponse findByld(ePathVariable Long id) throws Exception { return [Link](id) ; } Etape 6 : Lancement de l'application Exécuter I’application en exécutant la classe CarApplication avec la méthode main. Assurer qu'il n'y a pas d’erreurs lors du démarrage. Instances currently registered with Eureka ‘Aopkeation rarer? sats GATEWAY a) UP (1)- DESKTOP: ATA Gare 888 SEAVCE-CAR a) tp (1)-Ds«[Link]#082 SEAVICE-CLENT matt) a) vp (1)-DEsKTOe. AT 36ho-SERVICE.CLENT808) Etape 7 : Test des Endpoints Utiliser un outil comme Postman ou curl pour tester les endj requétes GET pour récupérer toutes les voitures et une voiture par ID. Pr. Mohamed LACHGAR (lachgarm@ [Link]) Développement JEE19 G © localhost:8838/SERVICE-CAR/api/car/t Pourquoi le nom est null ? Corriger erreur. Afficher les listes des voitures G © _locathost:!#888/SERVICE-CAR/api/car i "id": 2, "oon": "Amal ALAOUT™, "age": 22 "Toyota", nasse", 8347 6755", Pr. Mohamed LACHGAR (lachgarm@ [Link]) Développement JEE
Vous aimerez peut-être aussi
Microservices avec Spring Cloud : Guide Complet
PDF
Pas encore d'évaluation
Microservices avec Spring Cloud : Guide Complet
10 pages
Atelier - Eureka Server
PDF
Pas encore d'évaluation
Atelier - Eureka Server
6 pages
Création d'un micro service avec Spring Boot
PDF
Pas encore d'évaluation
Création d'un micro service avec Spring Boot
13 pages
Intégration de Keycloak avec Micronaut
PDF
Pas encore d'évaluation
Intégration de Keycloak avec Micronaut
5 pages
Guide de création d'API REST avec Spring
PDF
Pas encore d'évaluation
Guide de création d'API REST avec Spring
29 pages
Création d'un Microservice avec Spring Boot
PDF
Pas encore d'évaluation
Création d'un Microservice avec Spring Boot
14 pages
API CRUD Restful avec Spring Boot
PDF
Pas encore d'évaluation
API CRUD Restful avec Spring Boot
15 pages
Formation Microservices avec Spring Boot
PDF
Pas encore d'évaluation
Formation Microservices avec Spring Boot
23 pages
Micro-service Spring Boot : Guide complet
PDF
Pas encore d'évaluation
Micro-service Spring Boot : Guide complet
22 pages
Projet Étudiant avec Spring Boot et Angular
PDF
Pas encore d'évaluation
Projet Étudiant avec Spring Boot et Angular
22 pages
Implémentation d'une API Gateway Spring Boot
PDF
Pas encore d'évaluation
Implémentation d'une API Gateway Spring Boot
6 pages
Guide SpringBoot
PDF
Pas encore d'évaluation
Guide SpringBoot
7 pages
Maîtriser Spring Boot et JPA
PDF
Pas encore d'évaluation
Maîtriser Spring Boot et JPA
44 pages
TP Microservice Bibliotheque Exact
PDF
Pas encore d'évaluation
TP Microservice Bibliotheque Exact
6 pages
Projets J2EE : Architecture Microservices
PDF
Pas encore d'évaluation
Projets J2EE : Architecture Microservices
3 pages
Mise en place d'un serveur Eureka
PDF
Pas encore d'évaluation
Mise en place d'un serveur Eureka
6 pages
Introduction à Spring Cloud Eureka
PDF
Pas encore d'évaluation
Introduction à Spring Cloud Eureka
34 pages
Guide de création de microservices Spring Boot
PDF
Pas encore d'évaluation
Guide de création de microservices Spring Boot
37 pages
Atelier Spring MVC et JPA pour banque
PDF
Pas encore d'évaluation
Atelier Spring MVC et JPA pour banque
11 pages
TP EJB : Gestion de comptes bancaires
PDF
Pas encore d'évaluation
TP EJB : Gestion de comptes bancaires
15 pages
Implémentation API Gateway
PDF
Pas encore d'évaluation
Implémentation API Gateway
5 pages
Implémentation API Gateway
PDF
Pas encore d'évaluation
Implémentation API Gateway
5 pages
Tp3-Spring Boot JPA 1
PDF
Pas encore d'évaluation
Tp3-Spring Boot JPA 1
9 pages
Tutoriel Spring Boot et JPA
PDF
Pas encore d'évaluation
Tutoriel Spring Boot et JPA
17 pages
Spring Boot
PDF
Pas encore d'évaluation
Spring Boot
33 pages
Exercice Web Service Spring Boot Corrige
PDF
Pas encore d'évaluation
Exercice Web Service Spring Boot Corrige
5 pages
Développement WebApp avec Spring Boot
PDF
Pas encore d'évaluation
Développement WebApp avec Spring Boot
31 pages
Master Microservices avec Spring Boot
PDF
Pas encore d'évaluation
Master Microservices avec Spring Boot
53 pages
Microservice de Gestion des Candidats
PDF
Pas encore d'évaluation
Microservice de Gestion des Candidats
11 pages
Atelier Spring Boot avec JPA
PDF
Pas encore d'évaluation
Atelier Spring Boot avec JPA
9 pages
Application CRUD avec Spring Boot et Thymeleaf
PDF
Pas encore d'évaluation
Application CRUD avec Spring Boot et Thymeleaf
16 pages
Différences entre Spring et Spring Boot
PDF
Pas encore d'évaluation
Différences entre Spring et Spring Boot
4 pages
JEE 2 TP 4 Thymeleaf
PDF
Pas encore d'évaluation
JEE 2 TP 4 Thymeleaf
6 pages
Architecture des Microservices avec Spring
PDF
Pas encore d'évaluation
Architecture des Microservices avec Spring
373 pages
Introduction à Spring Boot en Java
PDF
Pas encore d'évaluation
Introduction à Spring Boot en Java
33 pages
Configuration Externalisée en Microservices
PDF
Pas encore d'évaluation
Configuration Externalisée en Microservices
14 pages
TP1 Jakarta EE
PDF
Pas encore d'évaluation
TP1 Jakarta EE
10 pages
Création d'un Service REST avec Spring Boot
PDF
Pas encore d'évaluation
Création d'un Service REST avec Spring Boot
6 pages
Documentation Spring Boot - Microservices & Best Practices
PDF
Pas encore d'évaluation
Documentation Spring Boot - Microservices & Best Practices
50 pages
API REST avec Spring Boot
PDF
Pas encore d'évaluation
API REST avec Spring Boot
3 pages
Persistance JPA avec Spring Boot
PDF
Pas encore d'évaluation
Persistance JPA avec Spring Boot
10 pages
Microservices Auto Ecole Course
PDF
Pas encore d'évaluation
Microservices Auto Ecole Course
11 pages
Architecture Microservices pour MyFood
PDF
Pas encore d'évaluation
Architecture Microservices pour MyFood
4 pages
Création de microservices Orders Management
PDF
Pas encore d'évaluation
Création de microservices Orders Management
2 pages
Introduction à Spring Boot et Microservices
PDF
Pas encore d'évaluation
Introduction à Spring Boot et Microservices
35 pages
Déploiement d'une application Spring Boot
PDF
Pas encore d'évaluation
Déploiement d'une application Spring Boot
8 pages
Création d'un Service Web REST en Java
PDF
Pas encore d'évaluation
Création d'un Service Web REST en Java
6 pages
Application de Gestion des Bibliothèques avec Spring Boot
PDF
Pas encore d'évaluation
Application de Gestion des Bibliothèques avec Spring Boot
13 pages
Comparaison Monolithique et Microservices
PDF
Pas encore d'évaluation
Comparaison Monolithique et Microservices
3 pages
Atelier Communication Entre MS Avec OpenFeign
PDF
Pas encore d'évaluation
Atelier Communication Entre MS Avec OpenFeign
9 pages
Atelier 1 : Création d'un projet Spring
PDF
Pas encore d'évaluation
Atelier 1 : Création d'un projet Spring
2 pages
Applications de Spring Boot en Java
PDF
Pas encore d'évaluation
Applications de Spring Boot en Java
40 pages
Guide Spring Boot et Microservices
PDF
Pas encore d'évaluation
Guide Spring Boot et Microservices
15 pages
Microservices avec Spring Boot et sécurité
PDF
Pas encore d'évaluation
Microservices avec Spring Boot et sécurité
3 pages
Communication Micro-services avec OpenFeign
PDF
Pas encore d'évaluation
Communication Micro-services avec OpenFeign
9 pages
Déploiement d'une application Spring Boot
PDF
100% (1)
Déploiement d'une application Spring Boot
8 pages
Introduction à Spring Boot et Microservices
PDF
Pas encore d'évaluation
Introduction à Spring Boot et Microservices
32 pages
Candidats présélectionnés pour SI
PDF
Pas encore d'évaluation
Candidats présélectionnés pour SI
1 page
Liste Des Ingénieurs d'ETAT
PDF
Pas encore d'évaluation
Liste Des Ingénieurs d'ETAT
23 pages
Préparation Entretien Oral ONCF
PDF
Pas encore d'évaluation
Préparation Entretien Oral ONCF
2 pages
Introduction à JNDI en Java
PDF
Pas encore d'évaluation
Introduction à JNDI en Java
10 pages
TP Consul
PDF
Pas encore d'évaluation
TP Consul
8 pages
Module de Développement d'Applications Modernes
PDF
Pas encore d'évaluation
Module de Développement d'Applications Modernes
26 pages
Campagne de stage PFE FY24 EMSI
PDF
Pas encore d'évaluation
Campagne de stage PFE FY24 EMSI
4 pages