Arquitectura
Referencia técnica para arquitectura dentro del cliente local.
Objetivo
El cliente local permite ejecutar numeración, firma, persistencia, sincronización, cola offline, generación PDF e impresión cerca del punto de emisión, sin depender de que cada operación se resuelva inmediatamente en el servidor.
Componentes principales
Core local
El núcleo local resuelve:
- validación XML
- reserva y control de rangos
- numeración
- firma
- outbox y reintentos
- sincronización con el servidor
- representación impresa
Host de aplicación
La aplicación host puede ser:
- escritorio
- móvil
- servicio del sistema
- daemon companion
Su responsabilidad es:
- cargar configuración
- invocar la FFI
- resolver callbacks de criptografía cuando aplique
- mostrar estado, errores y diagnóstico
Servidor SOAP
El servidor central sigue siendo la fuente de verdad para:
- permisos del punto de emisión
- rangos CAE activos
- parámetros globales y parámetros cambiantes de la empresa
- confirmación y recepción final de comprobantes
Modelo operativo
El flujo recomendado es:
- bootstrap del runtime local
- sincronización de terminal
- descarga o validación de rangos
- preparación de draft
- firma local
- persistencia en outbox
- envío al servidor cuando corresponda
- confirmación y recuperación si hubo fallos
Modos de integración
Modo alto nivel
El host delega casi todo al cliente local:
bootstrapsync_terminalemit_xmlflush_outboxget_state
Es el camino más corto para una aplicación nueva.
Modo granular
El host controla más el pipeline:
prepare_draftsign_onlyenqueue_signedretry_failedreconcile_state
Es el camino correcto cuando el producto necesita auditoría fina, UX específica o workers propios.