Home / Noticias / Acelerando las aplicaciones web con HTML 5 WebSocket

Acelerando las aplicaciones web con HTML 5 WebSocket

El jefe de tecnología de Kaazing asegura que WebSocket es más rápido que el protocolo HTTP.

Gracias a su tendencia a ser demasiado comunicativo, el protocolo tradicional de comunicaciones usado para trasladar datos alrededor de la World Wide Web no es tan eficiente como nos gustaría. Ahora hay un estándar ligado a HTML 5 llamado WebSocket, que podría recortar un poco de este lastre en las redes, acelerando la responsividad en aplicaciones web, según señala un experto en web apps.

“Si no estuviera restringido por las limitaciones de HTTP, ¿qué clase de aplicaciones web verdaderamente interactivas elaborarías?”, preguntó en forma retórica John Fallows, ante una audiencia llena de desarrolladores y administradores web en la HTML5 Live Conference el martes en Nueva York. Fallows es el jefe de tecnología (CTO) y co-fundador del proveedor de software de mensajería Kaazing.

El uso del WebSocket, perteneciente al W3C, podría abrir el paso a una nueva generación de aplicaciones web en tiempo real de “latencia cero”, cuyos requerimientos de comunicación sean demasiado exigentes para los protocolos HTTP de hoy, argumentó Fallows.

Como un ejemplo de la rapidez de WebSocket, Fallows mostró una implementación del popular juego de los noventas Quake II, que los ingenieros de Google importaron para que corra por completo en un navegador, usando WebSocket como puente entre servidor y cliente. Este juego no se hubiera podido correr en línea usando HTTP, explicó.

Fallows también demostró un ticker de bolsa, donde los valores de unas 10 acciones se actualizaban cada segundo y algo, mostrando un flujo casi constante de los valores en permanente cambio.

Creado en 1991, el Protocolo de Transferencia de HiperTexto (o HTTP por sus siglas en inglés) se usa hoy en día para la mayoría del tráfico en la red. Debido a que fue diseñado para la transferencia de documentos, en realidad no está adecuado para las aplicaciones web modernas, continuó Fallows.

La principal desventaja de HTTP es su naturaleza medio-dúplex, es decir, sólo se puede comunicar en una dirección a la vez, bien del cliente al servidor o del servidor al cliente. Puede que los usuarios no lo noten, pero los intercambios de comunicación entre cliente y servidor toman apenas unos cientos milisegundos. Pero con una mayor entrada y salida de datos en las aplicaciones web, este tipo de comunicación de ida y vuelta sólo traerá una mayor y perceptible latencia a la aplicación.

Otro factor que deja a HTTP rezagado en la era de las aplicaciones web es que los paquetes HTTP vienen cargados con grandes cantidades de datos de cabecera, lo cual consume ancho de banda y requiere más trabajo de procesamiento. HTTP trata cada consulta de forma independiente, lo cual significa que no hay un puente dedicado entre cliente y servidor, así que cada paquete que viaje entre ambos debe contener toda la información de sesión para realizar el intercambio.

Cuando usamos WebSocket en lugar de HTTP, el intercambio se simplifica, según Fallows. HTTP puede transportar entre 800 bytes y unos pocos miles de kilobytes de información de cabecera, mientras que un paquete de WebSocket puede designar toda la información útil de la cabecera en unos pocos bytes.

Como HTTP, WebSocket funciona sobre el protocolo de transmisión TCP. Luego de que el “apretón de manos” original entre el cliente y servidor se realiza, ambas partes cambian de protocolo HTTP a WebSocket. Debido a que está completamente adecuado a los estándares web, WebSocket puede pasar a través de firewalls corporativos, proxies y routers de las mismas formas en que lo hacen los paquetes HTTP. Por su parte, los desarrolladores escriben para WebSocket usando una API en JavaScript.

Otra ventaja de WebSocket es que actúa como un complemento más natural para los sistemas de mensajería de usuario final, dúplex completo, basados en TCP como RMI, JMS o XMPP, empleados en los servicios de chat. Al conectar HTTP a estos protocolos se produce “una no-correspondencia que muchas compañías han invertido mucho tiempo tratando de resolver”, contó Fallows.

Las versiones actuales de la mayoría de navegadores web, como Chrome, Safari, Firefox y Opera, soportan WebSocket. Microsoft ha incluido soporte para WebSocket en Internet Explorer 10, que aún está bajo desarrollo. Para soportar versiones antiguas, Kaazing ofrece software de servidor para empresas que emula la funcionalidad WebSocket.

Fallows advirtió que WebSocket no ha sido diseñado para reemplazar a HTTP, sino que sería apropiado para necesidades específicas de alto tráfico y baja latencia que HTTP no puede abastecer, como mensajería, transacciones, y aplicaciones de publicación y suscripción con actualizaciones frecuentes.

Un desarrollador del público dijo que su organización está investigando a WebSocket como una manera de acelerar las actualizaciones para sus clientes. Estaba al tanto de los beneficios atribuidos a WebSocket pero quedó gratamente sorprendido de saber que WebSocket podría usarse fácilmente con protocolos de mensajería como JMS.

PCWorld – 2/11/2011

Leave a Reply

Your email address will not be published. Required fields are marked *

Connect with Facebook

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Scroll To Top