Puedo hablar con la arquitectura Comet de Lift, que fue seleccionada por Novell para impulsar su producto Pulse después de evaluar varias tecnologías diferentes.
La implementación de Lift’s Comet utiliza una única conexión HTTP para sondear los cambios en un número arbitrario de componentes en la página. Cada componente tiene un número de versión. La encuesta larga incluye el número de versión y el GUID del componente. En el lado del servidor, se adjunta un escucha a todos los GUID enumerados en las solicitudes de sondeo largas. Si alguno de los componentes tiene un número de versión más alto (o el número de versión aumenta durante el período de la encuesta larga), los deltas (un conjunto de JavaScript que describe el cambio de cada versión) se envían al cliente. Se aplican los deltas y el número de versión en el cliente se establece en el número de versión más alto para el conjunto de cambios.
Lift integra un sondeo largo con la administración de la sesión, de modo que si una segunda solicitud entra en la misma URL durante una encuesta larga, la encuesta larga se termina para evitar la falta de conexión (la mayoría de los navegadores tienen un máximo de 2 conexiones HTTP por servidor con nombre). Lift también admite servidores DNS con comodines para solicitudes de sondeo largas, de modo que cada pestaña en el navegador puede realizar sondeos largos contra un servidor DNS comodín diferente. Esto evita los problemas de falta de conexión.
- Cómo configurar JBoss
- ¿Cuál es la ventaja de ejecutar una base de datos escrita en Ruby On Rails sobre MySQL en un servidor Apache?
- ¿Cuáles son las diferencias entre el sitio web, el servidor web y el desarrollo web?
- ¿Cuál es el mejor lugar para comprender los idiomas del lado del servidor y cómo funcionan? Además, ¿cuál es el mejor lugar para aprender conceptos PHP y cómo funcionan?
- ¿Cuál es la estructura de archivos y carpetas de música en un servidor para Google Music?
Lift detecta dinámicamente el contenedor en el que se ejecuta el Servlet en Jetty 6 y 7 y (pronto) Glassfish, Lift usará la implementación de “continuación” de la plataforma para evitar el uso de un hilo durante la encuesta larga.
El JavaScript de Lift puede ubicarse encima de jQuery y YUI (y también podría ubicarse encima de Prototype / Scriptaculous). El código de sondeo real incluye retroceso en fallas de conexión y otras formas “elegantes” de lidiar con fallas de conexión transitorias.
He visto Atmosphere y CometD (ambas tecnologías Comet orientadas a JVM). Ninguno de los dos tenía (en el momento en que los evalué) soporte para múltiples componentes por página o para evitar la falta de conexión.