Cómo funciona la tecnología Push


Vamos por la calle, en el trabajo o la oficina con la comodidad de que los correos nos llegan al instante, nuestros móviles nos avisan de tweets, mensajes en Facebook, quién nos ha dado like o si tenemos nuevos seguidores en Tumblr, todo en el momento en el que está ocurriendo, pero ¿Cómo es esto posible?, ¿Se lo han preguntado? Sí, seguro muchos de ustedes saben que se debe a una tecnología llamada Push, pero ¿En qué consiste la tecnología Push? Es tan ampliamente usada en la actualidad que a veces la obviamos, es por ello que es bueno recordar un poco con más detalle el funcionamiento de este tipo de servicios.

Ejemplo de un smartphone con notificaciones push

Tecnología Push: explicación sencilla

Para que los servicios de comunicación funcionen existen básicamente dos tipos de arquitectura, a saber, la arquitectura P2P y la del tipo Cliente-servidor. La primera es la que permite el intercambio directo de información, lo que tiene aplicaciones en servicios de búsqueda e intercambio de ficheros como por ejemplo BitTorrent y similares o incluso Skype y otros servicios de comunicación por internet.

Ejemplo de un smartphone con notificaciones push
Sin embargo, es la segunda arquitectura la que nos interesa, pues los servicios push por definición requieren de un servidor, simplemente es menester porque en ello se basa su funcionamiento. Procederé ahora a explicarlo a detalle.
Un servicio push se basa en un servidor que está de alguna manera “suscrito” a nuestras notificaciones, de modo que cuando recibe un nuevo mensaje avisa a nuestro dispositivo del mismo, sin que éste tenga que estar activo todo el tiempo pendiente de las notificaciones. Así, es el servidor quien mantiene la conexión abierta, razón por la que los servicios push representan un ahorro de batería en nuestros equipos, sobre todo cuando hablamos de móviles, aunque esto dependerá de la configuración que mantengamos con otro tipo de servicios como el Pull, detallado más adelante.
En cuestiones un poco más técnicas, el servidor push puede enviar las notificaciones en varias formas,  entre las que pueda utilizar HTML con algún script para que el receptor pueda leer el mensaje, o también existe la posibilidad de que el script se encuentre ya en el cliente para que pueda interpretar el mensaje. Esto no nos debe importar tanto como consumidores, pues al final lo que importa es que el mensaje se envíe y entregue correctamente.
Algunos ejemplos de servicios push serían el correo electrónico (algunos servicios de correo basados en IMAP), el Push mail de BlackBerry y sobre todo el más claro son los SMS, donde los mensajes primero pasan por un servidor del operador de telefonía móvil para luego ser entregados al receptor.

Pull vs Push

Algunos servicos de correo ofrecen tanto push como pull
Existe una diferencia que hay que recalcar entre servicios push y servicios pull, algo que solemos confundir. Los servicios push son los descritos anteriormente y un claro ejemplo de ello es el correo electrónico. Este servicio generalmente se ofrece como push, en la mayoría de las cuentas que soportan IMAP, pero nuestros móviles también tienen la opción Pull.
La diferencia principal es que en las transacciones push es el servidor quien inicia la conexión, mientras que en las pull es el cliente el que la inicia, es decir, se trata de una sinronización manual o programada en la mayoría de los casos, pues se requiere de la activación constante de este “llamado” para revisar si existen nuevos mensajes. La desventaja principal de este servicio es que no es inmediato y puede consumir más o menos batería dependiendo de la frecuencia de actualización y el hecho de que es el propio equipo quien debe iniciar la transferencia de datos para un simple chequeo, haya o no información nueva. Una actualización muy frecuente podría drenar la batería, pero un lapso considerable entre actualizaciones podría representar un ahorro comparado con los servicios push, solo que a cambio de las notificaciones al instante.