El Concepto "Proxy Inteligente"
Tu Backend actúa como un traductor diplomático. Tu App Flutter habla un idioma sencillo (JSON) y el Backend negocia con la burocracia estricta de la AEAT (SOAP/XML Firmado).
Flutter App
Envía JSON simple
(Factura DTO)
Spring Boot
- Valida Datos
- Genera XML (JaxB)
- Firma (X.509)
- Llamada SOAP
AEAT
Recibe SOAP Firmado
Valida huella
Seguridad (Spring Security)
La API que expones a Flutter debe estar protegida. Usa JWT o API Keys. Nadie debe poder invocar tu endpoint de "Enviar Factura" sin autorización.
Resiliencia (Resilience4j)
¿Si la AEAT está caída? Implementa un Circuit Breaker. Si falla, guarda la factura en tu BBDD con estado "Pendiente" y reintenta luego (Batch process).
Stack Tecnológico
-
Build
Maven o Gradle
Gradle es más rápido para builds incrementales en tu Ryzen.
-
SOAP
Apache CXF / Spring-WS
CXF es superior manejando WS-Security complex headers.
-
DB
PostgreSQL
La base de datos relacional robusta por excelencia.
-
Ops
Docker Compose
Levanta DB, App y Monitorización en 1 comando.