Ir al contenido principal

Preguntas técnicas

Lo que un equipo técnico pregunta antes de migrar.

Respuestas directas a las dudas de toda evaluación técnica: arquitectura, datos, triggers, seguridad, pruebas, despliegue y equipo.

Arquitectura

¿Cómo es la arquitectura de destino —Angular con Spring Boot— comparada con JFB 3.0?

Pasas de un runtime orientado a formularios a una arquitectura web desacoplada: Angular es dueño de la interfaz y Spring Boot de la lógica de negocio, la persistencia y las transacciones.

Ver el detalle técnico

JFB 3.0 mezcla interfaz, lógica y datos en un mismo runtime. La arquitectura de destino separa esas responsabilidades en capas con contratos claros.

  • Angular entrega una interfaz web moderna, con componentes reutilizables y un estándar visual uniforme.
  • Spring Boot concentra las reglas de negocio, las transacciones y el acceso a datos, expuestos como API REST.
  • Contratos tipados entre capas: cada parte se prueba, escala y evoluciona por separado.

El comportamiento de negocio se preserva. Lo que cambia es dónde vive — y qué tan fácil resulta mantenerlo.

Base de datos

¿Qué pasa con la lógica de base de datos: los paquetes y procedimientos almacenados?

Tu PL/SQL puede quedarse donde está. Lo que cambia es quién lo llama: solo el back-end en Spring Boot, detrás de un gateway — Angular nunca habla directo con Oracle.

Ver el detalle técnico

Los paquetes que llevan años funcionando no se reescriben por reescribir.

  • Se conservan los procedimientos probados: Spring Boot los invoca detrás de una API orientada al negocio.
  • Se aíslan los detalles de Oracle: hacia afuera viajan datos tipados, nunca interioridades de la base de datos.
  • Se migra solo lo que aporta: una regla se mueve a Spring cuando puede probarse sin Oracle y verificarse su equivalencia.

Menos riesgo hoy, y libertad para desacoplar la base de datos mañana.

Triggers

¿Cómo se manejan los triggers a nivel de formulario y los built-ins de Oracle como Commit_Form o ROLLBACK?

Los triggers no se copian línea a línea: se migran por su significado. Commit_Form se convierte en una operación de API transaccional y ROLLBACK en una excepción controlada.

Ver el detalle técnico

Cada trigger se clasifica por lo que realmente hace, y esa intención se implementa en la capa correcta.

  • Navegación e interfaz → el ciclo de vida de Angular.
  • Validación → en el formulario para guiar al usuario, y en el back-end como autoridad final.
  • Transacciones → servicios de Spring Boot: confirmar es una operación de negocio, no un botón.

El resultado se comporta igual que el original — y queda documentado y probado.

Seguridad

¿Cómo manejan el logging, las excepciones, la validación y la seguridad?

Angular guía al usuario; Spring Boot protege el sistema. Toda validación y autorización se decide en el back-end, con auditoría centralizada y errores que nunca exponen detalles internos.

Ver el detalle técnico
  • Validación doble: en el front-end como ayuda de usabilidad, en el back-end como la regla que sí decide.
  • Excepciones controladas: un manejador global traduce cada fallo a un mensaje claro y seguro.
  • Registro estructurado: identificadores de correlación para auditar cada operación de punta a punta.

Deshabilitar un botón nunca es una decisión de seguridad: la seguridad vive en el back-end.

Autenticación

¿Cuál es el flujo de autenticación entre Angular y Spring Boot, y dónde se almacena?

Un proveedor de identidad moderno —como Auth0— autentica al usuario con los estándares OAuth2 y OIDC. Angular inicia la sesión y Spring Boot valida cada token, en cada operación.

Ver el detalle técnico
  • Sin contraseñas propias: la identidad la gestiona un proveedor especializado y certificado.
  • Tokens de corta vida en lugar de sesiones frágiles: cada petición llega firmada y verificable.
  • Autorización por operación: el back-end decide qué puede hacer cada usuario, siempre.

Más seguro que el esquema original — y listo para el inicio de sesión único corporativo (SSO).

Pruebas

¿Qué herramientas y estrategia de pruebas aplican, en front-end y back-end?

Pruebas en cada capa, y cada capa atrapa un riesgo distinto: unitarias en Angular y Spring Boot, integración contra la base de datos real y end-to-end con Playwright.

Ver el detalle técnico
  • Angular: Jasmine, Karma y TestBed para componentes y validadores.
  • Spring Boot: JUnit 5, Mockito y MockMvc para reglas de negocio y API.
  • Integración: los paquetes de Oracle se prueban contra la base de datos real, no contra simulaciones.
  • End-to-end: Playwright verifica los flujos completos tal como los vive el usuario.

El criterio de aceptación es cubrir el comportamiento del sistema original, no alcanzar un porcentaje.

Entrega

¿Cómo se construye y se despliega la aplicación?

Con GitLab CI/CD y artefactos inmutables: cada versión se construye una vez y se promueve entre ambientes. Producción exige aprobación explícita y siempre hay camino de vuelta.

Ver el detalle técnico
  • Un artefacto por capa: front-end y back-end se construyen y despliegan de forma independiente.
  • Promoción entre ambientes: lo que llega a producción es exactamente lo que ya se validó.
  • Reversión inmediata: cada versión conserva la anterior, lista para volver atrás.

La aplicación y la base de datos se despliegan por separado, cada una a su ritmo y con su propio control.

Equipo

¿Qué habilidades técnicas necesita un equipo para ejecutar una migración así?

El día a día lo llevan dos perfiles —desarrollo de aplicación e ingeniería DevOps— con apoyo puntual de un especialista en Oracle y PostgreSQL.

Ver el detalle técnico
  • Desarrollo de aplicación: Angular y Spring Boot sobre la arquitectura ya definida.
  • Ingeniería DevOps: pipeline de entrega, ambientes y observabilidad.
  • Especialista en bases de datos: entra cuando el comportamiento de Oracle se complica.

Lo difícil no es armar pantallas: es preservar el comportamiento del sistema original y demostrar la equivalencia con pruebas. Exactamente para eso están nuestra metodología y nuestro equipo.

Empecemos

Su sistema Oracle Forms tiene años de conocimiento de negocio dentro. Nosotros lo llevamos al futuro.

¿Tiene aplicaciones construidas en Oracle Forms y Reports que necesita modernizar? Conversemos sobre cómo nuestra metodología de migración asistida por IA puede llevar su sistema a un stack moderno, manteniendo intacta la lógica que hace funcionar su negocio.