Las APIs son la forma que tienen las aplicaciones de hacer networking. Con una API una compañía le está diciendo a otra “¿colaboramos?” para establecer una relación simbiótica entre ambas y, por extensión, entre sus clientes, que favorece la innovación y la productividad. 

Fuente: Nordic APIS

La llamada economía digital requiere de una cultura que fomente la agilidad organizativa, que permita a las empresas dar respuesta rápida y flexible al ritmo acelerado y cambiante de la demanda y, como consecuencia de ello, de una cultura de la colaboración, que pasa por la necesidad de estar conectados con otros. También con quienes hasta ahora considerábamos competencia.

En este contexto es inevitable fijarnos en las APIs como la llave maestra que nos abre las puertas del networking de aplicaciones y, por ende, a la automatización de ciertas tareas.


API:

Una API no es más que una interfaz de programación de aplicaciones. Es decir, una zona de comunicación o “acción” de un sistema sobre otro. Para ello se utilizan un conjunto de herramientas, definiciones y protocolos que servirán para integrar los servicios y el software de aplicación de los sistemas participantes, de forma que evitamos tener que realizar programaciones ad hoc para cada sistema que pretendamos conectar.

Así, el propósito de las APIs es la integración o conexión de los datos, las aplicaciones y los dispositivos de la propia empresa o con otras, de forma que todas las tecnologías puedan comunicarse y trabajar mejor en conjunto. Si las tecnologías no pueden comunicarse entre sí o con otras tecnologías, representan un lastre, cuando no un sobrecoste.

Un ejemplo de uso de API sería un sitio web de comparación de precios para un determinado servicio. Imaginemos que queremos contratar un vuelo. Bastará con acceder a la web de comparación, escribir en el formulario la ciudad de origen, la de destino, las fechas en las que deseamos viajar y el número de pasajeros. El sitio de comparación accederá, a través de la API de cada aerolínea, a la base de datos de éstas y nos mostrará de forma atractiva, los resultados obtenidos para cada aerolínea.

¿Sabe la web de comparación cómo almacena los datos cada aerolínea? No. Simplemente le ha dicho a la API lo que quería y ésta ha realizado el trabajo para obtener la información. Esto que aparentemente es tan sencillo, requiere que exista a disposición de los usuarios documentación que describa los detalles técnicos involucrados en su uso, entre otros, la forma de acceso y las operaciones necesarias para interactuar con la API. Esa documentación constituye un acuerdo entre las partes, es decir una especie de contrato que especifica qué operaciones están disponibles y qué se va a obtener como respuesta al invocarlas.

«Una API es el mecanismo de acceso idóneo para publicar datos con alta frecuencia de actualización como los datos en tiempo real o dinámicos»

Diseño de las APIs: SOAP, RESTful y GRAPHQL

Existen dos iniciativas principales que han permitido diseñar las APIS y optimizar su implementación, aunque últimamente suena con fuerza una tercera. Se trata del Protocolo de Acceso a Objetos Simples (SOAP) y la Transferencia de Estado Representacional (REST), a las que se ha sumado API GraphQL.

El protocolo SOAP permite estandarizar los formatos y las solicitudes de mensajes. Es una especificación de protocolo que facilita la comunicación entre las aplicaciones que se encuentran en distintos entornos o escritas con diferentes lenguajes de programación.

Por otro lado, REST es un estilo de arquitectura que se basa en seis principios rectores, los cuales son más fáciles de seguir que un protocolo definido previamente, razón por la que las APIs de RESTful son cada vez más frecuentes que SOAP.

Una API REST se puede implementar utilizando cualquier lenguaje de programación: Java, .NET, Python, PHP, Ruby o Node.js., entre otros. Su potencia se la da la utilización de estándares abiertos como HTTP/HTTPS, cuyo uso como método de acceso y de URLs para identificar unívocamente recursos de datos de forma individual aportan una separación fundamental entre peticiones y respuestas de datos, logrando implementaciones de servicios y aplicaciones más eficientes.

API GraphQL es un lenguaje de consulta para API y un tiempo de ejecución para completar esas consultas. REST y GraphQL son similares en el sentido de que identifican los recursos como URL a través de las cuales la aplicación puede obtener datos o funciones, pero a partir de ahí existen múltiples diferencias que podéis consultar, por ejemplo, en esta guía de Google.

API, la pieza clave para la integración ágil en la nube

Cada vez más, las empresas adoptan el enfoque cloud computing de manera que les permitan incrementar la escalabilidad de las aplicaciones así como su disponibilidad. Para obtener estos beneficios es necesario un nuevo enfoque a la hora de programar las aplicaciones, el llamado enfoque nativo de la nube o cloud native app, en el que la comunicación impulsada por APIs es esencial.

