¡Esta es una revisión vieja del documento!
En el contexto de la migración del proyecto SICOF, se ha identificado la necesidad de desarrollar una API Legacy que permita la comunicación entre las aplicaciones legacy de la empresa (SICOF, BPP y Rentas) con los nuevos servicios y microfrontend. Esta API actuará como un puente entre el pasado y el futuro, facilitando la integración de datos y procesos entre los diferentes entornos tecnológicos.
Los objetivos principales del desarrollo de la API Legacy son:
La API Legacy se basará en una arquitectura RESTful, siguiendo los principios de diseño de APIs REST. Esto permitirá una fácil integración con las aplicaciones legacy y los nuevos sistemas, utilizando protocolos HTTP estándar y formatos de datos como JSON.
La API Legacy estará compuesta por los siguientes componentes:
Esta capa encapsulará el acceso a las bases de datos de las aplicaciones legacy, proporcionando una interfaz única y simplificada para la consulta y manipulación de datos.
Se define el siguiente modelo.
/** * The Class FrontendConsumingUrlDto. */ @Schema(description = "Entidad que almacena los registros de tokens heredados para consumo microfronend.") @Data public class FrontendConsumingUrlDto implements Serializable{ /** The Constant serialVersionUID. */ private static final long serialVersionUID = 1L; /** The id. */ @Schema(description = "Identificador del registro.") private Long id; /** The microfrontend url. */ @Schema(description = "url del microfronend desplegado.") private String microfrontendUrl; /** The path param. */ @Schema(description = "Parámetro que contiene la cadena de la sesión encriptada que será utilizada en la inicialización del microfrotnend.") private String pathParam; /** The consume status. */ @Schema(description = "Estado del registro. Es utilizado para validar si el token heredado está vigente.") private String consumeStatus; /** The uuid. */ @Schema(description = "Identificador del token heredado.") private String uuid; }
Esta capa implementará la lógica de negocio específica de las aplicaciones legacy, exponiendo las funcionalidades de estas aplicaciones a través de la API.
La documentación del api se expone en los siguientes endpoint.
La seguridad de la API Legacy será una prioridad absoluta. Se implementarán medidas de seguridad como autenticación, autorización, cifrado y validación de datos para proteger la información confidencial y garantizar la integridad de las transacciones.
El API Legacy se integrará con las aplicaciones legacy y los nuevos sistemas de diversas maneras, abriendo un abanico de posibilidades para la migración y el desarrollo futuro. A continuación, se describen algunos de los escenarios de integración más comunes:
El API Legacy se debe utilizar para implementar una arquitectura de microfrontend, donde cada aplicación frontend se integra con el API para autorizar el acceso a las funcionalidades que se migran. Esta estrategia facilita el desarrollo y mantenimiento de las aplicaciones frontend, ya que cada una puede ser desarrollada y actualizada de forma independiente.
El flujo para autorizar los accesos desde aplicaciones legacy es:
Las aplicaciones legacy consumiran la url del microfrontend y enviarán un parámetro llamado legacyToken de tipo string.
El parámetro legacyToken es un string con el siguiente formato contextClient@uuid el cual al ser separados por el simbolo @ se obtendran 2 fragmentos.
Ejemplo: legacyToken=bello-dev@180A072B7AC858EFE06