Volver a migraciones Migración híbrida · SIGEHOS / DGSISAN

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).

Angular 17 Spring Boot 3 Java 21 Sigehos Auth JWT

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
  1. Redirección a Sigehos para login
  2. Validación del token de Sigehos
  3. Generación de JWT interno por laboratorio-service
  4. 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

Completada

Fase 1 — Autenticación moderna

  • Flujo Sigehos + laboratorio-service
  • JWT moderno para autenticación
  • Interceptor HTTP híbrido en Angular
  • Compatibilidad mantenida con labController
En progreso

Fase 2 — Migración gradual de endpoints

  • Endpoints de autenticación
  • Endpoints de usuarios
  • Endpoints de efectores
  • Endpoints de agendas
  • Endpoints de turnos
Planificada

Fase 3 — Finalización

  • Deprecar labController (Glassfish)
  • Consolidar en laboratorio-service
  • Optimizar arquitectura final

Implementación técnica

Frontend — efector-web-angular

Angular 17 AuthGuard HTTP Interceptor JWT
export const environment = {
  // Legacy (temporal)
  apiUrl: '.../LabController/api',
  // Moderno
  laboratorioServiceUrl: '.../api',
};

Backend — laboratorio-service

Spring Boot 3 Java 21 Spring Security Sigehos
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:

  1. Acceder a la aplicación Angular
  2. Verificar redirección a Sigehos
  3. Autenticarse en Sigehos
  4. Verificar retorno con token
  5. Validar JWT en laboratorio-service
  6. 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.