Aller au contenu

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 de dynors-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é.