¿Cómo explicará REST y SOAP a una persona que tenga una idea básica de la computación en la nube?

Digamos que quieres responder una pregunta sobre Quora. Primero debe OBTENER (recuperar) la pregunta. Una vez que haya pensado un poco en la pregunta, es posible que desee PUBLICAR una respuesta. Tal vez más tarde, desee ACTUALIZAR o incluso ELIMINAR su respuesta si se da cuenta de que no era del todo correcta.

Bueno, REST es muy similar. Por lo general, utiliza el protocolo HTTP, que es el lenguaje estándar para la comunicación entre clientes web (navegadores) y servidores web. Obtiene un documento y hace algo con él, envía datos al servidor para que haga algo con él, tal vez BORRAR o ACTUALIZAR o hacer otras cosas con él.

Usando una interfaz RESTful, un programa cliente (no tiene que ser un navegador web) puede recuperar datos de otra fuente. En nuestro ejemplo de Quora anterior, el cliente puede establecer una conexión con el servidor web de Quora y luego pedirle un documento. En realidad se parece mucho a esto:

Anfitrión: http://www.quora.com
OBTENER / categoría / pregunta

Las URL HTTP se construyen de manera similar. En un navegador web, la URL comienza con el protocolo (http: //), seguido del host / servidor del que desea recuperar un documento (http://www.quora.com) y es seguido por una ruta a la recurso (/ categoría / pregunta). El comando GET está implícito en la URL, ya que generalmente OBTENES un documento a menos que envíes un formulario.

Incluso puede probarlo usted mismo si desea escribir en el símbolo del sistema en su Windows CMD.exe o Mac OS X Terminal.app (el texto en cursiva es la respuesta del servidor):

C: \> telnet www.quora.com 80
Intentando 50.17.246.73 …
Conectado a quora-prod-www-371385872.us-east-1.elb.amazonaws.com .
El carácter de escape es ‘^]’.
GET / Cloud-Computing / ¿Cómo explicará usted REST-and-SOAP-to-a-people-having-basic-idea-of-cloud-computing? HTTP / 1.1
Anfitrión: www.quora.com
[ENTRAR]
[ENTRAR]
(el servidor responde con el contenido)

Una vez que el programa cliente haya recuperado el documento y esté listo para PUBLICAR algunos datos al servidor, podría verse así:

Anfitrión: www.quora.com
POST / categoría / pregunta? Respuesta HTTP / 1.1
Tipo de contenido: application / x-application-html
Longitud del contenido: 17
Yadda yadda yadda

Las interfaces REST generalmente usan todos los comandos (“verbos”) que existen en el protocolo HTTP – GET, HEAD, UPDATE, PUT, POST, etc. – pero no tienen que hacerlo.

SOAP es un poco más complicado porque no usa comandos HTTP. En su lugar, define su propio idioma para la comunicación (bueno, la interfaz del servidor proporciona las definiciones, y el cliente también debe admitirlas; esta es una de las razones por las que el estilo RESTful, mucho más simple, ha ganado mucha popularidad). Debido a que SOAP no se basa en HTTP, puede operar en diferentes capas de la red o usar diferentes protocolos de comunicación.