La metodología API First permite reducir el time to market y mejorar la calidad de las APis, gracias a la paralelización de procesos y autogeneración de código.
¿Qué es la Metodología API First?
La metodología API First es una metodología de definición de APIs que prioriza la definición del contrato antes de empezar a lanzar el resto de procesos, como la implementación, testing, despliegue…
Ventajas del API First
Las principales ventajas son las siguientes:
- Reduce el time to market casi un 50%.
- Mejora la calidad de la API puesto que permite que los consumidores puedan empezar a trabajar con el contrato sin haberse implementado y por tanto, es más susceptibles a cambios
- Mejora los procesos: Del primer contrato se suelen automatizar el resto de fases, lo que hace que se automaticen los procesos.
- Permite generar contract tests. Permite autogenerar las pruebas para los equipos de QA y desarrollo y además, que los equipos de Desarrollo puedan probarse con los tests realizados en QA
- Mejora la seguridad. Al definir el contrato primero, permite validar la seguridad basada en la definición y encontrar bugs de seguridad antes de haber empezado a implementar nada.
Tal y como se puede ver en la imagen, se describe la metodología API First y cómo se puede implementar dentro de un proyecto scrum. La metodología se implementa en 3 fases:
- Fase de definición y mocking: Se define el contrato openapi, se valida y se genera un mocking para los clientes.
- Fase de implementación: Gracias al contrato, desarrollamos tres actividades en paralelo:
- Definición de los tests: Se desarrollan los tests utilizando el mock server mientras que los desarrolladores terminan la implementación
- Desarrollo e implementación de la API: Utilizando herramientas de generación de arquetipos, como APIGen, generamos y desarrollamos la implementación de la API. una vez desarrollada la API, se probarán con los tests automatizados por QA.
- Consumo de la API: Las apis se exponen a traves de las herramientas de api management apuntando al mock server, lo que le permite a los consumidores empezar a probar y desarrollar la funcionalidad y mejorar el contrato api conjuntamente con el desarrollador de la API.
- Fase de integración: Una vez implementada la API debemos reapuntar la API del mockserver a la implementación realizada.
¿Cuál es la mejor forma de realizar API First?
La mejor forma de realizar API First es desarrollar los repos de definición, que son unos repositorios dónde se deja el documento OpenAPI y que automatizan el resto de tareas.
Los stages tipo son los siguientes:
- Validación: Valida que la definición de la API cumple la guía de estilos corporativa
- Mocking: Genera un mock server usando los ejemplos definidos en el openapi
- Contract tests: Genera colecciones de pruebas usando los códigos de respuesta, esquema de datos y definición de los modelos del cuerpo de petición y respueta
- Despliegue: Despliega en la herramienta de APIS y en el catálogo la API
Author