Las interfaces de programación de aplicação , o API, están de moda.
Si bien las API no son nuevas, fenómenos recientes como la transformación digital acelerada durante la COVID-19, las integraciones de software mejoradas y los esfuerzos por reestructurar las aplicaciones heredadas para la nube han resultado en una proliferación continua de API , lo que afecta la gestión, la seguridad e incluso las decisiones arquitectónicas que toman las organizaciones para tener éxito en la economía digital moderna.
Las API, en esencia, pueden representar el auge de las máquinas. Excepto que, afortunadamente, los humanos todavía tienen control sobre su construcción, gestión y seguridad (al menos por ahora).
Básicamente, en el lenguaje “API” (por así decirlo), el consumidor generalmente envía consultas o solicitudes al productor , a través de interfaces unificadas que consisten en varios estándares, esquemas y especificaciones.
Por ejemplo, el Servicio Meteorológico Nacional (el productor ) contiene datos meteorológicos diarios. La aplicación meteorológica de su teléfono (el consumidor ) llama, o más específicamente, consulta, a este sistema a través de la API REST de WeatherKit y luego presenta los datos a través de la interfaz de usuario de la aplicación meteorológica. Si bien este es un ejemplo simple de una aplicación popular utilizada por millones de usuarios , cabe destacar que la comunicación de máquina a máquina representa la mayor parte del tráfico de las experiencias digitales modernas y está impulsada por API.
Hay una serie de beneficios tecnológicos que se traducen en valor comercial proporcionado por las API:
Beneficio tecnológico | Valor empresarial |
---|---|
Abstraer la implementación subyacente de una aplicación web. | Las organizaciones pueden implementar rápidamente aplicaciones móviles y arquitecturas basadas en microservicios. |
Especifique tipos para que los desarrolladores puedan implementar consumidores de API a través de herramientas. | Los líderes pueden optimizar los procesos de desarrollo para facilitar un mejor tiempo de comercialización. |
Definir semántica/comportamiento para modelar un intercambio de información consistente y predecible. | Los socios pueden desarrollar y monetizar integraciones de terceros. |
Cuando se trata de la implementación de API, hay una serie de consideraciones. Específicamente, con respecto al modelado, control de versiones y pruebas de contratos, que ayudan a desacoplar las dependencias y garantizar la interoperabilidad durante el diseño, la construcción y el mantenimiento.
Consideración | Descripción | Beneficio |
---|---|---|
Modelado | La semántica o comportamiento para representar y estructurar el intercambio de información. | Gestión optimizada de arquitecturas distribuidas. |
Control de versiones | Estrategias de gobernanza para el lanzamiento y el mantenimiento durante todo el ciclo de vida de la API. | Máxima usabilidad y compatibilidad con versiones anteriores. |
Pruebas de contrato | Interacción definida y respuestas esperadas entre el consumidor y el productor. | Interacciones deterministas con integraciones comerciales de terceros. |
No existe una forma correcta o incorrecta de crear, gestionar y proteger una API. De hecho, cuando las API comenzaron a proliferar, se hizo necesario estandarizar su forma y estructura para poder usarlas a gran escala. Ingrese a la Iniciativa OpenAPI y la Especificación OpenAPI resultante (OAS). Swagger fue la implementación de referencia original de la especificación OpenAPI, y la mayoría de las herramientas ahora han convergido en el uso de OpenAPI, que aún mantiene su estilo (¡JA!).
De hecho, una API se puede construir utilizando una variedad de estándares, esquemas y especificaciones. Por ejemplo, una presentación RESTful , un servicio gRPC y conexiones a un esquema GraphQL .
Implementación | INFORMACIÓN GENERAL | Ventajas | Cuándo utilizarlo |
---|---|---|---|
![]() |
REST es por lejos la implementación más ampliamente utilizada de arquitecturas basadas en API. |
|
|
![]() |
GraphQL es un lenguaje de consulta y manipulación de datos de código abierto para API y un entorno de ejecución para realizar dichas consultas con datos existentes (desarrollado por Facebook y ahora parte de la Fundación Linux). |
|
|
![]() |
gRPC es un marco de trabajo de llamadas a procedimientos remotos (RPC) moderno, de código abierto y de alto rendimiento, administrado por la Fundación Linux. |
|
|
Con esa introducción a los fundamentos de las API, exploraremos cómo crear, administrar y proteger la arquitectura de las API en publicaciones posteriores antes de unir todo mediante la reorganización de una aplicación heredada para la nube.
¿Quieres salir adelante? Descargue el libro electrónico hoy:
Dominando la arquitectura de API | Libro electrónico de O'Reilly