51. the real time web (planetas, limpiadores y hip hop) [email_address] Parte de esta presentación está basada en trabajo de terceros bajo licencia Creative Commons: “the real-time web” by Chris Wanstrath y numerosas fotos de flickr.com también bajo CC
Notas del editor
Hola! Mi nombre es Sebastián Desimone, el año pasado en el barcamp 2008 me comentaron que no había dicho ni quien era, bueno:
Nací y vivo en Mar del Plata
Desde los diez años, cuando me regalaron mi primer computadora supe que mi vida giraría al rededor de la informática. http://www.flickr.com/photos/unloveable/2395167165/
Durante un tiempo me dediqué a trabajar y desarrollar la comunidad de Linux y el Software Libre (hasta me regalaban tortas de cumpleaños acorde)
Actualmente llevo adelante Salexis.com
Pero no voy a hablar de nada de esto. http://www.flickr.com/photos/saynine/486724056/
Inspirada en: the real-time web (And other buzzwords) By Chris Wanstrath
so what is the “real-time” web?
http://www.flickr.com/photos/omegaman/477866054/ it’s all about pushing
http://en.wikipedia.org/wiki/File:Election_MG_3455.JPG instead of polling From Wikipedia: Polling, or polled operation, in computer science, refers to actively sampling the status of an external device by a client program as a synchronous activity. Polling is most often used in terms of input/output (I/O), and is also referred to as polled I/O or software driven I/O.
it’s getting told what’s new
instead of asking for what’s new
one persistent connection
instead of many, short lived connections
Chat en los sitios webs, meebo un precursor.
and information the moment it’s available
Este es el esquema clásico de una comunicación HTTP
Ahora queremos un canal bidireccional de comunicación server 2 client y app 2 server
Tenemos que enfrentarnos a dos problemas
Veamos que podemos hacer en server 2 client
right now when we say “real-time web” we usually mean one of three things
Comet
flash’s XMLSocket
or HTML5’s WebSocket
let’s start with comet
how many people know what comet is? how many people know how it differs from XML socket or WebSocket? good! for a long time i had no idea what comet was
see, comet is a cleaning product.
just like ajax
comet is any standards compliant technique which pushes or streams data to the browser over HTTP with comet you can essentially fake a socket connection between a browser and a backend server Por ejemplo, tomemos el caso de FriendFeed Tenemos actualizaciones de estados, fotos, chats en RT
Sin usar AJAX
Utilizando servidores comet
En python tenemos muchas opciones
Pero en los otros lenguajes también tenemos opciones
so, flash’s XMLSocket
finally: HTML5’s WebSocket
it’s still a proposed draft but it’ll let you open a socket to any serve that speaks the special WebSocket protocol
servers need to speak the WebSocket protocol - you can’t open arbitrary connections to irc or xmpp gateways this plugs up the obvious security holes but also makes it a bit harder to implement than something like XMLSocket your server needs to speak ws
Aquí tenemos muchas más opciones, que en general se encuentran alrededor de:
Tomemos como ejemplo una tecnología llamada PubSUbHubbub. Que buen nombre!
Cool!!
Upgrade para la webfor the web, where any site or application can deliver realtime messages to a web-scale audience, using free and open technologies at low cost and without relying on any single company like Twitter or Facebook.
Preguntas / Comentarios
Inspirada en: the real-time web (And other buzzwords) By Chris Wanstrath