- Katz: REST, I just don't get it
- Simon Willison
- Katz: "The web is built on REST. Therefore REST is good" Bullshit
- Dare Obasanjo: Explaining REST to Damient Katz
- Dave Winer: Dare left something out (and it's important)
18 agosto, 2008
REST, simplemente no lo entiendo
Hace unos días, y al estilo del cuento el Nuevo Traje del Emperador, Damien Katz resaltaba que aunque REST está muy bien, hay dos verbos que apenas se usan (PUT y DELETE) y que debe ser suficiente con POST (para modificaciones) y GET (para obtener información que además puede ser cacheada de forma natural). Comprendiendo dónde falla SOAP, REST no lo convierte en una respuesta adecuada. Si lo simple es mejor (KISS) ¿para qué complicarse con los verbos PUT y DELETE que no están extendidos y que complican el estándar?
La respuesta de la comunidad no se hizo esperar. Todos trataban de convencerle de las ventajas, pero las evidencias están ahí. El argumento más utilizado era que los verbos forman parte de la especificación HTTP sobre la que la web ha crecido, pero ciertamente, de los cuatro verbos sólo GET y POST han tenido una acogida para su uso por los servidores de aplicación y respecto a las ventajas por el cache de información, sólo se está aplicando realmente al verbo GET, por lo que la contestación de Damien tiene todo el sentido: "La web está construida sobre REST, por tanto REST es bueno" Caca de vaca.
Lo cierto es que la propuesta de uso de Damien sigue respetando la filosofía REST, aunque no de forma tan purista y sí de forma más simple. Recordemos que REST no está respaldado por la industria sino que es, más bien, una propuesta de la misma comunidad de desarrolladores, más de "garaje". La industria sigue respaldando SOAP, aunque cada vez menos, por ser buzzword compliant, es decir, que cumple con las palabras técnicas de moda como XML. Da igual que se haya demostrado que es un estándar tan complejo que resulta extremadamente incómodo e inadecuado programar sobre él.
Dare Obasanjo responde a Damien en este excelente post. Explica en qué consiste exactamente crear servicios web basados en REST y hace énfasis en el punto más complejo, el de no utilizar cookies para guardar el estado entre peticiones y usar enlaces hipertexto en su lugar. Finalmente indica que realmente no es necesario usar los verbos en discordia (PUT y DELETE), a pesar de que es lo que más se ha difundido de la filosofía REST y que, por tanto, lo que proponía originalmente Damien no implica alejarse de las ventajas de la propuesta original. Como único caso, el verbo PUT (equivalente a un UPDATE) es idempotente, lo que quiere decir que independientemente del número de veces que se realice, el resultado es el mismo, lo que no puede suponerse para el POST.
No hay comentarios:
Publicar un comentario