Por Paul Boutin
A lo largo de los últimos 15 años, las aplicaciones basadas en Internet han ido sustituyendo a aquellas basadas en otros protocolos de red, y lo han hecho en todos los ámbitos, desde las comunicaciones personales a los contadores de electricidad caseros. Sin embargo existe una deficiencia importante en el protocolo de transferencia de hipertexto (HTTP), el sistema utilizado para comunicarse a través de la red. El HTTP se diseñó originalmente para enviar documentos y archivos simples a los navegadores web, y no para la compleja interacción en tiempo real.
Bajo el protocolo HTTP original, un cliente, como por ejemplo un navegador web, debe abrir una conexión con un servidor, hacer una solicitud, esperar una respuesta, y a continuación cerrar la conexión. Si el cliente necesita más datos, se debe abrir una nueva conexión. Es como colgar el teléfono y volver a marcar después de cada frase de una conversación. Y si el servidor tiene información nueva para el cliente, se debe esperar hasta que el cliente la solicite en lugar de enviarla más instantáneamente.
Esta redundancia consume el ancho de banda. Peor aún, hace que sea casi imposible mantener a un cliente web con información actualizada al segundo. En algunas situaciones, tales como las operaciones financieras, varios milisegundos perdidos puede significar la pérdida de oportunidades.
Los desarrolladores web han estado creando formas de solventar las limitaciones del HTTP desde hace años con técnicas de programación tales como Comet, que retrasa el cierre de una conexión HTTP con el fin de transmitir más datos. Sin embargo lo que realmente necesitan es una conexión entre el cliente y el servidor que se mantenga abierta indefinidamente y permita a ambas partes enviar datos de un lado a otro según sea necesario.
El casi completo estándar HTML5 para el software web actual y futuro incluye una solución en forma de un nuevo protocolo llamado WebSockets. Este protocolo permite a un cliente web crear una conexión, mantenerla abierta el tiempo que quiera, y enviar y recibir datos de forma continua.
Kaazing, una startup con sede en Mountain View, California, fue uno de los desarrolladores líderes del estándar WebSockets. En la actualidad, la empresa vende un producto que sirve como puerta de entrada de software, permitiendo conexiones WebSocket entre clientes web ya existentes—navegadores, teléfonos y software para sistemas de escritorio—y los sistemas a los que se conectan. Su director general, Jonas Jacobi, que pasó ocho años trabajando para Oracle en software para empresas basado en Java, señala que la tecnología WebSocket es prometedora no sólo porque sea más rápida, sino porque es más barata. "Elimina la necesidad de una gran cantidad de middleware", explica. "Las empresas no quieren poner ahí sus recursos de ingeniería, sino que quieren centrarse en mejorar el producto que ofrecen".
Hasta ahora, los primeros clientes de Kaazing tienden a formar parte del sector financiero, donde tienen gran importancia los milisegundos de las transacciones en los bancos, los hedge funds, la bolsa y las empresas privadas de comercio. La compañía se ha asociado con Informatica, un fabricante de software de mensajería, para desarrollar un sistema interno de comunicaciones WebSocket para las empresas basado en Websockets.
Mike Pickett, vicepresidente de Informatica, señala que el atractivo de la tecnología WebSocket es que "es agnóstica en cuanto al tipo específico de navegador—Internet Explorer, Firefox, Chrome. Los desarrolladores no tienen que escribir una extensión específica para cada navegador", algo que a menudo tienen que hacer para solucionar problemas. (En la actualidad, Internet Explorer requiere un add-on para funcionar con WebSockets.) Chrome, Firefox, Opera y otros navegadores tienen el soporte incorporado. Si su navegador es compatible con WebSockets, puede ver una demostración de mercados financieros actualizados varias veces por segundo en la parte inferior de esta página).
Los primeros clientes de Kaazing tendían a ser empresas de apuestas en línea como Unibet. Eso es porque las apuestas requieren probabilidades actualizadas al segundo, algo difícil de proveer sin una conexión persistente.
Es importante destacar que WebSockets no es algo exclusivo de Kaazing. Google ha sido un campeón precoz. Además de incorporar la tecnología en su navegador Chrome, la compañía da soporte a un sitio que muestra a los desarrolladores la forma de ponerlo en práctica. Ian Hickson, que lidera las especificaciones de HTML 5 para Google, escribió lo siguiente: "La reducción de datos desde kilobytes hasta 2 bytes [...] y reducir la latencia de 150 milisegundos a 50 milisegundos, es mucho más que algo marginal. De hecho, estos dos factores por sí solos son suficientes para hacer que WebSockets sea interesante para Google".
No hay comentarios:
Publicar un comentario