API es el acrónimo de Application Programming Interface, que es un intermediario de software que permite que dos aplicaciones se comuniquen entre sí. Cada vez que utilizas una aplicación como Facebook, envías un mensaje instantáneo o consultas el tiempo en tu teléfono, estás utilizando una API.
¿Qué es exactamente una API? Por fin, apréndelo por ti mismo en este útil vídeo de MuleSoft, los expertos en API.
¿Qué es un ejemplo de API?
Cuando utilizas una aplicación en tu teléfono móvil, la aplicación se conecta a Internet y envía datos a un servidor. El servidor recupera esos datos, los interpreta, realiza las acciones necesarias y los devuelve al teléfono. A continuación, la aplicación interpreta esos datos y te presenta la información que querías de forma legible. Esto es lo que es una API: todo esto sucede a través de la API.
Para explicarlo mejor, pongamos un ejemplo conocido.
Imagina que estás sentado en la mesa de un restaurante con un menú de opciones para pedir. La cocina es la parte del «sistema» que preparará su pedido. Lo que falta es el eslabón crítico para comunicar su pedido a la cocina y entregar su comida a su mesa. Ahí es donde entra el camarero o API. El camarero es el mensajero -o API- que recibe tu solicitud o pedido y le dice a la cocina -el sistema- lo que tiene que hacer. Luego, el camarero te devuelve la respuesta; en este caso, es la comida.
Aquí tienes un ejemplo de API de la vida real. Puede que estés familiarizado con el proceso de búsqueda de vuelos online. Al igual que el restaurante, tienes una variedad de opciones para elegir, incluyendo diferentes ciudades, fechas de salida y regreso, y más. Imaginemos que está reservando un vuelo en el sitio web de una aerolínea. Elige una ciudad y una fecha de salida, una ciudad y una fecha de regreso, la clase de cabina y otras variables. Para reservar su vuelo, interactúa con el sitio web de la aerolínea para acceder a su base de datos y ver si hay asientos disponibles en esas fechas y cuáles podrían ser los costes.
Sin embargo, ¿qué ocurre si no está utilizando el sitio web de la aerolínea, un canal que tiene acceso directo a la información? Qué pasa si estás utilizando un servicio de viajes online, como Kayak o Expedia, que agrega información de una serie de bases de datos de aerolíneas?
El servicio de viajes, en este caso, interactúa con la API de la aerolínea. La API es la interfaz que, como su servicial camarero, puede pedir ese servicio de viajes online para obtener información de la base de datos de la aerolínea para reservar asientos, opciones de equipaje, etc. A continuación, la API toma la respuesta de la aerolínea a su solicitud y la devuelve directamente al servicio de viajes en línea, que entonces le muestra la información más actualizada y relevante.
Lo que una API también proporciona es una capa de seguridad
Los datos de su teléfono nunca están totalmente expuestos al servidor, y del mismo modo el servidor nunca está totalmente expuesto a su teléfono. En su lugar, cada uno se comunica con pequeños paquetes de datos, compartiendo sólo lo que es necesario, como pedir comida para llevar. Usted le dice al restaurante lo que le gustaría comer, ellos le dicen lo que necesitan a cambio y luego, al final, usted obtiene su comida.
Las APIs se han vuelto tan valiosas que comprenden una gran parte de los ingresos de muchas empresas. Grandes empresas como Google, eBay, Salesforce.com, Amazon y Expedia son solo algunas de las que ganan dinero con sus API. A lo que se refiere la «economía de las API» es a este mercado de APIs.
La API moderna
A lo largo de los años, lo que es una «API» ha descrito a menudo cualquier tipo de interfaz de conectividad genérica con una aplicación. Sin embargo, más recientemente, la API moderna ha adquirido algunas características que las hacen extraordinariamente valiosas y útiles:
- Las APIs modernas se adhieren a estándares (típicamente HTTP y REST), que son amigables para los desarrolladores, fácilmente accesibles y entendidas ampliamente
- Se tratan más como productos que como código. Están diseñados para el consumo de audiencias específicas (por ejemplo, desarrolladores de móviles), están documentadas y versionadas de forma que los usuarios puedan tener ciertas expectativas sobre su mantenimiento y ciclo de vida.
- Debido a que están mucho más estandarizadas, tienen una disciplina mucho más fuerte para la seguridad y la gobernanza, así como supervisadas y gestionadas para el rendimiento y la escala
- Como cualquier otra pieza de software productizado, la API moderna tiene su propio ciclo de vida de desarrollo de software (SDLC) de diseño, pruebas, construcción, gestión y versionado. Además, las APIs modernas están bien documentadas para su consumo y versionado.
Para saber más sobre las APIs y cómo diseñar una gran API, descargue el eBook Undisturbed REST: Una guía para diseñar la API perfecta.