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

Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 

Último (20)

Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 

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