Implementación de solución asíncrona basada en API asíncrona

Contenido

Esta implementación es dependiente de la disponibilidad de la Plataforma de APIs. Se puede consultar la fecha de disponibilidad en la hoja de ruta

Se recomienda utilizar esta implementación de la solución de servicios asíncronos cuando la necesidad de un servicio asíncrono sea puntual en el proyecto y la necesidad de información pueda gestionarse de forma sencilla. Esta solución no requiere integración con componentes ajenos al propio proyecto como el broker de mensajería centralizado.

Cómo adaptarla a tu caso concreto

Preparación del entorno local de desarrollo

Para configurar el equipo local, lee la la guía de desarrollo de api y la guía de desarrollo de microservicios, donde verás las herramientas que están a tu disposición y las normas que debes seguir.

 

Adaptación

Para diseñar la solución tecnológica:

  1. Definir el contrato de la API según se ha establecido en las normas de diseño de API y la arquitectura de referencia. El contrato definido tiene que cumplir las siguientes características:
    • Identificar correctamente todos los clientes que conectarán al topic (productores y consumidores).
    • Definir permisos solo de escritura en los productores y de solo lectura en los consumidores.
    • Un mismo microservicio puede tener a la vez productores y consumidores sin embargo cada uno de ellos tendrá su propio identificador que es el que se utilizado en la configuración del ACL (Access Control List o Lista de Control de Acceso, reglas que determinan qué usuarios o sistemas pueden acceder a los recursos y qué tipo de acciones pueden realizar).
  2. Definir el diseño del microservicio teniendo en cuenta las norma de diseño de microservicios y la arquitectura de referencia

 

Para la construcción de la API:

  1. Del listado de plantillas que próximamente estará disponible, ejecutar la plantilla que más se adapte a las necesidades de desarrollo de la solución.
  2. A partir del diseño inicial, modificar el fichero generado por la plantilla con la especificación del contrato de la API.

 

Para la construcción del microservicio (usando el framework de desarrollo ada-fwk-ms):

  1. Del listado de arquetipos publicados por el framework, ejecutar el arquetipo que más se adapte a las necesidades de desarrollo del microservicio. Se recomienda utilizar el arquetipo fwk-apifirst-archetype o fwk-crud-apifirst-archetype. Los arquetipos recomendados generarán un microservicio completamente funcional que publica una API siguiendo la implementación api-first.
  2. Sustituir el fichero con la especificación de contrato generado por el arquetipo por el creado por el desarrollador durante la construcción de la API.
  3. Siguiendo las instrucciones indicadas en el módulo del framework fwk-swagger, configurar el plugin de maven openapi-generator-maven-plugin para que se generen correctamente las clases java que implementan el contrato definido en el microservicio.
  4. Añadir los módulos del framework necesarios para implementar el negocio. Para ello se recomienda revisar el listado de módulos disponibles en el framework.
  5. Compilar el microservicio utilizando el comando maven mvn clean install. Al compilar el microservicio y haber configurado el plugin openapi-generator-maven-plugin, se generarán las clases necesarias para implementar el contrato de la API y se descargará del artifactory de Junta de Andalucía las dependencias tanto del framework como de librerías de terceros necesarias para la correcta ejecución del microservicio.
  6. Siguiendo las instrucciones publicadas en el módulo del framework fwk-swagger implementar la API a partir del contrato definido y utilizando los objetos autogenerados por el plugin openapi-generator-maven-plugin de maven.
  7. Implementar el negocio que dotará de funcionalidad a la API  ayudándose de las herramientas proporcionadas por los módulos del framework incluidos en el microservicio.
  8. Implementar la seguridad basada en token para restringir el acceso al microservicio. Se recomienda utilizar el módulo del framework fwk-security y seguir las directrices indicadas en el documento de desarrollo seguro que estará disponible próximamente.
  9. Configurar la observabilidad del microservicio. Para ello asegurarse de que el microservicio está correctamente configurado para poder conectarse con la plataforma de observabilidad. Se recomienda consultar la documentación del módulo fwk-otpl del framework.
  10. Verificar que el microservicio cumple con la normativa referente a logs y que el código tiene configurado el nivel de log correcto. Revisar el fichero logback-spring.xml generado por el arquetipo y verificar que está correctamente configurado para cumplir con las necesidades del proyecto.

 

Para la publicación de la API en el API Manager, se han de revisar una serie de ficheros:

  1. Revisar el fichero con la documentación adicional de la API generado por la plantilla y hacer los cambios necesarios para que se adapte a la solución. Esta documentación abarca entre otros aspectos las guías y manuales de uso de la API. Suele tener un formato menos técnico para que cualquier persona pueda entender claramente el objetivo de la API y la funcionalidad que ofrece.
  2. Revisar los ficheros de configuración de la documentación generados por la plantilla y hacer los cambios necesarios para que se adapte a la solución.
  3. Modificar el fichero de parametrización de la API generado por la plantilla. Dentro de esta parametrización se pueden definir respuestas mocks permitiendo a los equipos de desarrollo utilizar la API en un entorno de desarrollo sin tener que esperar al despliegue del microservicio.

Próximamente se harán públicos y adjuntarán a esta documentación ejemplos de estos ficheros para poder entender la estructura de los mismos.

 

Despliegue

Para desplegar la API revisa el modelo de despliegue de apis.

Para desplegar el microservicio revisa el apartado "Proceso de instalación y despliegue" del modelo de despliegue de microservicios.

Recursos relacionados

Arquitecturas de referencia

Normas

Activos