Vai al contenuto

Architettura di sistema

Questa sezione descrive la struttura tecnica della piattaforma e come i diversi livelli collaborano tra loro.


Stack principale

  • Go + Echo per HTTP API e pagine server-rendered
  • Ent per ORM, schema e versioning delle entità
  • PostgreSQL come datastore principale
  • Playwright per E2E real-user testing
  • OpenCode / LLM proxy per esecuzione AI
  • GoeSign per firme, evidenze e signing flow regolatorio
  • Marble per decisioning KYT dove applicabile

Livelli applicativi

flowchart TB
    UI[UI Web / Pages]
    API[HTTP API / Handlers]
    SVC[Application Services]
    CORE[Domain + Policies + State Machines]
    DB[(PostgreSQL / Ent)]
    EXT[External Integrations\nGoeSign / Marble / LLM]

    UI --> API
    API --> SVC
    SVC --> CORE
    CORE --> DB
    SVC --> EXT

UI e View Layer

La UI è ampia e server-rendered. Le pagine coprono operatività AML, governance, backbone compliance, sistemi e moduli specialistici.

Handler Layer

Gli handler espongono:

  • API operative;
  • pagine HTML;
  • endpoint di health, export, streaming AI, control plane.

Service Layer

È il layer più importante della piattaforma. Qui vivono:

  • orchestrazione di processo;
  • state machine;
  • policy engine;
  • validation;
  • integrazioni esterne;
  • ledger di evidenza.

Data Layer

Il data model è versionato e soft-deletable. Molte tabelle seguono la convenzione DWH (n_ver, data_fine, cod_azienda).


Componenti sistemici critici

Worker leases

I worker critici non devono competere tra loro. Il sistema usa lease espliciti per worker come:

  • event_reactor
  • approval_executor
  • auto_exec_dispatcher
  • escalation
  • reconciliation

Release gates

Il rilascio non dipende da una percezione manuale, ma da gate misurabili:

  • worker health;
  • poisoned executions;
  • retry backlog;
  • stale approvals;
  • reconciliation clean;
  • critical E2E pass;
  • evidence chain complete.

Evidence navigation

Ogni esecuzione importante deve poter essere navigata come catena completa: trigger → output AI → approvazione → azione → effetto → firma → ledger.


Integrazioni esterne principali

Integrazione Uso
OpenCode / LLM proxy generazione output AI e pacchetti approvativi
GoeSign signoff, package sealing, evidence-based signature flows
Marble decisioning KYT, sync, reconciliation, governance signoff
Storage / archive conservazione, export, dossier, package generation