Herramientas de usuario

Herramientas del sitio


ada:howto:sicoferp:factory:new-migracion-sicoferp:apilegacy:apipb

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
ada:howto:sicoferp:factory:new-migracion-sicoferp:apilegacy:apipb [2024/06/13 16:19]
192.168.177.2 creado
ada:howto:sicoferp:factory:new-migracion-sicoferp:apilegacy:apipb [2024/06/13 16:38] (actual)
192.168.177.2 [Consideraciones]
Línea 29: Línea 29:
 PRESUP01.MODULOS.MICROFRONTEND_URL IS  PRESUP01.MODULOS.MICROFRONTEND_URL IS 
 'URL de lanzamiento de la GUI Microfrontend';​ 'URL de lanzamiento de la GUI Microfrontend';​
- 
- 
-ALTER TABLE PRESUP01.MODULOS ADD (CREATED_AT DATE DEFAULT SYSDATE); 
- 
-COMMENT ON COLUMN ​ 
-PRESUP01.MODULOS.CREATED_AT IS  
-'Fecha de lanzamiento de la GUI Microfrontend';​ 
  
 ALTER TABLE PRESUP01.MODULOS ADD (ID_OPTION VARCHAR2(16 Byte)); ALTER TABLE PRESUP01.MODULOS ADD (ID_OPTION VARCHAR2(16 Byte));
  
 COMMENT ON COLUMN PRESUP01.MODULOS.ID_OPTION IS '​Identificador de ruta de opción del frontend';​ COMMENT ON COLUMN PRESUP01.MODULOS.ID_OPTION IS '​Identificador de ruta de opción del frontend';​
- 
- 
- 
 </​code>​ </​code>​
 +//Los script están definidos en el repositorio.//​
  
 +==== Configurar Cliente ====
  
-El flujo para autorizar los accesos desde aplicaciones ​legacy ​es:+=== Crear ContextClient === 
 +En las tablas **PARAMETROS_SISTEMA** se ha definido una nueva propiedad llamada **CONNECT_DB** la cual representa el ContextClient de conexion del api-legacy.
  
-===== Paso 1 ===== +Para llenar esa propiedad se deben serguir los siguiente pasos: El **ContextClient** se divide en 3 fragmentos los cuales son **context**,​ **client** ​**separador**:​
-Las aplicaciones legacy consumiran la url del microfrontend ​enviarán un parámetro llamado legacyToken de tipo string.+
  
-<code yaml> +  * **Client**: Es el identificador del cliente. ​Ejemplo: ​ada, bello, viva, valor+, unillanos, etc. 
-Ejemplo ​consumo:  +  * **Context**Es el ambiente del origen de datos del cliente en el cual se ejecutará el api legacy, los microfrontend y lso servicios de las soluciones migradasEjemplodev-desarrollo, qa->​calidad,​ prod->​producción 
-http://10.1.140.21:8092/?​legacyToken=674157584668526572786e5371774d4552512b3741513d3d@1aba4e1f294858f0e063658c010a6fec +  * **Separador**:​ Es un caracter de separación para identificar el context y el client por defecto se define el separador -
-</code>+
  
-===== Paso 2 ===== +Ejemplos de ContextClient:​
-El front recibe el parámetro tipo string **legacyToken** con el siguiente formato **contextClient@uuid** el cual al ser separado por el simbolo @ se obtendran 2 fragmentos.+
  
-   * **contextClient**: Código del cliente. +  ​bello-dev 
-   ​**uuid**: token de autenticación. +  ​viva-dev 
-   * **separador**: Caracter de separación de los fragmentos del token legacy. Por defecto se define @ +  ​ada-dev 
 +  ​bello-qa 
 +  bello-prod 
 +  unillanos-qa
  
-Ejemplo: **legacyToken**=674157584668526572786e5371774d4552512b3741513d3d@1aba4e1f294858f0e063658c010a6fec+NotaEl **contextClient** siempre debe expresarse en minusculas.
  
-  * **contextClient**:​ 674157584668526572786e5371774d4552512b3741513d3d +==== Configurar Funcionalidad Migrada ==== 
-  * **uuid**: 1aba4e1f294858f0e063658c010a6fec +Una vez ha sido migrada la funcionalidad se deben hacer la siguientes configuraciónes.
-  * **separador**:​ @+
  
-===== Paso 3 ===== +==== Configurar URL del microfrontend ​==== 
-Se debe tomar el **contextClient** y desencriptarlo para identificar el cliente por medio del método **decrypt-legacy-secure-token** ​del api-legacy enviando en el parametro **secureToken** el contextClient recibido en el request de consumo de la aplicación legacy que hace la petición. +En la tabla PRESUP01.MODULOS se ha definido una nueva columna llamada MICROFRONTEND_URL la cual debe contener la url del despliegue ​del microfrontend.
-Ejemplo:+
  
-{{ :ada:howto:sicoferp:​factory:​new-migracion-sicoferp:​apilegacy:​apilegacy-decrypt.png?​600 |}}+Ejemplo Url Microfrontedhttp://​10.1.140.21:8092
  
