Estrategia de Migración Híbrida — Efector Web Angular
Migración gradual del módulo de Laboratorio que mantiene la funcionalidad existente mientras moderniza la arquitectura paso a paso: frontend en Angular 17, backend moderno en Spring Boot 3 + Java 21 y coexistencia temporal con el legacy en Glassfish (labController).
Visión general
La estrategia implementa una migración gradual sin interrupciones:
los usuarios siguen operando con normalidad mientras el equipo migra endpoints
del backend legacy hacia laboratorio-service, con autenticación
centralizada vía Sigehos y tokens JWT modernos.
Arquitectura híbrida actual
efector-web-angular
Angular 17- Auth: Sigehos
- JWT: laboratorio-service
- APIs: labController (temporal)
- Interceptor HTTP híbrido
laboratorio-service
Spring Boot 3 · Java 21- Auth: Sigehos
- Generación de JWT
- Preparado para migración
- Spring Security
labController
Glassfish (Legacy)- Business Logic actual
- Endpoints legacy
- Coexistencia temporal
- Migración gradual
Flujos principales
1. Autenticación moderna
Usuario → AuthGuard → laboratorio-service → Sigehos → Token → JWT
- Redirección a Sigehos para login
- Validación del token de Sigehos
- Generación de JWT interno por laboratorio-service
- Interceptor añade headers automáticamente
2. Operaciones de negocio (fase actual)
efector-web-angular → labController → Base de Datos
Las operaciones de negocio siguen pasando por el backend legacy mientras se migran endpoint por endpoint hacia el servicio moderno.
Plan de migración por fases
Fase 1 — Autenticación moderna
- Flujo Sigehos + laboratorio-service
- JWT moderno para autenticación
- Interceptor HTTP híbrido en Angular
- Compatibilidad mantenida con labController
Fase 2 — Migración gradual de endpoints
- Endpoints de autenticación
- Endpoints de usuarios
- Endpoints de efectores
- Endpoints de agendas
- Endpoints de turnos
Fase 3 — Finalización
- Deprecar labController (Glassfish)
- Consolidar en laboratorio-service
- Optimizar arquitectura final
Implementación técnica
Frontend — efector-web-angular
export const environment = {
// Legacy (temporal)
apiUrl: '.../LabController/api',
// Moderno
laboratorioServiceUrl: '.../api',
};
Backend — laboratorio-service
POST /api/auth/sigehos-login
POST /api/auth/validate-sigehos
GET /api/auth/me
POST /api/auth/refresh
// Futuros (migración gradual)
GET /api/centros/usuario
GET /api/agendas
POST /api/turnos
Beneficios de la estrategia
Sin interrupciones
Funcionalidad existente se mantiene. Los usuarios no notan cambios durante la migración.
Modernización gradual
Spring Boot 3, Java 21 y arquitectura escalable con mejores prácticas de seguridad.
Flexibilidad
Rollback sencillo, testing incremental y ajustes en tiempo real durante el proceso.
Testing y monitoreo
Flujo de validación del ciclo de autenticación:
- Acceder a la aplicación Angular
- Verificar redirección a Sigehos
- Autenticarse en Sigehos
- Verificar retorno con token
- Validar JWT en laboratorio-service
- Confirmar acceso a la aplicación
Documentación del proyecto
Documentación técnica complementaria del módulo:
- BACKEND_INTEGRATION.md — Integración con backend
- COMPONENTS_DOCUMENTATION.md — Componentes Angular
- FLOW_DOCUMENTATION.md — Flujos de la aplicación
Proyecto institucional — código y documentación interna no públicos.