SlideShare una empresa de Scribd logo
1 de 22
AjaxReverse (Comet)
 Aplicaciones en tiempo real
 … un paso mas allá de Ajax
(ejemplos con ASP.NET MVC)
                                                Ing. Jose A. Fernandez
                                    jfernandez{arroba}desarrollosnea{punto}com
                                                        JUTI – UTN FRRe
                                                            Agosto.2011

           blog: http://team.desarrollosnea.com.ar/blogs/jfernandez
                    blog personal: http://geeks.ms/blogs/fernandezja
                                                       @fernandezja
Comet… WebSockets

Hasta el infinito y mas allá
… un paso mas allá de Ajax
Ajax
• XMLHttpRequest
  – http://www.w3.org/TR/XMLHttpRequest/


• API implementada en los motores de script
• “Es el Mago en Ajax”, …
  – ya que establece un canal de comunicación
    browser-server en background
Tiempo real (en web)
• Tener información “fresca”. Lo mas pronto posible
• HTTP basado en peticiones
   – Request-Response
   – No es suficiente para el requerimiento
   – Debemos solicitar información “constantemente”

   Ejemplos:
   – Aplicaciones de colaboracion
   – Dashboards/Cuadros de mandos
   – Chat/Juegos
   – Algun progreso de una tarea…
   – etc.
Obtener datos en tiempo real
• Polling/Sondeo
  – Solicitar información “constantemente”
• Push/”Colocar”
  – Recibir información (alguien lo tiene y lo puedo
    recibir)
• Pulling/Extraer
  – Solicitar información. Cuando sea necesaria
Como lo hacemos?
•   Flash (sockets – XMLSocket/Socket – AS3)
•   Silverlight (con servicios duplex)
•   Comet…
•   WebSockets (HTML5)
Comet?
• “MKT”
• Otros nombres
  – Reverse Ajax,
  – Ajax Push,
  – HTTP Push,
  – HTTP Server Push
  – HTTP Streaming
  – two-way-web,
• Demo cajeros
Prevenir




Intervalo
Polling vs Pulling
AsyncController
              (nuevo en ASP.NET MVC)

• Sin
    – Controlador sincrónico. “Espere por favor…”
    – Thread debe esperar a que termine
          • No puede responder otras peticiones
          • Limite de hilos
• Con

Enlaces
    – MSDN: AsyncController
    – Code Samples: ASP.NET MVC Asynchronous and Areas
Streaming & Long-Polling.
• Dos opciones
multipart/x-mixed-replace
• comet = cometobj();
• comet.multipart = true;
Dojo.js

• http://dojofoundation.org/projects/cometd
… un poco de magia“elegante”
• http://code.google.com/p/jquery-websocket/

• The Graceful WebSocket

• http://code.google.com/p/jquery-graceful-
  websocket/

• http://kaazing.com/ lo hace funcionar al IE6 ;)
• Emular con flash https://github.com/gimite/web-
  socket-js
WebSocket (HTML)
• Protocolo de comunicación full-duplex
• Para ser utilizado en los navegadores (y servidores)
   – Que sea fácil de utilizar

• Estandarización
   – W3C Web Applications Working Group
   – IETF Hypertext Bidirectional (HyBi) Working Group.



• Fuente
  http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML5)
• Pokerin: Comet Ajax Library for ASP.NET & Mono
  http://pokein.com/
  http://pokein.codeplex.com/
• Enlaces
  – Prototipo de WebSocket para IIS 7 (WCF)
  – SuperWebSocket: http://superwebsocket.codeplex.com/
  – pywebsocket: Componente para Apache
HTTP Upgrade Request
    Cliente                                             Servidor
1    HTTP                                                HTTP
              TCP



    Cliente                                             Servidor
2    HTTP                                                HTTP
              TCP   HTTP Switching Protocols Response



     Web                                                 Web
3   Socket                                              Socket
              TCP

                          Intercambio de mensajes
1         GET /ejemplo HTTP/1.1
          Host: juti-frre.com.ar
          Upgrade: websocket
Cliente   Connection: Upgrade
 HTTP     Sec-WebSocket-Key: {clave/encriptada/base64}
          Sec-WebSocket-Origin: http://juti-frre.com.ar
          Sec-WebSocket-Version: 6


    1
           HTTP/1.1 101 Switching Protocols
           Upgrade: websocket
Cliente    Connection: Upgrade
 HTTP      Sec-WebSocket-Accept: {respuesta en base a clave/encriptada/base64}
Conclusiones…
• “No es para cualquier requerimiento y ámbito”.
• Entornos de LAN (Intranet)
• Polling
  - Alto trafico en la red
  - Mensajes “innecesarios” (sin cambios)
  +/ - Intervalo de sondeo
     • Dependiendo del “%-intervalo” de actualización
     • Puede ser bajo y quedarnos sin recibir actualización
  + Se puede modificar el intervalo desde el servidor en
  alguna actualización (IA/Estadisticas)
