Del curso: Fundamentos de la programación: API y servicios web

Qué es y para qué sirve una API

El término API significa "Application Programming Interface" o interfaz de programación de aplicaciones. Las API proporcionan una interfaz para comunicar una o varias aplicaciones de software. Frecuentemente, las API suelen ser confundidas con los servicios web. Sin embargo, aunque todos los servicios web se comunican con API, no todas las API son servicios web. En realidad, una API ofrece protocolos y reglas que dictan cómo deben comunicarse e interactuar varios módulos de software. A veces las API se consideran como contratos, ya que se representa un acuerdo entre las partes y, si se envía una solicitud remota con cierta estructura, esto condicionará la respuesta de la otra parte. Imagina, por ejemplo, que tienes una fábrica y proporcionas una API específica para verificar la cantidad de productos que tienes en stock. Entre las ventajas que ofrece una API, una es permitir que los clientes accedan a los datos de disponibilidad de stock fácilmente, la posibilidad de realizar cambios internos sin afectar a los clientes o, en caso de tener una API pública, permitir al equipo de desarrollo crear una aplicación para encontrar y comprar elementos del stock. Las API remotas están diseñadas para interactuar en una red de comunicaciones. Cuando hablamos de una API remota nos referimos a que los recursos que administran las API están fuera del sistema que los solicita. Debemos tener en cuenta que no todas las API remotas son API web, pero todas las API web son remotas. Las API pueden estar diseñadas con SOAP o REST. Las primeras utilizan XML para el formato de los mensajes y reciben solicitudes mediante HTTP o SMTP. En cambio, las API RESTful funcionan con las limitaciones de la arquitectura REST. La principal diferencia entre SOAP y REST es que la primera es un protocolo y la segunda una arquitectura, de modo que no hay ningún estándar oficial para las API RESTful Web. Una de las principales funciones de una API es poder facilitarle el trabajo al equipo de desarrollo y ahorrarles tiempo y dinero. Con ellas, no necesitas crear un sistema nuevo desde cero, sino consumir la API de un servicio ya creado. Por ejemplo, consumir una API de pagos. Las API también son útiles para cuando lo que se quiere es utilizar deliberadamente las funciones de un determinado servicio para ofrecer ventajas a sus usuarios. Por ejemplo, para la ofimática, en lugar de montar tus propios servidores, puedes consumir esos servicios desde la nube de empresas como Google o Dropbox. Las API permiten que varios productos y servicios se comuniquen con otros sin necesidad de saber cómo están implementados, esto simplifica el desarrollo de las aplicaciones y permite ahorrar tiempo y dinero. El desarrollo de aplicaciones nativas en la nube es una forma de aumentar la velocidad de desarrollo y se basa en la conexión de microservicios a través de API. Las API permiten habilitar el acceso a los recursos de una organización manteniendo al mismo tiempo la seguridad y el control de los datos.

Contenido