Resumen de Estrategias de Server Push

16
Resumen de estrategias de server push.

Transcript of Resumen de Estrategias de Server Push

Page 1: Resumen de Estrategias de Server Push

Resumen de estrategias de server push.

Page 2: Resumen de Estrategias de Server Push

índice

• Estrategias– Push Externo– Pushlet– Long polling– Server-Send Event– WebSockets

• Comparación de las estrategias.• Librería SignalR para implementarlo.

– Explicación Funcionamiento.– Demo y proyecto de ejemplo.

• Preguntas.

Page 3: Resumen de Estrategias de Server Push

Estrategias.

• Las tecnología push server es el estilo de comunicación que se genera desde el servidor hacia los diferentes clientes.

• En tecnologías Web es un problema no trivial ya que el protocolo HTTP se basa en llamadas y respuestas desde el servidor.

• Se muestran algunas estrategias de solución en la Web

Page 4: Resumen de Estrategias de Server Push

Estrategias – Push Externo

• Estrategia que consiste en utilizar una tecnología adicional, Flash, Java y otra aplicación levantada en el cliente que mantiene una conexión constante abierta con el servidor para realizar los push desde el servidor.

Page 5: Resumen de Estrategias de Server Push

Estrategias – Pushlet

• Consiste en mantener una conexión abierta para el browser engañándolo y haciendolo creer que siempre está en estado cargando, por lo que en estricto rigor la carga de la página nunca está completa, por otro lado en caso de time-out de parte del navegador no se puede hacer nada, se necesita una acción por el navegador.

Page 6: Resumen de Estrategias de Server Push

Estrategias – Long polling

• El cliente hace una petición de información normal, el servidor entrega una respuesta vacía y solo entrega información cuando la puede completar, para evitar time out cada cierto tiempo se responde y se re envía la solicitud de información por el cliente, se diferencia del anterior a que es solo una solicitud de información y no la carga de la página completa.

Page 7: Resumen de Estrategias de Server Push

Estrategias – Server-Send Event

• Es una implementación en el navegador, que mantiene una solicitud http para la recepción de información desde el servidor, se diferencia de long polling en que está implementado a nivel de navegador y no es necesario abrir y cerrar la conexión con cada respuesta.

Page 8: Resumen de Estrategias de Server Push

Estrategias – WebSocket

• Es una implementación tanto a nivel de navegador como de servidor web, es un protocolo tcp diferente y solo se basa en http para el hand-shake inicial. Permite comunicación full duplex lo que baja la complejidad y consumo tanto del servidor como del servidor web.

Page 9: Resumen de Estrategias de Server Push

Comparación de estategias.. Long-polling Server-Sent Events WebSockets

Soporte de Navegadores Soportado por la mayoría de los navegadores comunes.

Soportado por Chrome 9+, Firefox 6+, Opera 11+, Safari 5+

RFC-6455 soportado por Chrome 16+, Firefox 11+, IE 10+, Safari 6+, Opera 12+

Carga del ServidorUsa poco recurso de CPU, pero crea un proceso inactivo por usuario en el servidor utilizando primordialmente memoria.

Trabaja como el long-polling solo que no es necesario cerrar la conexión con cada respuesta que se envía.

La mejor solución posible. El Servidor tiene un proceso que sirve para todos los procesos. Sin Loops, solo memoria y CPU utilizado por acción del cliente.

Carga del clienteDepende de la implementación, pero siempre hay un proceso asincrono para obtener la respuesta.

Nativamente implementado en los navegadores, toma una cantidad mínima de recursos.

Nativamente implementado en los navegadores toma una mínima cantidad de recursos.

Tiempo de RespuestaCasi tiempo real, solo el tiempo utilizado en la conexión y desconexión al hacer un nuevo request.

Depende del navegador, pero en generar el 3 segundos por defecto, pero se puede cambiar en la configuración del navegador.

Tiempo Real.

Consumo de batería en dispositivos mobiles. Alto Bajo Bajo

Page 10: Resumen de Estrategias de Server Push

Librería SignalR para implementarlo.

• Es una tecnología asp.net oficial con soporte Microsoft que puede ser utilizada en MVC.

• Permite la emulación de comunicación en tiempo real, dependiendo de la tecnología.

• Es una capa completa de abstracción del transporte.

• De código libre disponible en NuGet y Github, bajo licencia Apache-2.

Page 11: Resumen de Estrategias de Server Push

Librería SignalR para implementarlo.

• Prioridad de resolución de estrategias según capacidades.

Page 12: Resumen de Estrategias de Server Push

Librería SignalR para implementarlo.

Page 13: Resumen de Estrategias de Server Push

Librería SignalR para implementarlo.

• Librería de alto nivel, muy parecida a los Controladores con acciones por Hub.

Page 14: Resumen de Estrategias de Server Push

Librería SignalR para implementarlo.

Page 15: Resumen de Estrategias de Server Push

¿Preguntas?

Page 16: Resumen de Estrategias de Server Push

¡Gracias!.