Post on 13-Jun-2015
description
HTML5 – Node.js – Socket.io
Aplicaciones Web en tiempo real
¿Qué es una aplicación web en tiempo real?
• http://www.lightstreamer.com/demo/StockListDemo/
Comunicación bidireccional entre el servidor y los usuarios
aa b
b
Servidor Web
1 Antecedentes
Limitaciones de la Web actual
Pull (Así funciona la Web)Servidor Web
Petición
Navegador Web
Respuesta
Push (Lo que necesitamos)Servidor WebNavegador Web
DatosEvento
Desde hace algunos años existen soluciones pero son poco eficientes…
Servidor Web
Ajax (Polling)
peticiónrespuesta
petición
respuesta
petición
respuesta
• Script de prueba para Apache 2.2 con PHP 5.3
<?phpsleep(3);echo «hola mundo»;?>
Simulamos con un script, una petición que toma3 segundos en ejecutarse.
0
1
2
3
4
5
6
7
8
9
10
apache 2.2
Los servidores web tienen un número limitado de procesos…
Comportamiento de Apache 2.2 con 1000 peticiones, 100 de ellas concurrentes
Peticiones
Servidores tipo Comet
Misma infraestructura, diferente filosofía
2
Con los servidores tipo Comet nos acercamos mucho más a la solución ideal…
Servidor tipo Comet
Long pollingpetición
respuesta
petición
respuesta
petición
Algunos servidores Comet / Websockets…
Python Java .Net Ruby Javascript
TornadoTwisted…
CometdProtcoloBayeux
GlassFishActiveMQ…
WebSync Protocolo Bayeux
Thin/Faye protocolo Bayeux
Node.js*Es posible ejecutarlo en Windows Azure
Open Source Open Source Comercial Open Source Open Source
Acerca de Node.js
• Basado en el motor Javascript Google V8
• Todas las operaciones son asíncronas
• Uno de los servidores más rápidos del mercado
• Altamente eficiente• Ideal para la creación de
aplicaciones en tiempo real
En Node.js todas las operaciones son asíncronas. No usa procesos…
Comportamiento de Node.js con 1000 peticiones, 100 de ellas concurrentes
0
1
2
3
4
5
6
7
8
9
10
Node
Series2
Peticiones
Tiempo (s)
WebSockets con HTML5
En el futuro y presente
3
Con el API de WebSockets se crea un canal bidirecional…
Servidor con soporte paraWebSockets
respuesta
respuesta
inicio
Ejemplos con Node.js y Socket.io
El futuro
Desde un chat simple, hasta startups innovadoreshttp://www.dymotics.com/
4
Walter Gerez@wgerezSkype: walter.gerezFace: wgerez
Gracias