-Como se puede observar en la imagen de ejemplo ​el contextClient devuelve viva-dev.+NOTA: Esta información ​la debe suministrar ​el rol que realiza el despliegue.
  
-===== Paso 4 ===== +==== Configurar IdOption del microfrontend ​==== 
-Al desencriptar el conteextclient ​se debe consumir ​el método ​del api **autenticate-microfrontend-launcher** el cual puede ser consultado en la documentación de la [[ada:​howto:​sicoferp:​factory:​new-migracion-sicoferp:​apilegacy#​Capa de lógica de negocio|Capa de lógica de negocio]] y pasar el contextClient como token en el header y el uuid como parametro.+En la tabla PRESUP01.MODULOS ​se ha definido una nueva columna llamada ID_OPTION la cual debe contener ​el path del microfrontend.
  
-Si el uuid está vigente se devolverán los parametros de sesión encriptados con el código 200. Lo que permitirá el acceso a la funcionalidad.+Ejemplo IdOption Microfronted:​ maestros/​terceros
  
-{{ :ada:​howto:​sicoferp:​factory:​new-migracion-sicoferp:​api-legacy1.png?600 |}}+NOTAEsta información la debe proveer el frontend.
  
-Si el uuid está vencido o es inválido se devolverá una excepcion con el código 500. Lo que evitará el acceso al microfrontend. 
- 
-{{ :​ada:​howto:​sicoferp:​factory:​new-migracion-sicoferp:​api-legacy2.png?​600 |}} 
- 
-===== Paso 5 ===== 
-Al realizar la autenticación de forma correcta se obtendra un hash que contendrá los parametros de sesión pero estarán encriptados por lo tanto se debe consumir el servicio **decrypt-legacy-secure-token** el cual recibirá ​ en el parámetro secureToken el hash obtenido del proceso de autenticación como se ve en la imagen. 
- 
-{{ :​ada:​howto:​sicoferp:​factory:​new-migracion-sicoferp:​apilegacy:​apilegacy-decrypt02.png?​600 |}} 
- 
-El servicio devuelve un objeto json con la siguiente estructura. 
- 
-<code yaml> 
-{ 
-    "​idOption":​ "​00-00",​ 
-    "​tituloVentana":​ "​Maestro Terceros",​ 
-    "​nitEmpresa":​ "​811032187.8",​ 
-    "​nombreEmpresa":​ "​CAPACITACION",​ 
-    "​codigoMempresa":​ "​9999999999",​ 
-    "​codigoUsuario":​ "​3",​ 
-    "​nombreUsuario":​ "​ADMIN",​ 
-    "​codigoDependencia":​ "​9",​ 
-    "​nombreDependencia":​ "​AVIMA",​ 
-    "​fechaSistemaModulo":​ "​1/​12/​2022",​ 
-    "​login":​ "​SICOF"​ 
-} 
-</​code>​ 
- 
-===== Paso 6 ===== 
-Se debe tomar de los parámetros desencriptado el idOption y consumir el servicio **ecosystem-config-ws/​frontend-route/​api/​v1/​get** para obtener el path del microfrontend como se ve a continuación;​ 
- 
-{{ :​ada:​howto:​sicoferp:​factory:​new-migracion-sicoferp:​apilegacy:​frontendroute.png?​600 |}} 
- 
-De esta manera se asegura la inicialización dinámica de las rutas del frontend. 
  
 ===== Consideraciones ===== ===== Consideraciones =====
  
-  * El uuid es de un solo uso, de esta manera aseguramos la integridad en los consumos de los nuevos ​componentes. +  * Los nuevos ​cmapos ​son requeridos ​para el consumo correcto ​del microfrontend. 
-  * Los parámetros desencriptados ​son la base para la inicialización ​del microfrontend. +  * Para el desarrollador powerbuilder es indiferente la funcionalidad y no impacta en sus procesos ​de desarrollo
-  * Salvo los parámetros opcionales los demás son requeridos por lo tanto se aconseja aplicar validaciones ​de esas propiedades al desencriptarlas+  * El url del microfrontend ​se desplegará en el navegador ​por defecto sin embargo tendrá prioridad el navegador Edge si está activo. Está situación es generada por window y no se puede modificar a menos que se inactive ese navegador.
-  * Todo consumo ​microfrontend ​es almacenado para efectos de auditoria. +
-  * Se debe parametrizar ​el idOption ​por opción o grupo en cada cliente. +
  
 [[ada:​howto:​sicoferp:​factory:​new-migracion-sicoferp:​apilegacy|←Regresar]] [[ada:​howto:​sicoferp:​factory:​new-migracion-sicoferp:​apilegacy|←Regresar]]
  
ada/howto/sicoferp/factory/new-migracion-sicoferp/apilegacy/apipb.1718295563.txt.gz · Última modificación: 2024/06/13 16:19 por 192.168.177.2