Architecture générale¶
- Une application web (ou App)
- Une application serveur (ou Pod)
- Une base de données
- Un serveur de traitement
Note: Le système se découpe en 5 composants techniques principaux :
-
Une application web (ou App), hébergée sur un serveur web frontal (sous Docker), permet l’accès aux interfaces de saisie et l’administration des référentiels. Elle est développée sur le framework Angular.
-
Une application serveur (ou Pod), qui fournit deux points d’accès d’API distincte : une API GraphQL pour l'accès aux données (en lecture/écriture, avec contrôle des droits d’accès).
-
Une base de données, permettant la bancarisation des données et des référentiels. Le SGBDR peut-être PostgreSQL, Oracle ou HSQBDB.
-
Un serveur de traitement, pour exécuter les tâches régulières ou plus lourdes : Aggrégation ou dénormalisation des données, sauvegarde de la base, etc. Le plus souvent, le serveur de traitement est intégré et géré dans le Pod, mais il peut-être entièrement dissocié.
¶
Technologies¶
-
Application web (ou App)
- Angular 14 / Ionic 7
- Compatible web et mobile (Progressive Web Application)
-
Application serveur (ou Pod)
- Java / Spring-Boot / Hibernate
- BDD : PostgreSQL, Oracle ou HSQLDB
- API d'accès aux données : GraphQL
- Déploiement : Ansible ou Docker