¿Qué es una interfaz de programación de aplicaciones (API)?

Una interfaz de programación de aplicaciones, o API, es un conjunto de definiciones, reglas y protocolos que permiten la comunicación entre dos entidades: usuarios (ya sean personas o programas informáticos) e información (recursos de datos puestos a disposición por aplicaciones en línea y web).

Hoy en día, las API constituyen el marco básico de las aplicaciones modernas, mejoran la experiencia del usuario y potencian los modelos de negocio. A veces, una API puede ser incluso el propio modelo de negocio.

¿Cómo funcionan las API?

Las API son la «cara pública» de las aplicaciones, revelan las funciones que realizan y la información que pueden proporcionar, y definen el formato adecuado de las peticiones. Cuando un desarrollador crea y expone la API de una aplicación, permite que otras aplicaciones se comuniquen con ella.

En muchos casos, las API ahorran un valioso tiempo a los desarrolladores, ya que facilitan el acceso a funciones de uso común. En lugar de duplicar la funcionalidad de una aplicación existente, los desarrolladores pueden integrar la funcionalidad en sus aplicaciones haciendo llamadas a la API de la aplicación existente.

Glosario de los componentes de una API

La forma en que cada API se diseña, implementa y funciona depende de su estilo arquitectónico o protocolo.

Tipos de arquitecturas y protocolos de API

Una arquitectura de API, o estilo arquitectónico, se refiere al diseño de alto nivel de una API. Esto abarca cómo está estructurada y organizada y su formato de solicitud/respuesta. Un protocolo API también especifica el formato, al tiempo que describe adicionalmente los mensajes exactos.

Entre las arquitecturas y protocolos API más comunes se incluyen:

  • REST: También conocido como RESTful, este estilo arquitectónico se basa en los principios de transferencia de estado representacional. Utiliza métodos HTTP (como GET, POST, PUT y DELETE) e información abstracta (en forma de recursos y modelos de recursos) para crear estructuras escalables, flexibles y tecnológicamente independientes. En la actualidad, REST sigue siendo la arquitectura de API más popular.
  • GraphQL: Lenguaje de consulta de código abierto desarrollado por Meta (antes Facebook), las arquitecturas GraphQL permiten obtener datos de múltiples fuentes a través de una llamada a la API. Dado que los clientes solo solicitan los datos necesarios, las API GraphQL tienden a ser más eficientes (aunque menos almacenables en caché) que las API REST.
  • SOAP: Este enfoque arquitectónico utiliza el protocolo simple de acceso a objetos (SOAP). Los mensajes SOAP suelen tener formato XML, lo que los hace más voluminosos que REST o GraphQL. A diferencia de las API REST, las API SOAP tienen estrictas directrices de implementación que definen la estructura del protocolo API.
  • WebSocket: Este protocolo API es full-duplex, lo que significa que el cliente y el servidor pueden enviar y recibir mensajes simultáneamente. Además, el servidor puede enviar un mensaje que no sea una respuesta a una petición del cliente, sino que (por ejemplo) esté provocado por un evento en el lado del servidor. Por el contrario, las API REST siguen un patrón estricto de petición-respuesta.
  • RPC: Con una llamada a procedimiento remoto, el desarrollador puede utilizar el mismo código para invocar una función que se ejecuta en un espacio de direcciones diferente (normalmente, en un servidor remoto) que para una función local, sin tener que especificar los detalles de la interacción remota. Como se pueden utilizar varios lenguajes, este protocolo es flexible y se utiliza habitualmente en la comunicación cliente-servidor. Un ejemplo de RPC es gRPC (Google Remote Procedure Call).
¿Cómo se utilizan hoy las API?

Las API son una parte fundamental del software moderno. Hoy en día, las organizaciones y las empresas construyen o utilizan muchos tipos diferentes de API en función de sus necesidades.

Los cuatro tipos más comunes de API que se encuentran hoy en día en las organizaciones son las API públicas, las API privadas, las API de socios y las API de terceros.

API públicas

Las API públicas están disponibles para usuarios externos a la empresa, ya sea de forma gratuita o mediante un modelo de monetización, y permiten establecer colaboraciones con desarrolladores externos, potenciando y ampliando el ecosistema empresarial.

Dado que las API públicas pueden ser utilizadas por desarrolladores externos para crear nuevos productos, contribuyen a impulsar la innovación y son una herramienta importante para ayudar a crear nuevas asociaciones.

API privadas

Las API privadas están restringidas exclusivamente a los equipos internos de la empresa. Facilitan el acceso a datos, promueven la colaboración interna y pueden dar soporte de manera transparente a las aplicaciones orientadas al público, como el sitio web de la organización.

Dado que las API privadas están diseñadas exclusivamente para usuarios internos, las organizaciones pueden enfocarse en optimizarlas según sus necesidades específicas. Estas API también fomentan una mayor componibilidad en las aplicaciones modernas, lo que permite a las empresas adaptarse rápidamente a los cambios del entorno. Además, facilitan a los desarrolladores la integración durante la creación de microservicios, lo que minimiza la duplicación de esfuerzos entre equipos y mejora la eficiencia operativa.