Redhat sintetiza perfectamente los cuatro principios del desarrollo y de la implementación de las aplicaciones nativas en la nube:

  • 1
    La arquitectura modular basada en microservicios, por ejemplo, evitará la necesidad de conexión directa.
  • 2
    La comunicación impulsada por API solo permite la comunicación a través de llamadas de interfaz de servicio por la red, lo que evita los riesgos de conexión directa, modelos de memoria compartidos o lecturas directas de un almacén de datos de otro equipo. Este diseño extiende el alcance de las aplicaciones y los servicios a diferentes dispositivos y modalidades.
  • 3
    La infraestructura basada en contenedores ofrece un modelo operativo común en diversos entornos de tecnología y una portabilidad de aplicaciones auténtica en diferentes entornos (públicos, privados e híbridos). La tecnología de contenedores utiliza capacidades de virtualización del sistema operativo para dividir recursos informáticos disponibles entre varias aplicaciones, al mismo tiempo que garantiza que las aplicaciones sean seguras y estén aisladas entre sí.
  • 4

    Procesos de DEVOPS cuyos métodos ágiles permiten una entrega continua y colaborativa por parte de los equipos de desarrollo, control de calidad, seguridad, operaciones de TI y otros equipos involucrados en la entrega.

Arquitectura

Basada en servicios

Comunicación

Impulsada por API

Infraestructura

Contenedores

Proceso

Devops

Fuente: RedHat.

«La economía API es un facilitador para convertir una empresa u organización en una plataforma»

Kristin R. Moyer (Gartner)

«La transformación digital se basa en la capacidad de una organización para empaquetar sus servicios, competencias y activos en piezas modulares de software que se pueden aprovechar repetidamente»

State of API Economy 2021 Report

El secreto para obtener el máximo valor de los datos de que disponemos es liberarlos de los silos y hacerlos interoperables y reutilizables en diferentes contextos, incluso combinándolos con activos valiosos de socios y otros terceros.

Las APIs habilitan estas sinergias al permitir que los desarrolladores accedan y combinen activos digitales en diferentes sistemas, incluso si estos sistemas nunca tuvieron la intención de interoperar. Cuando se desarrollan para ser fácilmente reutilizables, las APIs permiten a los desarrolladores combinar modularmente y recombinar, funcionalidad y datos para nuevos usos, prácticamente sin coste marginal por cada uso adicional de la API.

Dado que no hay ningún coste adicional por las llamadas a las APIs cuantas más llamadas recibe, más valor crea para todos los participantes, de modo que se crean cada vez más sinergias entre unos y otros.

Así, el informe anteriormente aludido State of API Economy 2021 Report concluye que, en base a sus investigaciones, los responsables de la toma de decisiones de TI encuentran las siguientes bondades en las APIs:

Opiniones sobre las APIs
56%

Las APIs nos ayudan a crear mejores productos y experiencias digitales

52%

Las APIs aceleran la innovación al exponer activos con socios

40%

Las APIs son una forma de realizar la integración de sistemas

36%

Las APIs son activos estratégicos para crear valor empresarial

22%

Las APIs son productos que aprovechables directamente por clientes externos

Sin embargo, como atestiguan los datos obtenidos de la investigación, la integración sigue siendo un caso de uso de API importante, pero también puede ser limitante si se percibe como la única propuesta de valor de la API. Hacer que dos sistemas interoperen no es intrínsecamente valioso; lo valioso es lo que permite esta integración en términos de resultados comerciales, y si se puede replicar, iterar y administrar a medida que cambian las necesidades de negocio.

Las organizaciones que incrementan la implementación de SaaS (software como servicio) tienen más probabilidades que sus pares de tener una sólida madurez del programa de API.

Si bien es probable que las empresas de todos los niveles de madurez de API se centren en acelerar el desarrollo de nuevas aplicaciones y conectar aplicaciones internas, los encuestados con alta madurez se centrarán mayoritariamente en desarrollar un ecosistema de desarrolladores o un programa de socios B2B en torno a sus API.

Madurez baja
Madurez media
Madurez alta
51%
54%
66%

Acelera el desarrollo de nuevas aplicaciones

51%
47%
60%

Conecta aplicaciones internas

38%
38%
61%

Crea un ecosistema de desarrolladores

21%
30%
37%

Desarrolla un programa de socios B2B

16%
10%
9%

Monetiza APIs como una nueva fuente de ingresos

La tendencia a incrementar la colaboración en todos los ámbitos, que se está viendo acelerada con la irrupción de la inteligencia artificial y las tecnologías de aprendizaje automático, también por las sinergias que se generan entre las API y las plataformas de desarrollo sin código, hace que la conectividad y el uso de APIs sea un elemento esencial en la estrategia de cualquier empresa.