Interfaz de Programación de Aplicaciones (API)

¿Qué es una API?

Una API, abreviatura de Application Programming Interface (interfaz de programación de aplicaciones), sirve de mediador estandarizado en el ámbito del software. Facilita la comunicación entre distintos componentes de software, como aplicaciones, bibliotecas y sistemas operativos, estableciendo protocolos y directrices para compartir datos sin fisuras.

Diagrama que ilustra el flujo de trabajo de una API, con la secuencia: "una aplicación web en un navegador" envía una petición a través de "internet" a una "API" que se comunica con un "servidor web" y después con una "base de datos". La base de datos devuelve una respuesta a través del servidor web y la API, que en última instancia regresa a la aplicación web en el navegador
Representación esquemática del proceso de comunicación de la API

Componentes de una API:

  • Las especificaciones actúan como marco regulador que dicta el funcionamiento de una API. Abarcan aspectos como los formatos de datos, los protocolos de comunicación y los mecanismos de autenticación.
  • Las implementaciones se refieren al código tangible responsable de ejecutar los procesos de comunicación dentro de una API. Este código funciona como el motor operativo, ejecutando funciones, métodos y procedimientos para permitir una interacción fluida.

El Rol de las APIs en el Desarrollo de Software

Las API desempeñan un papel crucial a la hora de simplificar los procesos de desarrollo de aplicaciones, ya que proporcionan a los desarrolladores acceso a funcionalidades y servicios existentes. Al aprovechar las API, los desarrolladores pueden centrarse en crear la lógica de su aplicación sin necesidad de volver a crear componentes fundamentales, agilizando así el flujo de trabajo de desarrollo.

Tipos de APIs

Las API pueden clasificarse en dos tipos principales:

Gráfico educativo que muestra dos tipos de APIs: APIs Locales, que son esenciales para las operaciones internas del sistema y APIs Remotas, que permiten la comunicación externa
Infografía de una visión comparativa de las API locales y remotas

API locales

Las API locales están integradas en un sistema e incluyen:

  • Bibliotecas de software: Colecciones de funciones y módulos preconstruidos diseñados para abordar retos de programación comunes, acompañados de sus propias API para facilitar la integración.
  • Marcos de trabajo: Conjuntos de herramientas integrales equipados con bibliotecas, herramientas y convenciones adaptadas para desarrollar tipos específicos de aplicaciones, complementadas con sus respectivas API.
  • Sistemas operativos: Las API de los sistemas operativos permiten a las aplicaciones acceder a los recursos del hardware y del sistema, facilitando tareas como las operaciones con archivos, la conexión en red y la gestión de procesos.

API remotas

Las API remotas amplían las funcionalidades de las aplicaciones al permitir la interacción con servicios o recursos externos alojados en servidores distantes. Estas API utilizan protocolos de red como TCP/IP o HTTP para establecer la comunicación.

  • API web: Un subconjunto de las API remotas, las API web, también conocidas como API RESTful, aprovechan las capacidades de Internet y el Protocolo de Transferencia de Hipertexto (HTTP) para facilitar la comunicación entre aplicaciones.

Referencias

  1. Reddy, Martin (2011). API Design for C++. Elsevier Science. p. 1. ISBN 9780123850041
  2. Wood, Laura (2021-08-25). “Global Cloud Microservices Market (2021 to 2026)” businesswire.com. Recuperado 2022-03-29
  3. Clarke, Steven (2004). “Measuring API Usability”. Dr. Dobb’s
  4. Wikipedia API API: Main page – MediaWiki
  5. Set of guidelines from Microsoft for designing high-quality APIs

Additional Resources