¿Alguien puede transmitir qué arquitectura REST y RESTful es de una manera que un niño de seis años lo entendería?

Un servicio web RESTful proporciona información de una fuente central. Así que pensemos en un servicio web RESTful como nuestro cerebro. Nuestro cerebro almacena todos los datos y los hace accesibles. Nuestro cerebro tiene muchos tipos diferentes de información, por ejemplo, todas las personas que conocemos, todas las reglas matemáticas que conocemos, etc.

Si queremos acceder a ese tipo de información (estos se llaman recursos en REST), enviamos una solicitud a nuestro cerebro y obtenemos una respuesta. También podemos agregar nuevos datos a ese recurso (conocimos a alguien conocido), eliminar o actualizar datos.

REST define todo como un recurso, por lo que lo principal de REST son los recursos. Un recurso puede ser cualquier cosa a la que se pueda acceder. Un recurso puede ser, por ejemplo, una entidad de base de datos o una consulta.

REST se basa en los principios de WWW, por lo que le permite OBTENER datos, PONER datos (agregar nuevos datos), PUBLICAR datos (actualizar o agregar datos) o ELIMINAR datos.

El principal beneficio de usar una arquitectura como REST, SOAP o cualquier otra SOA (arquitectura orientada a servicios) es que divide diferentes partes de la aplicación en diferentes máquinas, aplicaciones, … Por eso solo necesita escribir el código para acceder a sus datos almacenado en la base de datos solo una vez, debe mantenerlo solo una vez y puede escribir muchos clientes diferentes que acceden al mismo servicio.