lunes, 14 de agosto de 2023

¿Qué es una API REST?

 


Después de un tiempo me he decidido a escribir una nueva entrada en este pequeño escaparate del conocimiento, no sé si es por el calor del verano pero me ha dado por volver antes de Navidad. Esta vez, mi parada va a ser en algo muy utilizado en la actualidad por muchos de vosotros y por mi mismo que he programado partes de alguno. ¿De qué está hablando este?, os preguntareis, pues os voy a dar una pista, es un interfaz de programación de aplicaciones o más conocido como API. Es un conjunto de reglas que definen cómo las aplicaciones o los dispositivos pueden conectarse y comunicarse entre sí para diversas funcionalidades, pero la que más nos compete es para la obtención de datos de una forma rápida y segura. Pero si damos una vuelta más a la noria llegaremos a la API REST que es una API que cumple los principios de diseño del estilo de arquitectura REST o transferencia de estado representacional, por este motivo, las API REST a veces se conocen como API RESTful.

REST es una arquitectura para aplicaciones en redes (REpresentational State Transfer). Pero si seguimos dando vueltas al tema llegaremos a RESTful, que por otro lado, son programas (a modo de web service o API), basados en REST. Como diría el gran Groucho Marx, "la parte contratante de la primera parte considerada como la parte contratante de la primera parte" ,vamos más de lo mismo a grandes rasgos.


La arquitectura REST, que fue definida por primera vez en 2000 por el  científico de sistemas,Dr.Roy Fielding, en su tesis doctoral, proporciona un nivel relativamente alto de flexibilidad y libertad a los desarrolladores. 

All sizes | Roy Fielding | Flickr - Photo Sharing! 

La flexibilidad es solo una de las razones más importantes por las que han surgido las APIs como método común para conectar componentes y aplicaciones en una arquitectura de microservicios y usarlos de una manera cómoda por los usuarios finales que les importa poco lo que tenga en las tripas el servicio, ellos solo quieren obtener datos y más datos. Por ejemplo, la temperatura de su ciudad o del lugar de vacaciones, cual fue el valor de última cotización de las acciones de Apple en la bolsa, etc.

Las API son conjuntos de definiciones y protocolos que se utilizan para diseñar e integrar el software de las aplicaciones que se han desarrollado y podría considerarse como el contrato entre el proveedor de información y el usuario o un restaurante de peticiones, donde se establece el contenido que se necesita por parte del consumidor (la llamada al camarero) y el que requiere el productor (la respuesta del camarero), sin importar mucho como lo ha cocinado el chef. 

Por ejemplo, el diseño de una API de servicio de búsqueda de localizaciones de supermercados podría requerir que el usuario escribiera un código postal y que el productor diera una respuesta  sería el conjunto de los más cercanos. En otras palabras, las API le permiten interactuar con una computadora o un sistema para obtener datos o ejecutar una función, de manera que el sistema comprenda la solicitud y la cumpla.

Imagínelas como si fueran los mediadores entre los usuarios o clientes y los recursos o servicios web que quieren obtener, que no tenga el chef que tomar la comanda, hacer el plato y llevárselo al comensal por decirlos así. Además, las empresas pueden compartir recursos e información de una forma segura, con el control y
login, lo cual les permite determinar el contenido al que puede acceder cada usuario. Otra ventaja de las
API es que usted no necesita saber cómo se recibe el recurso ni de dónde proviene , vamos que el chef es el que le prepara y cocina los datos y no tiene porque decir la receta o si, eso ya lo decide él, pero  lo que está claro es que el dato tiene que ser bueno para que el cliente quiera repetir.



No hay comentarios:

Publicar un comentario