Moduli del Sistema
Panoramica
SGV GE.CO è composto da 14 moduli Maven indipendenti. Non esiste un pom.xml root; ogni modulo è un progetto Maven a sé stante, collegato tramite dipendenze nel Maven local repository (~/.m2/repository).
Grafo delle Dipendenze
graph TD
MLIB["MLib<br/>(JAR - Core Library)"]
EEMLIB["EeMlib<br/>(JAR - JDBC Helper)"]
MFALIB["MobileFineAdapterLib<br/>(JAR - Mobile DTOs)"]
OTTJPA["OtticoServiceJPA<br/>(JAR - Ottico JPA)"]
RESTC["REST Common<br/>(JAR - Shared Entities)"]
GECO["GeCo.Alfa<br/>(WAR - Main UI)"]
GECOS["GecoService<br/>(WAR - Service Layer)"]
ELAB["ElaborazioneService<br/>(WAR - Doc Processing)"]
CONN["ConnessioneService<br/>(WAR - PA Gateway)"]
OTT["OtticoService<br/>(WAR - Optical)"]
VPN["VpnMctcService<br/>(WAR - MCTC VPN)"]
MFA["MobileFineAdapterServer<br/>(WAR - Spring Boot)"]
MFAEAR["MobileFineAdapterServerEar<br/>(EAR)"]
REST["REST<br/>(Quarkus JAR)"]
MLIB --> GECO
MLIB --> GECOS
MLIB --> ELAB
MLIB --> CONN
MLIB --> OTT
EEMLIB --> MFA
EEMLIB --> ELAB
MFALIB --> MFA
MFALIB --> ELAB
OTTJPA --> OTT
RESTC --> REST
MFA --> MFAEAR
style MLIB fill:#4CAF50,color:#fff
style EEMLIB fill:#4CAF50,color:#fff
style MFALIB fill:#4CAF50,color:#fff
style OTTJPA fill:#4CAF50,color:#fff
style RESTC fill:#4CAF50,color:#fff
style GECO fill:#2196F3,color:#fff
style GECOS fill:#2196F3,color:#fff
style ELAB fill:#2196F3,color:#fff
style CONN fill:#2196F3,color:#fff
style OTT fill:#2196F3,color:#fff
style VPN fill:#2196F3,color:#fff
style MFA fill:#FF9800,color:#fff
style MFAEAR fill:#9C27B0,color:#fff
style REST fill:#F44336,color:#fff
Legenda : Verde = JAR Library | Blu = WAR (WildFly) | Arancione = Spring Boot WAR | Viola = EAR | Rosso = Quarkus
Catalogo Moduli
Librerie (JAR) - da installare con mvn install
Modulo
GroupId
ArtifactId
Versione
Java
Scopo
MLib
MLib
MLib
0.0.1-SNAPSHOT
1.8
Core library: 239 entita JPA, PDF (iText ⅝), documenti (POI, ODF), barcode (ZXing), crypto (BouncyCastle), logging (MLogger2)
EeMlib
EeMlib
EeMlib
0.0.1-SNAPSHOT
1.8
Helper JDBC leggero: JNDI lookup, DbConn, QueryHelper
MobileFineAdapterLib
MobileFineAdapter
MobileFineAdapter.lib
0.0.1
1.8
DTO condivisi per sistema mobile (*Pj POJOs, PjsResponse*)
OtticoServiceJPA
it.soes.otticoservice
ottico-jpa
1.0.0
1.8
Entita JPA per OtticoService (MongoDB)
REST Common
it.soes.sgv2
rest-common
1.0.0
11
Entita JPA condivise per Quarkus REST
Applicazioni (WAR/EAR) - da pacchettizzare con mvn package
Modulo
ArtifactId
Java
Framework
Porta
Scopo
GeCo.Alfa
GeCo.Alfa
1.8
Vaadin 7.7.27, Spring Security 3.2
8080
UI principale operatore (MVP pattern)
GecoService
GecoService
1.8
Vaadin 7.7.27, RESTEasy 3.6.1
8080
Service layer per GeCo.Alfa
ElaborazioneService
ElaborazioneService
1.8
RESTEasy 4.7.7, Quartz 2.2.1, CXF 3.4.5
8080
Elaborazione documenti, PDF, batch
ConnessioneService
ConnessioneService
1.8
JAX-RS, RESTEasy 4.7.7
8080
Gateway integrazioni PA
OtticoService
OtticoService
1.8
JMS MDB, MongoDB 3.12.14
8081
Documenti scansionati (autovelox)
VpnMctcService
VpnMctcService
1.8
JAX-WS EJB
8084
FTP over VPN verso MCTC
MobileFineAdapterServer
MobileFineAdapter.server
1.8
Spring Boot 1.5.8
8083
API REST per tablet agenti
MobileFineAdapterServerEar
MobileFineAdapter.server-ear
1.8
EAR wrapper
-
Packaging EAR
REST
rest
11
Quarkus 2.16.5, Hibernate ORM
8082
API REST next-gen multi-tenant
Ordine di Build
Le librerie JAR devono essere installate prima dei moduli applicativi che le usano:
# 1. Librerie core (nessuna dipendenza interna)
cd MLib && mvn clean install
cd EeMlib && mvn clean install
cd MobileFineAdapterLib && mvn clean install
cd OtticoServiceJPA && mvn clean install
cd "REST Common" && mvn clean install
# 2. Applicazioni WAR (dipendono dalle librerie sopra)
cd GeCo.Alfa && mvn clean package
cd GecoService && mvn clean package
cd ElaborazioneService && mvn clean package
cd ConnessioneService && mvn clean package
cd OtticoService && mvn clean package
cd VpnMctcService && mvn clean package
# 3. Spring Boot
cd MobileFineAdapterServer && mvn clean package
cd MobileFineAdapterServerEar && mvn clean package
# 4. Quarkus (Java 11)
cd REST && ./mvnw compile quarkus:dev
Dipendenze Chiave per Modulo
MLib (Core Library)
Dipendenza
Versione
Uso
EclipseLink
2.5.1
JPA Provider (persistence unit GeCo.All)
iText
5.5.13.4 + 8.0.5
Generazione PDF (legacy + nuovo)
Apache POI
3.13
Excel/Word handling
PDFBox
2.0.0
Manipolazione PDF
ZXing
3.2.1
Generazione barcode
BouncyCastle
1.78.1
Crittografia, firma digitale
Apache CXF
3.1.12
SOAP/WebServices client
JJWT
0.9.1
Token JWT
GeCo.Alfa (Main UI)
Dipendenza
Versione
Uso
Vaadin
7.7.27
UI framework MVP
Spring Security
3.2.8
Autenticazione/autorizzazione
JasperReports
6.17.0
Report generation
Vaadin Charts
3.3.1
Grafici dashboard
ElaborazioneService
Dipendenza
Versione
Uso
Quartz
2.2.1
Job scheduling
iText
5.5.13.4 + 8.0.5
PDF generation
Tika
1.21
Document parsing
Spring
5.3.20
Core/Context/Web
REST (Quarkus)
Dipendenza
Versione
Uso
Quarkus
2.16.5
Runtime framework
Hibernate ORM
(Quarkus managed)
JPA con multi-tenancy
SmallRye OpenAPI
(Quarkus managed)
Generazione API spec
16 febbraio 2026
14 febbraio 2026