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

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Último (19)

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

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