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.
Las organizaciones de hoy requieren una estrategia de API moderna que se alinee con 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 las 5 principales lecciones de API para líderes de ingeniería de software de Gartner , existen cinco prácticas recomendadas para garantizar que su estrategia de API sea sólida:
Independientemente del tipo de arquitectura de API que elijas o del tipo de API que estés codificando, es fundamental considerar la seguridad de la API desde el principio, no como una ocurrencia de último momento. Para obtener más información sobre cómo mantener sus API seguras desde el principio y combatir problemas comunes como la proliferación de API , consulte Seguridad de API: Mejores prácticas para proteger las API .
Y no todas las métricas son iguales, obtenga más información en ¿Qué 12 métricas monitorear para una estrategia de API exitosa ?
Si bien las API comenzaron como una herramienta para desarrolladores, se han convertido en activos comerciales estratégicos que aumentan los ingresos y respaldan la agilidad empresarial. La conectividad API se refiere al uso de API modulares y reutilizables para vincular datos y aplicações en entornos nativos de la nube, con el objetivo de resolver desafíos de visibilidad, seguridad y gobernanza.
NGINX ofrece una variedad de recursos gratuitos para apoyarlo en cada etapa de su desarrollo con las API.