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.
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.
La forma en que cada API se diseña, implementa y funciona depende de su estilo arquitectónico o protocolo.
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:
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.
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.
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.
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.
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.
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).
La elección del lenguaje y el marco suele depender de las necesidades del proyecto o de las preferencias personales del desarrollador.
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:
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).
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.
NGINX ofrece una variedad de recursos gratuitos para apoyarlo en cada etapa de su desarrollo con las API.