Preguntas??
                                     Ing. Jose A. Fernandez
                         jfernandez{arroba}desarrollosnea{punto}com
                                          JUTI – UTN FRRe
                                              Agosto.2011
blog: http://team.desarrollosnea.com.ar/blogs/jfernandez
         blog personal: http://geeks.ms/blogs/fernandezja
                                            @fernandezja

Más contenido relacionado

La actualidad más candente

Sesion Nº 03 Tecnologias Web I Instalación Y Configuración Del Servidor A...
Sesion Nº 03   Tecnologias Web I   Instalación Y Configuración Del Servidor A...Sesion Nº 03   Tecnologias Web I   Instalación Y Configuración Del Servidor A...
Sesion Nº 03 Tecnologias Web I Instalación Y Configuración Del Servidor A...Edgar A. Cruz Huaman
 
Servidor Web Apache para Linux
Servidor Web Apache para LinuxServidor Web Apache para Linux
Servidor Web Apache para LinuxMaría del Cisne
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a TomcatIker Canarias
 
Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Asier Marqués
 
Navegadores,buscadores y ftp 2a sistemas
Navegadores,buscadores y ftp 2a sistemasNavegadores,buscadores y ftp 2a sistemas
Navegadores,buscadores y ftp 2a sistemasJoao Corrales
 
Symfony2: Optimización y rendimiento
Symfony2: Optimización y rendimientoSymfony2: Optimización y rendimiento
Symfony2: Optimización y rendimientoRaul Fraile
 
Clase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasosClase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasoshydras_cs
 
Presentación informática/ Informática II
Presentación informática/ Informática IIPresentación informática/ Informática II
Presentación informática/ Informática IIRcristinaG2000
 
Páginas web en joomla
Páginas web en joomlaPáginas web en joomla
Páginas web en joomlalumecas
 
Clientes web
Clientes webClientes web
Clientes webdonzippy
 

La actualidad más candente (20)

Sesion Nº 03 Tecnologias Web I Instalación Y Configuración Del Servidor A...
Sesion Nº 03   Tecnologias Web I   Instalación Y Configuración Del Servidor A...Sesion Nº 03   Tecnologias Web I   Instalación Y Configuración Del Servidor A...
Sesion Nº 03 Tecnologias Web I Instalación Y Configuración Del Servidor A...
 
Servidor Web Apache para Linux
Servidor Web Apache para LinuxServidor Web Apache para Linux
Servidor Web Apache para Linux
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a Tomcat
 
Apache practica
Apache practicaApache practica
Apache practica
 
Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2
 
Navegadores,buscadores y ftp 2a sistemas
Navegadores,buscadores y ftp 2a sistemasNavegadores,buscadores y ftp 2a sistemas
Navegadores,buscadores y ftp 2a sistemas
 
Symfony2: Optimización y rendimiento
Symfony2: Optimización y rendimientoSymfony2: Optimización y rendimiento
Symfony2: Optimización y rendimiento
 
Clase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasosClase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasos
 
Servidor Web Alojamiento
Servidor Web Alojamiento
Servidor Web Alojamiento
Servidor Web Alojamiento
 
JSP
JSPJSP
JSP
 
Cliente web
Cliente web Cliente web
Cliente web
 
Servidor web apache
Servidor web apache Servidor web apache
Servidor web apache
 
Presentación informática/ Informática II
Presentación informática/ Informática IIPresentación informática/ Informática II
Presentación informática/ Informática II
 
Servidor web Apache
Servidor web ApacheServidor web Apache
Servidor web Apache
 
Protocolos de internet
Protocolos de internetProtocolos de internet
Protocolos de internet
 
Páginas web en joomla
Páginas web en joomlaPáginas web en joomla
Páginas web en joomla
 
Apache
ApacheApache
Apache
 
Clientes web
Clientes webClientes web
Clientes web
 
Servicios de red amp
Servicios de red   ampServicios de red   amp
Servicios de red amp
 
Apache mapa
Apache mapaApache mapa
Apache mapa
 

Destacado

PRESENTACIÓN REGIÓN ESTE
PRESENTACIÓN REGIÓN ESTEPRESENTACIÓN REGIÓN ESTE
PRESENTACIÓN REGIÓN ESTEHMCLAUSE
 
Reception booklet aiesec nea
Reception booklet aiesec neaReception booklet aiesec nea
Reception booklet aiesec neaAIESECNEA
 
DC WIP Campaign School Social-Media
DC WIP Campaign School Social-MediaDC WIP Campaign School Social-Media
DC WIP Campaign School Social-MediaNEA
 
