martes, 3 de marzo de 2009

Rest vs Soap (Gestión de colas)



He encontrado esta imagen (http://jelabra.blogspot.com/2007/03/clase-de-soap-vs-rest.html) donde podemos ver las características de REST y SOAP, con sus ventajas e inconvenientes.

En primer lugar, tendremos en cuenta que en la parte del cliente será una aplicación en .net c# y la parte del servidor en java.


Vemos que son SOAP tenemos una independencia de plataformas y lenguajes y con ello una garantía de compatibilidad. Sin olvidar que es un estándar del w3c y REST no. SOAP se soporta desde .NET 1.0, por lo que en 1.1 2.0 3.0 y 3.5 ya se da por supuesto que lo soporta.


Para realizar elementos en REST tendríamos que hacerlo todo todito a bajo nivel usando sockets, en general, se aprovecha mucho mejor el ancho de banda con REST, por su forma de hacer las cosas, pero no es un estándar real, sólo se aprovecha el protocolo Http para sus peticiones. Por lo que trabajar con el en dos lenguajes puede ser más engorroso que SOAP, que en cada lenguaje hay un soporte para convertir los datos entre plataformas.


Con lo cual, la ventaja de REST frente a SOAP en cuanto a la eficiencia y mejores tiempos de respuestas, se ve un poco tocada, ya que para el uso de REST tendríamos que desarrollar nuestras propias librerías tanto en .Net c# como en java, las cuales llevarían un tiempo de interpretación.

Gestión de colas con AJAX

Haciendo referencia al siguiente enlace proporcionado por el grupo http://opengardensblog.futuretext.com/archives/2006/03/mobile_web_20_a_2.html
Veo algún inconveniente a la hora de poder utilizarlo con el proyecto de gestión de colas, donde tenemos que acceder a los recursos del dispositivo (vibración, etc.).
El artículo dice que es posible acceder a funciones nativas. Pero no podría hacer llamadas a la API, y nada nos asegura que el dispositivo tenga alguna llamada para hacer vibrar una PDA.
Aun asi debemos tener en cuenta que SOLO seria con Opera Mobile, con lo que obligaría a todos los usuarios a que usen el navegador Opera en su dispositivo (y a instalarlo y aprender a usarlo) puesto que con cualquier otro navegador "mobile" (IE o Firefox/Camino ) no funcionarían esas opciones.