API de socios

Las API de socios están diseñadas para facilitar la integración directa entre socios comerciales. Por ejemplo, permiten que una aerolínea colabore con una cadena hotelera para ofrecer la opción de reservar vuelos y alojamiento de forma conjunta. Estas API no son de acceso público; solo están disponibles para desarrolladores autorizados que cumplan con los requisitos de autenticación (AuthN) y autorización (AuthZ) establecidos por ambas empresas.

La interoperabilidad fortalece las relaciones mediante las API de socios, ya que eliminan los silos y facilitan la comunicación efectiva entre distintas organizaciones.

API de terceros

Las API de terceros permiten a las organizaciones acceder a datos o funcionalidades que sus aplicaciones y servicios no poseen de forma nativa. Estas API se ejecutan en los servidores del proveedor externo y suelen ofrecer servicios esenciales, como la API de procesamiento de pagos de Stripe, ampliamente utilizada en sitios web de comercio electrónico. Según el proveedor y la funcionalidad, el uso de estas API puede estar sujeto o no a una tarifa.

Las API de terceros, al ser desarrolladas por terceros, ofrecen una ventaja clara: el ahorro de costes. Permiten a las organizaciones acelerar el desarrollo de aplicaciones, ya que los desarrolladores pueden integrar funcionalidades listas para usar en lugar de invertir tiempo y recursos en codificarlas desde cero.

¿Qué lenguajes de aplicación se utilizan para crear API?

Casi cualquier lenguaje de programación moderno puede emplearse para desarrollar una API. Muchos desarrolladores prefieren utilizar marcos durante este proceso, ya que estos ofrecen bloques de construcción esenciales, como bibliotecas de código y herramientas adicionales, que simplifican y agilizan la creación de aplicaciones en el lenguaje elegido.

Cada lenguaje de programación suele tener uno o varios marcos populares entre los desarrolladores. En la tabla se enumeran varias opciones de marcos (muchos de los cuales son de código abierto).

 

Lenguajes

Marcos

Java

Spring

JavaScript, Node.js

AngularExpress.jsReactVue

PHP

LaravelSlimSymfony

Python

DjangoFlask

Rust

RocketYewActix-Web

Ruby

Rails

La elección del lenguaje y el marco suele depender de las necesidades del proyecto o de las preferencias personales del desarrollador.

Ejemplos de API

Hoy en día, las organizaciones necesitan una estrategia de API moderna que se ajuste a sus objetivos. Una estrategia de API establece un plan sobre cómo una organización diseñará, desarrollará, gestionará, gobernará y protegerá sus API.

Según Gartner's Top 5 API Lessons for Software Engineering Leaders (Las 5 mejores lecciones de Gartner sobre API para los líderes en ingeniería de software), existen cinco prácticas recomendadas para garantizar la solidez de su estrategia de API:

  • No deje que la gobernanza de las API genere cuellos de botella. Debe equilibrarse con la agilidad de los desarrolladores para seguir impulsando la innovación.
  • Trate las API como productos, incluso si no tiene previsto monetizarlas. Asegúrese de que cada API tenga un propósito y un público definidos, alineados con los objetivos empresariales.
  • Descubra sus API antes de que lo hagan los piratas informáticos. Priorizar la visibilidad y realizar supervisiones periódicas ayuda a prevenir brechas de seguridad.
  • Gestione el ciclo de vida de las API. La gestión integral del ciclo de vida de las API garantiza su funcionamiento constante con la seguridad adecuada.
  • Elija las tecnologías de API más adecuadas. Lo que funciona para una organización puede no ser lo más adecuado para la suya, por lo que es crucial considerar detenidamente sus necesidades específicas de API, tanto actuales como futuras.

      Independientemente del tipo de arquitectura de API que elija o del tipo de API que esté codificando, es fundamental tener en cuenta la seguridad desde el principio, no como una prioridad secundaria. Para obtener más información sobre cómo garantizar la seguridad de sus API desde el inicio y abordar problemas comunes como la expansión de las API, consulte API Security: Best Practices for Protecting APIs (Seguridad de la API: Buenas prácticas para proteger las API).

      Y no todas las métricas son igual de importantes, conozca más en Which 12 Metrics to Monitor for a Successful API Strategy (Las 12 métricas que hay que controlar para que la estrategia de API tenga éxito).

¿Qué es la conectividad de API?

Aunque las API empezaron siendo una herramienta para desarrolladores, se han convertido en activos empresariales estratégicos que aumentan los ingresos y favorecen la agilidad de la empresa. La conectividad de API se refiere al uso de API modulares y reutilizables para vincular datos y aplicaciones en entornos cloud-native, con el objetivo de resolver los retos de visibilidad, seguridad y gobernanza.

Recursos adicionales

NGINX ofrece una variedad de recursos gratuitos para apoyarlo en cada etapa de su desarrollo con las API.

Páginas del glosario relacionadas

Blogs

Libros digitales

Webinars bajo demanda