EL NORDESTE ARGENTINO.
EL NORDESTE ARGENTINO.EL NORDESTE ARGENTINO.
EL NORDESTE ARGENTINO.Kevin Delgado
 

Destacado (7)

PRESENTACIÓN REGIÓN ESTE
PRESENTACIÓN REGIÓN ESTEPRESENTACIÓN REGIÓN ESTE
PRESENTACIÓN REGIÓN ESTE
 
Reception booklet aiesec nea
Reception booklet aiesec neaReception booklet aiesec nea
Reception booklet aiesec nea
 
Noa 19
Noa 19Noa 19
Noa 19
 
DC WIP Campaign School Social-Media
DC WIP Campaign School Social-MediaDC WIP Campaign School Social-Media
DC WIP Campaign School Social-Media
 
Región del NOA
Región del NOARegión del NOA
Región del NOA
 
EL NORDESTE ARGENTINO.
EL NORDESTE ARGENTINO.EL NORDESTE ARGENTINO.
EL NORDESTE ARGENTINO.
 
Región Pampeana
Región PampeanaRegión Pampeana
Región Pampeana
 

Similar a Ajax reverse (Comet) con ASP.NET MVC - JUTI 2011

Semana 1 tecnologias web
Semana 1   tecnologias webSemana 1   tecnologias web
Semana 1 tecnologias webINFOVIC
 
Hacia La Web Sincrona
Hacia La Web SincronaHacia La Web Sincrona
Hacia La Web SincronaIrontec
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebTensor
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)Tensor
 
Aplicaciones en tiempo real con nodejs y html5
Aplicaciones en tiempo real con nodejs y html5Aplicaciones en tiempo real con nodejs y html5
Aplicaciones en tiempo real con nodejs y html5programadoresmx
 
Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007guest976d083
 
1.4 tecnologiasWeb.ppt
1.4 tecnologiasWeb.ppt1.4 tecnologiasWeb.ppt
1.4 tecnologiasWeb.pptJaime Ramos
 
Introduccion Ajax V1.0
Introduccion Ajax V1.0Introduccion Ajax V1.0
Introduccion Ajax V1.0Arnulfo Gomez
 
Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007guestd24c393
 
Conceptos acerca de Ajax
Conceptos acerca  de AjaxConceptos acerca  de Ajax
Conceptos acerca de AjaxAlvaro Castillo
 
Conceptos Introductorios Del Web 2
Conceptos Introductorios Del Web 2Conceptos Introductorios Del Web 2
Conceptos Introductorios Del Web 2Michelle Aguirre
 

Similar a Ajax reverse (Comet) con ASP.NET MVC - JUTI 2011 (20)

Aplicaciones Web
Aplicaciones WebAplicaciones Web
Aplicaciones Web
 
Real-time web
Real-time webReal-time web
Real-time web
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
200310 - Apache Web Server
200310 - Apache Web Server200310 - Apache Web Server
200310 - Apache Web Server
 
Introducción a SignalR
Introducción a SignalRIntroducción a SignalR
Introducción a SignalR
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
Fundamentos de la web
Fundamentos de la webFundamentos de la web
Fundamentos de la web
 
Semana 1 tecnologias web
Semana 1   tecnologias webSemana 1   tecnologias web
Semana 1 tecnologias web
 
Hacia La Web Sincrona
Hacia La Web SincronaHacia La Web Sincrona
Hacia La Web Sincrona
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la Web
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)
 
Aplicaciones en tiempo real con nodejs y html5
Aplicaciones en tiempo real con nodejs y html5Aplicaciones en tiempo real con nodejs y html5
Aplicaciones en tiempo real con nodejs y html5
 
[Code Camp 2009] Aplicaciones de tiempo real con Silverlight y ASP.NET - COME...
[Code Camp 2009] Aplicaciones de tiempo real con Silverlight y ASP.NET - COME...[Code Camp 2009] Aplicaciones de tiempo real con Silverlight y ASP.NET - COME...
[Code Camp 2009] Aplicaciones de tiempo real con Silverlight y ASP.NET - COME...
 
Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007
 
Apache
ApacheApache
Apache
 
1.4 tecnologiasWeb.ppt
1.4 tecnologiasWeb.ppt1.4 tecnologiasWeb.ppt
1.4 tecnologiasWeb.ppt
 
Introduccion Ajax V1.0
Introduccion Ajax V1.0Introduccion Ajax V1.0
Introduccion Ajax V1.0
 
Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007Jc Web20 Open Source Why Floss2007
Jc Web20 Open Source Why Floss2007
 
Conceptos acerca de Ajax
Conceptos acerca  de AjaxConceptos acerca  de Ajax
Conceptos acerca de Ajax
 
Conceptos Introductorios Del Web 2
Conceptos Introductorios Del Web 2Conceptos Introductorios Del Web 2
Conceptos Introductorios Del Web 2
 

