Вы находитесь на странице: 1из 3

REST vs SOAP al servicio de la

web
Las

ltimas

semanas

estuvimos

involucrados

en

un

proyecto

interesante que me hizo vivir de cerca la materializacin de la


evolucin de la WEB. Es imposible hablar de la WEB moderna sin
mencionar a los Web Services, y no entrar en el debate REST vs
SOAP.
REST (Representational State Transfer) es una arquitectura sencilla
que se ejecuta sobre HTTP2. En su disertacin, Roy Fielding describe
a REST como un estilo de arquitectura que explora de una forma
bsica la tecnologa existente y los protocolos de la Web, incluyendo
XML y HTTP.
Por su vez, SOAP, Simple Object Access Protocol es una especificacin
de protocolo para intercambiar informacin estructurada en la
implementacin de Web Services.
Siendo REST un estilo de arquitectura que describe el acto de
transferir un estado por sus representaciones, el siguiente ejemplo
permite ilustrar el proceso:
Juan tiene tienda de ropa y entre otras cosas, en la tienda tiene 5
pantalones, 13 camisas y 4 camisetas. Supongamos que yo soy su
cliente y Juan est utilizando la API de REST. Si quiero saber el
estado actual de su tienda, lo nico que tengo que hacer es pedir:
Estado?
Juan me contestara: 5 pantalones, 13 camisas, 4 camisetas.
Sencillo, no? Juan acaba de transferirme el estado de su tienda por
medio

de

una

representacin:

pantalones,

13

camisas,

camisetas.
Si quisiera utilizar la forma REST para decirle a Juan que aade 3
camisetas a su tienda no podra simplemente decirle: Juan, por favor

aade 3 camisetas a tu tienda, Juan me contestara algo como:


400, Bad Request. Qu quieres decir?
Pues intentamos nuevamente. Cmo haramos con la forma REST?
Cul era la representacin? Era : 5 pantalones, 13 camisas,
camisetas. Intentamos transferir la representacin
Yo: Juan, 5 pantalones, 13 camisas, 6 camisetas por favor!
Juan: De acuerdo!
Yo: Juan, cul es tu estado?.
Juan: 5 pantalones, 13 camisas, 6 camisetas.
Yo: Ahh, de acuerdo!
Por el ejemplo, podemos ver que el REST simplifica la comunicacin y
no

le

parece

necesario

discutir

temas

como

aadir

unas

camisetas de que marca o remover todos los pantalones o


duplicar la cantidad de camisas. Todo lo que tenemos que discutir es
la representacin, y utilizar esta representacin para conseguir lo que
queremos.
Por qu escoger REST o escoger SOAP?
REST utiliza HTTP, entonces es mucho ms sencillo. Desarrollar APIs,
crear clientes y la documentacin es ms fcil de entender.
REST permite inmeros formatos de datos, dando por ejemplo al
desarrollador la posibilidad de utilizar JSON que normalmente es ms
rpido y como permite la utilizacin de JSON, permite tambin un
mejor soporte a los clientes del explorador. SOAP solamente permite
XML,
REST tiene mejor escalabilidad y rendimiento.
Las lecturas del REST se pueden cachear, las lecturas basadas en
SOAP no se pueden.
SOAP es interesante a la hora de hablar de seguridad, pues si REST
soporta SSL, SOAP tambin lo hace, pero tambin soporta WSSecurity lo que aade caractersticas de seguridad Enterprise.

SOAP Proporciona una implementacin estndar de integridad de


datos y privacidad de datos.
REST no tiene un sistema de mensajera estndar y no puede lidiar
con la comunicacin de fallos. SOAP proporciona fiabilidad en este
sentido, incluso a travs de intermediaros SOAP.
Obviamente la decisin, como siempre depende del tipo de aplicacin
que se quiere desarrollar y de la inversin que se pueda hacer sobre
la misma.
Si lo importante es desarrollar algo sencillo y prctico, REST puede
ser la solucin. Pero si la seguridad es prioritaria, SOAP puede ser til
e importante.

Вам также может понравиться