Ajax reverse (Comet) con ASP.NET MVC - JUTI 2011
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 1,023 views

Que es Ajax reverse (Comet)? alternativas para desarrollo web en tiempo real

Que es Ajax reverse (Comet)? alternativas para desarrollo web en tiempo real

Statistics

Views

Total Views
1,023
Views on SlideShare
1,022
Embed Views
1

Actions

Likes
0
Downloads
1
Comments
0

1 Embed 1

http://www.docshut.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 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… WebSocketsHasta 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
  • PrevenirIntervalo
  • 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• ConEnlaces – 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 Servidor1 HTTP HTTP TCP Cliente Servidor2 HTTP HTTP TCP HTTP Switching Protocols Response Web Web3 Socket Socket TCP Intercambio de mensajes
  • 1 GET /ejemplo HTTP/1.1 Host: juti-frre.com.ar Upgrade: websocketCliente 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: websocketCliente 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.2011blog: http://team.desarrollosnea.com.ar/blogs/jfernandez blog personal: http://geeks.ms/blogs/fernandezja @fernandezja