Hablemos un poco de las tecnologias
- Jabber ( XMPP)
- AJAX Polling
- AJAX Push
- WebSockets
- Sockets
- MediaStream
Jabber
Jabber como tal no es un protocolo es mas bien un software el cual usa un protocolo conocido como XMPP y tambien encontramos su variante FunXMPP que es el protocolo del conocido WhatsApp.
Este permite crear un cruze de datos mediante un servidor princial. de los mas conocidos encontramos Openfire y eJabber.
AJAX POLLING
Esta tecnica que utiliza propiedades de recarga dinamica mas peticiones xhr desde javascript todavia muy utilizada lo que realiza es una simulacion de tiempo real.
Lo malo de esta tecnica es que sacrifica un poco el performance del sitio ademas de generar un alto trafico entre datos que se encuentran en el mismo host.
ajax push
Esta tecnica permite generar un envio dinamico desde el lado del servidor utilizando software especializado que reciben como nombre HTTP Push Server, estos utilizan una comunicacion basada en Publicador/Suscriptor para realizar la operacion del envio de la informacion, en la actualida existen gran variedad de herramientas pero una de las conocidas es APE Push Server.
Websockets
Cuando lanzaron HTML5 nos dieron muchas sorpresas y una de ellas fue la implementacion de Sockets y estos recibirian el nombre de WebSockets los cuales podian ser consumidos mediante Javascript, el exito que ha tenido ha sido impresionante pues el dinamismo aumento y el performance no decayo y fue traslado al lado del servidor, podemos hacer apps en diferentes lenguajes pero el preferido es node.js y su framework sail.js
Sockets
El padre de todas las tecnologias mencionadas permite crear conexiones punto a punto mediante un puerto y un permiso, estos pueden ser consumidos desde casi cualquier lenguaje de programacion, llamese Java, C++, earlang, Scala, PHP, Rubi,Lua, Lisp, Hashkell, entre otros.
Para esto basta con conocer un poco sobre las terminologias de los Sockets ya que estos son la raiz de la Computacion en Tiempo Real.
Media streams
Los media streams nombre que le he dado yo a aquellos protocolos que permiten enviar imagenes, voz y datos entre servicios, estos permite generar una forma alternativa de cruze de informacion.
Algunas herramientas para utilizar esto son pagas, pero otras son de libre acceso como Red5 un servidor de Medios que funciona con el protocolo RTSP ( Real Time Streaming Protocol )