Último

Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 

Último (11)

Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 

Ajax reverse (Comet) con ASP.NET MVC - JUTI 2011

  • 1. AjaxReverse (Comet) Aplicaciones en tiempo real … un paso mas allá de Ajax (ejemplos con ASP.NET MVC) Ing. Jose A. Fernandez jfernandez{arroba}desarrollosnea{punto}com JUTI – UTN FRRe Agosto.2011 blog: http://team.desarrollosnea.com.ar/blogs/jfernandez blog personal: http://geeks.ms/blogs/fernandezja @fernandezja
  • 2. Comet… WebSockets Hasta el infinito y mas allá … un paso mas allá de Ajax
  • 3. Ajax • XMLHttpRequest – http://www.w3.org/TR/XMLHttpRequest/ • API implementada en los motores de script • “Es el Mago en Ajax”, … – ya que establece un canal de comunicación browser-server en background
  • 4. Tiempo real (en web) • Tener información “fresca”. Lo mas pronto posible • HTTP basado en peticiones – Request-Response – No es suficiente para el requerimiento – Debemos solicitar información “constantemente” Ejemplos: – Aplicaciones de colaboracion – Dashboards/Cuadros de mandos – Chat/Juegos – Algun progreso de una tarea… – etc.
  • 5. Obtener datos en tiempo real • Polling/Sondeo – Solicitar información “constantemente” • Push/”Colocar” – Recibir información (alguien lo tiene y lo puedo recibir) • Pulling/Extraer – Solicitar información. Cuando sea necesaria
  • 6. Como lo hacemos? • Flash (sockets – XMLSocket/Socket – AS3) • Silverlight (con servicios duplex) • Comet… • WebSockets (HTML5)
  • 7. Comet? • “MKT” • Otros nombres – Reverse Ajax, – Ajax Push, – HTTP Push, – HTTP Server Push – HTTP Streaming – two-way-web,
  • 11. AsyncController (nuevo en ASP.NET MVC) • Sin – Controlador sincrónico. “Espere por favor…” – Thread debe esperar a que termine • No puede responder otras peticiones • Limite de hilos • Con Enlaces – MSDN: AsyncController – Code Samples: ASP.NET MVC Asynchronous and Areas
  • 13. multipart/x-mixed-replace • comet = cometobj(); • comet.multipart = true;
  • 15. … un poco de magia“elegante” • http://code.google.com/p/jquery-websocket/ • The Graceful WebSocket • http://code.google.com/p/jquery-graceful- websocket/ • http://kaazing.com/ lo hace funcionar al IE6 ;) • Emular con flash https://github.com/gimite/web- socket-js
  • 16. WebSocket (HTML) • Protocolo de comunicación full-duplex • Para ser utilizado en los navegadores (y servidores) – Que sea fácil de utilizar • Estandarización – W3C Web Applications Working Group – IETF Hypertext Bidirectional (HyBi) Working Group. • Fuente http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML5)
  • 17. • Pokerin: Comet Ajax Library for ASP.NET & Mono http://pokein.com/ http://pokein.codeplex.com/
  • 18. • Enlaces – Prototipo de WebSocket para IIS 7 (WCF) – SuperWebSocket: http://superwebsocket.codeplex.com/ – pywebsocket: Componente para Apache
  • 19. HTTP Upgrade Request Cliente Servidor 1 HTTP HTTP TCP Cliente Servidor 2 HTTP HTTP TCP HTTP Switching Protocols Response Web Web 3 Socket Socket TCP Intercambio de mensajes
  • 20. 1 GET /ejemplo HTTP/1.1 Host: juti-frre.com.ar Upgrade: websocket Cliente Connection: Upgrade HTTP Sec-WebSocket-Key: {clave/encriptada/base64} Sec-WebSocket-Origin: http://juti-frre.com.ar Sec-WebSocket-Version: 6 1 HTTP/1.1 101 Switching Protocols Upgrade: websocket Cliente Connection: Upgrade HTTP Sec-WebSocket-Accept: {respuesta en base a clave/encriptada/base64}
  • 21. Conclusiones… • “No es para cualquier requerimiento y ámbito”. • Entornos de LAN (Intranet) • Polling - Alto trafico en la red - Mensajes “innecesarios” (sin cambios) +/ - Intervalo de sondeo • Dependiendo del “%-intervalo” de actualización • Puede ser bajo y quedarnos sin recibir actualización + Se puede modificar el intervalo desde el servidor en alguna actualización (IA/Estadisticas)
  • 22. Preguntas?? Ing. Jose A. Fernandez jfernandez{arroba}desarrollosnea{punto}com JUTI – UTN FRRe Agosto.2011 blog: http://team.desarrollosnea.com.ar/blogs/jfernandez blog personal: http://geeks.ms/blogs/fernandezja @fernandezja