Contratos de API - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Contratos de API

Cada microinterfaz es un sistema capaz de encapsular opiniones, lógica y complejidad. Las preocupaciones transversales suelen incluir las siguientes:

  • Sistemas de diseño: herramientas para el desarrollo UIs distribuidas en forma de bibliotecas

  • Composición: la forma en que una microinterfaz necesita interactuar con el shell de una aplicación para renderizar y heredar su contexto

  • Manejo lógico ‒ Interacción con APIs para gestionar el estado persistente

  • Interactividad con otras microinterfaces: escenarios como publicar y consumir eventos o navegar de una microinterfaz a otra

Para acelerar el consumo y la resolución de problemas, es habitual invertir en estandarizar la forma en que se declaran y documentan estas interfaces, incluidas las dependencias entre las microinterfaces. Los wikis creados por humanos son un buen comienzo. Un enfoque más escalable consiste en almacenar esta información como metadatos estructurados en código. A continuación, puede centralizarla para su consumo mediante el uso de la automatización para realizar un seguimiento de los cambios históricos y proporcionar una búsqueda de texto completo.

Cuando las microinterfaces involucran a un gran número de equipos, se necesita una estrategia para coordinar los equipos. Compartir los contratos de API de forma unificada se convierte en algo imprescindible porque reduce la sobrecarga de comunicación y mejora la experiencia del desarrollador.

OpenAPI es un lenguaje de especificación para HTTP APIs que permite definir interfaces y contratos de API de forma unificada. Puede implementar REST APIs mediante OpenAPI en Amazon API Gateway. También puede utilizar una amplia variedad de marcos de código abierto que puede alojar en contenedores o máquinas virtuales. Una ventaja importante es que OpenAPI puede generar automáticamente documentación en un formato coherente, de modo que varios equipos pueden compartir conocimientos con una inversión inicial mínima.

Cuando varios equipos trabajan en microinterfaces, suelen formar grupos. En estos grupos, las personas pueden conocerse y aprender unas de otras y, al mismo tiempo, pensar en un panorama más amplio y contribuir a él. Estas iniciativas suelen definir y documentar los límites de propiedad, debatir cuestiones intersectoriales e identificar desde el principio cualquier duplicación de esfuerzos para resolver problemas comunes.