Bueno, hace ya casi tres meses que no he publicado nada, y es porque no he parado....
El 22 de octubre fue el Appeon Summit Spain en Madrid, donde tuve la oportunidad de participar en una mesa redonda y preparar una exposición, ¡y se me han quedado varias ideas pendientes de compartir!
Hoy, siguiendo uno de mis ejemplos sobre encriptación y generación de claves, he querido convertirlo en una API en .NET 6 con C#.
Esto ofrece varias utilidades: además de aprender algunos conceptos sobre APIs, nos permite implementar un sistema de encriptación compatible con PowerBuilder, .NET 6, y otros frameworks como React Native.
Para este ejemplo, he modificado el proyecto en PowerBuilder para que no usara funciones nativas de encriptación. En lugar de ello, he utilizado el objeto RestClient para hacer llamadas a una API externa que ahora realiza todo el trabajo.
Recomendaciones Previas
Para entender mejor el contexto de este ejemplo, recomiendo leer los siguientes artículos:
2 - keyGenerator
Conversión de la Aplicación
La conversión se centra en los objetos n_cst_security y n_cst_key_generator, los cuales ahora, en lugar de contener la funcionalidad directamente, utilizan RestClient para delegar la lógica a la API. Cada objeto tiene como variable de instancia la URL de la API, permitiendo que cada servicio se aloje en APIs distintas si así se requiere.
Además, he añadido una variable de instancia para el controlador, lo que facilita la construcción de la URL para cada llamada de manera sencilla.
Estructura Comparativa
Si vemos la estructura de la App es práctimanete idéntica, para este caso he tenido que crear un nvo_coderobject y y nvo_jsongenerator para ayudarme con las llamadas a la api:
Con este nuevo nuevo enfoque, en lugar de que PowerBuilder genere la lógica internamente, hacemos una llamada a la API para enviar la clave que queremos validar.
Controlador en la API
En la API, el controlador se encarga de gestionar la recepción de los datos enviados desde PowerBuilder. Es de tipo Post, con lo que le voy a enviar un json en el cuerpo del mensaje con la clave a validar codificada en base64 Url.
Implementación Servicio
Conclusión
¡Espero que este artículo te haya sido útil y que te animes a experimentar con estas tecnologías! Si tienes preguntas o comentarios, no dudes en dejarlos.
version de pb se ha desarrollado?
ResponderEliminarPoweBuilder 2022 R3 build 3356
Eliminar