Architecture des Repos DYNORS
Objectif : donner aux architectes une vision claire de qui fait quoi entre les différents dépôts Git.
Vue d’ensemble
dynors-core → Framework technique (commons, security, db, events)
dynors-internal → Outils internes DYNORS (RAGNAR, TAKKU, HEISENBERG, RED, ...)
dynors-extensions → Extensions fonctionnelles (logging, invoicing, media, ...)
dynors-platform → Infrastructure (gateway, registry, monitoring, sdk) – à part
- dynors-core :
- Contient les modules essentiels (niveau 1) utilisés par tout le reste.
- Versionné et publié dans un registry Maven privé.
- dynors-internal :
- Contient les applications internes (ERP, configurateur, etc.) qui utilisent
dynors-core. - dynors-extensions :
- Contient des modules optionnels (logging, invoicing, media, ...), eux‑mêmes basés sur
dynors-core. - dynors-platform :
- Vise la partie infra (API Gateway, service registry, monitoring, SDKs).
Relations entre les repos
Schéma simplifié :
┌────────────────┐
│ dynors-core │
│ (framework) │
└───────┬────────┘
│
┌──────────────┼──────────────┐
│ │ │
┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐
│ dynors- │ │ dynors- │ │ dynors- │
│ internal │ │ extensions│ │ platform │
│ (RAGNAR, │ │ (logging, │ │ (gateway, │
│ TAKKU, ...)│ invoicing...)│ monitoring)│
└───────────┘ └───────────┘ └───────────┘
│
▼
Projets clients (repos par client)
- Les projets clients (ex : SeckShop) dépendent en premier lieu de
dynors-core, et éventuellement de certains modules dedynors-extensions. - Les outils internes (
dynors-internal) sont à la fois : - des "clients" de
dynors-core(ils consomment security/db, etc.), - des orchestrateurs (TAKKU crée les tenants et génère les projets clients).
Rôle de TAKKU et RAGNAR dans l’écosystème
- RAGNAR (dans
dynors-internal) : - gère les opportunités commerciales, les contrats, la vie ESN.
- déclenche la création de projets dans TAKKU.
- TAKKU (dans
dynors-internal) : - crée et configure les tenants (
dynors-db), - configure la sécurité par tenant (
dynors-security), - génère les projets clients (squelettes d’apps),
- configure Gradle/Maven pour que le projet consomme
dynors-core.
Les futurs projets clients se placent donc "au bout" de cette chaîne, en consommant ce que TAKKU a préparé.