En el Cluster de Expertise en API de AXPE, hemos definido una Estrategia de API con el objetivo de establecer un conjunto de Mejores Prácticas para el diseño de APIs.
Como parte de nuestra serie de artículos “Modelo de Referencia AXPE para la Metodología API”, detallaremos cada aspecto de esta metodología. El primer artículo cubrirá la Introducción y Directrices Generales, seguido de temas como Diseño, Gestión de Errores en API y Modelado de Datos.
El objetivo principal de esta metodología es estandarizar y homogeneizar las estructuras de las API para:
Una API (Interfaz de Programación de Aplicaciones) es una interfaz expuesta por un sistema para establecer un medio de interacción técnico y funcional con múltiples sistemas. Actúa como un contrato y una puerta de acceso que permite la interoperabilidad entre sistemas, con las siguientes características clave:
Esta metodología está diseñada para equipos técnicos y funcionales con experiencia en especificación de API, especialmente aquellos que utilizan herramientas de Gestión de API como Kong, Mulesoft Platform o Azure API Management.
Un documento OpenAPI puede estructurarse como un archivo único o dividirse en múltiples partes interconectadas utilizando palabras clave como .Schema, Object, $ref, etc.
Recomendamos nombrar el archivo de especificación como openapi.yaml.
En AXPE, seguimos la filosofía “divide y vencerás”, favoreciendo estructuras pequeñas, modulares y altamente específicas que puedan reutilizarse dentro de un único documento OpenAPI o en múltiples documentos.
Las especificaciones de API definen prácticas, protocolos de comunicación y estructuras que establecen el contrato.
El inglés es el idioma obligatorio para la definición de especificaciones de API.
Esto aplica a URLs, objetos, atributos y documentación (descripciones, ejemplos, etc.).
La razón es que el inglés es el idioma predominante en la comunidad global de TI.
Los ejemplos deben definirse a nivel de solicitud y respuesta para cada operación.
Estos cumplen múltiples propósitos:
Aunque no es obligatorio (must), recomendamos encarecidamente (should) proporcionar ejemplos claros y bien documentados como parte del estándar de diseño de API.
Cuando se necesiten definir atributos personalizados, deben seguir el formato “X-“ (por ejemplo, X-Request-ID
).
La nomenclatura de atributos debe alinearse con el diccionario de datos de la entidad de negocio. Una API bien estructurada debe hacer referencia a un catálogo de entidades de negocio y sus atributos para garantizar la alineación con procesos, productos y servicios de negocio.
Las APIs también pueden contener atributos técnicos o de control que no forman parte de entidades de negocio. Estos deben estar claramente identificados para diferenciarlos de la información relacionada con el negocio.
Cada objeto definido debe incluir un atributo de título, cuyo valor coincida con el nombre del objeto.
Esto permite que las herramientas de validación (por ejemplo, Spectral) reconozcan y apliquen reglas predefinidas.
El versionado de API es crítico a medida que evolucionan las necesidades del negocio.
Seguimos el versionado semántico (semver.org) para gestionar la evolución de las API.
El versionado semántico proporciona cobertura completa para rastrear la evolución de la API y garantizar la compatibilidad.
En el Cluster de Expertise en API de AXPE, consideramos que estas directrices generales son esenciales para establecer los principios fundamentales de nuestro Modelo de Referencia para la Metodología API.
En nuestro próximo artículo, abordaremos estándares y mejores prácticas de diseño de API, incluyendo: