Uploaded by didier.troy

saqdaus pres v01

advertisement
SAQDAUS
Schéma
d'application
quarkus
disposant
d'angular
utile en
santé
9 janvier 2024
Présentation technique
POURQUOI
2
Le besoin
Quels intérêts ?
Pourquoi
3
Faciliter le démarrage d’un nouveau projet
Unifier l’architecture des applications
Utilisation de Quarkus
Mise en place des bonnes pratiques dès l’initialisation d’un projet (structure du code, linters…)
WILDFLY vs Quarkus
Pourquoi
4
- Technologie récente (mais très documentée)
- Pas de console d’administration en production
- N’est pas un serveur d’applications
+ Léger
+ Développement simplifié
+ Pensé pour le micro-service et Kubernetes
+ Rapide
+ Faible empreinte mémoire
-
Lourd
- Complexe à configurer (standalone.xml)
- Peu adapté à une architecture micro-services
- Difficultés d’exploitation (plantage du serveur, …)
+ Technologie éprouvée
+ Dispose d’une console d’administration
+ Serveur d’applications
2
COMMENT
5
Création d’un nouveau projet
Commande maven
mvn archetype:generate "-DarchetypeGroupId=fr.aphp.csa.webapp"
"-DarchetypeArtifactId=saqdaus"
"-DarchetypeVersion=1.1.0"
artifactId : artifactId du nouveau projet
webComponentPrefix : préfixe utilisé pour le sélecteur des composants Angular
package : package de plus bas niveau du projet (sauf besoin particulier, utiliser la valeur par défaut)
Comment
Structure générée
N.B. : Le projet est créé dans le répertoire où la commande est appelée
6
Détail des modules 1/2
Projet parent
Module d’assemblage
Contenu par défaut
Gestion des dépendances globales
Gestion des propriétés maven globales
•
Liquibase (changelog)
•
Intercepteur d’erreurs
•
Configuration de l’application
Ajouts
•
Classes globales au projet
Comment
Remarques
•
7
Les autres modules ne doivent pas dépendre du
module d’assemblage
Détail des modules 2/2
Modules métier
Module web
Contenu par défaut
Contenu par défaut
•
Classes d’exemple (à supprimer)
•
Configuration Angular
•
Module exemple (à supprimer)
Ajouts
•
Remarques
Comment
8
Ajouts
Code back du projet
•
Découpage vertical du projet en module
•
Peuvent avoir des dépendances entre eux (attentions
aux dépendances circulaires)
•
Code front du projet
Remarques
•
Intégré à l’application via Quinoa
Mes notes
Deux fichiers environnements :
• application.properties
• application.env : pour surcharger les variables de application et s’adapter au
contexte
• L’application.env doit être dans le même répertoire que le jar et permet de changer
le port pour avoir plusieurs jar en exécution en parallèle.
• Démarrage : java –jar application.jar
• Sous le projet : exécution quarkus en mode dev : mvn quarkus:dev
• Pas de console en production, uniquement en dev : dev ui à /q/dev-v1 par défaut sur
localhost:8080 ou autre. Voir SmallRye OpenAPI pour les appels REST et leur
description. Lien vers : https://quarkus.io/guides/dev-ui
9
Download