¿Qué es una RESTful API?

Con todo el entusiasmo que rodea a los servicios web RESTful, uno pensaría que de repente se trataba de un nuevo concepto que apareció en escena hace solo uno o dos años. La verdad es que los conceptos subyacentes a las RESTful API son tan antiguos como la propia web y se comprenden mejor desde esa perspectiva.

Diagrama de RESTful API

Antes de profundizar en lo que son las RESTful API, veamos por qué debería importarle. A lo largo de los años, surgieron cientos de métodos para conectar los ordenadores a través de una red que hable el mismo idioma. La evolución de estos métodos, o "protocolos", condujo a la aceptación de una pila de estándares convenidos, cada uno de los cuales aborda la comunicación por ordenador de una manera específica. En la parte superior de esta pila se encuentran las capas de Aplicación y Presentación, donde se intercambian la lógica empresarial y los datos resultantes de ella.

REST se encuentra en esta pila de una manera que facilita que las personas comprendan lo que se intercambia al tiempo que permite que los ordenadores se comuniquen entre sí de manera eficiente. Es posible que también haya oído hablar de algunas de las otras tecnologías que pueden estar presentes aquí, como SOAP (que requiere una gran cantidad de datos y potencia de procesamiento y no es realmente apropiado para los recursos limitados de las aplicaciones móviles), JMS (que es específico de las Aplicaciones Java) y XML-RPC (que tiene muchos de los mismos problemas que SOAP sin ninguno de los beneficios de la estandarización).

La guía definitiva para el éxito del administrador de productos API
La guía definitiva para el éxito del administrador de productos API
¡Aproveche el poder de las APIs con una guía de éxito de 7 partes sobre cómo las empresas pueden crear programas de API para lograr el crecimiento del negocio digital!

REST permite que se pase una cantidad mínima de datos utilizando los mismos mecanismos bien establecidos que definen la web sin muchos de los obstáculos introducidos por protocolos más complejos. Esto permite a los programadores crear programas más rápidamente que acceden y actúan sobre los datos expuestos a través de las APIs, incluso en entornos con velocidades de red poco fiables y potencia informática limitada.

REST funciona casi exactamente como un sitio web en un navegador. Un recurso se expone a un programa a través de una URL. El programa puede acceder a esa URL y recibir datos sobre el recurso, como cuando escribe una URL en su navegador y recupera una página web. Las RESTful API bien diseñadas incluyen enlaces adicionales que el programa podrá seguir para solicitar información relacionada, similar a cómo haría clic en un enlace para visitar una nueva página, o para enviar datos para actualizar un determinado recurso, similar a cómo llenaría un formulario web para crear una nueva cuenta en un sitio web.

La contraprestación de toda esta flexibilidad es la falta de estándares estrictamente establecidos. REST realmente describe el método mediante el cual se transfieren los datos, pero los implementadores se quedaron solos para averiguar cómo deberían verse estos datos. Eso está cambiando rápidamente, especialmente a medida que aumenta la cantidad de dispositivos móviles que acceden a los datos a través de la red, pero pasará un tiempo antes de que estos formatos se fusionen en algo parecido a los verdaderos estándares.