Architettura SGV GE.CO¶
Visione d'Insieme¶
SGV GE.CO (Sistema Gestione Verbali / Gestione Contravvenzioni) è un sistema multi-tier per la gestione del ciclo di vita completo delle sanzioni del Codice della Strada italiano. Gestisce: emissione verbali, notifiche, pagamenti, ricorsi, punti patente, sequestri/fermi amministrativi e integrazione con i servizi della Pubblica Amministrazione.
graph TB
subgraph "Presentation Tier"
UI["GeCo.Alfa<br/>Vaadin 7 MVP<br/>:8080"]
MOB["MobileFineAdapter<br/>Spring Boot REST<br/>:8083"]
end
subgraph "Service Tier"
GS["GecoService<br/>JAX-RS/RESTEasy<br/>:8080"]
ELB["ElaborazioneService<br/>RESTEasy + Quartz<br/>:8080"]
REST["REST (Quarkus)<br/>Multi-tenant<br/>:8082"]
end
subgraph "Integration Tier"
CONN["ConnessioneService<br/>JAX-RS Gateway<br/>:8080"]
OTT["OtticoService<br/>JMS MDB<br/>:8081"]
VPN["VpnMctcService<br/>JAX-WS EJB<br/>:8084"]
end
subgraph "External PA Services"
ANPR["ANPR<br/>Anagrafe Nazionale"]
PND["PND<br/>Notifiche Digitali"]
INAD["INAD<br/>Domicili Digitali"]
PAGO["PagoPA<br/>Pagamenti"]
MCTC["MCTC<br/>Motorizzazione"]
DOCF["DocFly<br/>Gestione Documenti"]
end
subgraph "Data Tier"
PG[("PostgreSQL<br/>:5432")]
MONGO[("MongoDB<br/>:27017")]
end
UI --> GS
UI --> ELB
MOB --> GS
GS --> PG
ELB --> PG
ELB --> CONN
REST --> PG
CONN --> ANPR
CONN --> PND
CONN --> INAD
CONN --> PAGO
CONN --> DOCF
VPN --> MCTC
OTT --> MONGO
OTT --> PG
Principi Architetturali¶
- Separazione delle responsabilità: UI (Vaadin MVP), Business Logic (Service/Controller), Data Access (DAO/JPA)
- Multi-tenancy: Supporto multipli comuni con isolamento database (Quarkus
X-Realmheader routing) - Gateway di integrazione centralizzato: ConnessioneService come unico punto di accesso verso i servizi PA
- Elaborazione asincrona: Quartz scheduler per generazione PDF batch, notifiche, elaborazioni massive
- Modularità: Ogni modulo è un progetto Maven indipendente, collegato tramite Maven local repository
Stack Tecnologico¶
| Layer | Tecnologia | Versione |
|---|---|---|
| UI Framework | Vaadin | 7.7.27 |
| Application Server | WildFly/JBoss EAP | 18+ |
| Java | JDK | 1.8 (legacy), 11 (REST) |
| JPA Provider | EclipseLink | 2.5.1 |
| Spring Framework | Spring Core/Security | 3.2.8 / 5.3.20 |
| REST Framework | JAX-RS / RESTEasy | 4.7.7 |
| SOAP Framework | Apache CXF | 3.4.5 |
| Scheduler | Quartz | 2.2.1 |
| Next-Gen REST | Quarkus | 2.16.5 |
| PDF Generation | iText | 5.5.13 / 8.0.5 |
| Database | PostgreSQL | 12+ |
| Document DB | MongoDB | 4.4+ |
| Build Tool | Maven | 3.6+ |
Runtime Environment¶
- WildFly: Tutti i moduli WAR deployati su WildFly (GeCo.Alfa, GecoService, ElaborazioneService, ConnessioneService, OtticoService, VpnMctcService, MobileFineAdapterServer)
- Quarkus standalone: Modulo REST su porta 8082 con live reload in dev mode
- JNDI Datasource:
java:jboss/PostgresDSPoolGeneraleper PostgreSQL - MongoDB: Connessione diretta per OtticoService (documenti scansionati)
Domini Funzionali¶
mindmap
root((SGV GE.CO))
Verbali
Emissione
Modifica
Extra CDS
Pre-verbali
Notifiche
Postalizzazione
PND digitale
Tracking
Pagamenti
PagoPA
Rateizzazione
Cauzioni
Ricorsi
Giudice di Pace
Prefetto
Esiti
Punti Patente
Decurtazione
Storno
Comunicazione MCTC
Sequestri
Fermo amministrativo
Custodia
Restituzione
Anagrafiche
Conducenti
Proprietari
Veicoli
Integrazioni PA
ANPR
PND
INAD
PagoPA
MCTC
DocFly