A pesar de licenciar el protocolo propietario ActiveSync Exchange Service de Microsoft para usarlo con el iPhone, Apple está construyendo su propio Push Notification Server (PNS) para servicios de mensajería tanto en el iPhone como Mac OS X Snow Leopard usando estándares abiertos e interoperables. Sin embargo, el salto de la compañía hacia mensajes push indican que la tecnología de notificación puede ser más compleja de lo que parece, habiendo retrasado la línea meta de Apple para entregar PNS por muchos meses.
El empuje hacia push messaging
push messaging se relaciones con la información que es enviada de inmediato en lugar de hacer fila en el servidor, esperando ser recogida. En el correo electrónico, la entrega siempre es push: enviar un correo electrónico inmediatamente lo empuja al servidor usando un servicio SMTP. El cliente entonces puede empujar el correo porque sabe que el servidor SMTP está en donde debe estar.
En contraste, el servidor de correo electrónico que llega en POP3 o IMAP típicamente no rastrea la localización del cliente, lo que significa que los nuevos correos electrónico se quedan en el servidor hasta que el cliente los revisa. Este proceso de encolado ocurre en un horario, frecuentemente cada cierto número de minutos. Con los aparatos móviles, preguntar al servidor por nuevos correos da generalmente como resultado en descubrir que no hay nuevos correos.
La meta original para push messaging era ahorrar batería cuando el servidor rastreara la localización del aparato para que el servidor encolara las actualizaciones de manera inmediata sólo cuando es necesaria, evitando que el aparato lo busque.
RIM vs Microsoft en push messaging
El lujo añadido de que el servidor rastree la localización de los clientes viene a un precio elevado: el imperio de RIM no está construido en ventas de hardware, sino en beneficios del servicio relacionado con el software BlackBerry Enterprise Server (BES), que es usado para rastrear aparatos móviles y entregarles nuevos mensajes del sistema de correo electrónico corporativo conforme llegan.
El software de Microsoft Exchange ActiveSync (EAS) duplica el rol del BES de RIM como un rastreador de aparatos móviles add-on para facilitar el push messaging. Ambos sistemas también permiten que los administradores IT organizar los aparatos que rastrean, limitando el número de usuarios que pueden instalar o borrando remotamente una unidad robada o perdida, por ejemplo.
Apple licenció el EAS de Microsoft para iPhone 2.0 en lugar de introducir su propio sistema, una decisión que ha hecho que el iPhone pueda ser utilizado de inmediato en muchos negocios que ya tenían una infraestructura EAS, o al menos ya usaban Exchange Server y podían instalar EAS para ser usado en el iPhone sin costo extra.
Apple lucha con MobileMe
Al mismo tiempo, Apple completó su propio sistema de push para ser usado con .Mac y entregado junto con EAS en la actualización del iPhone 2.0. El nuevo servicio y los servicios .Mac existentes fueron fusionados para crear MobileMe, lo que permitió que los usuarios pudieran usar push messaging sin necesitar una cuenta de Exchange Server. En contraste, con el My Phone de Microsoft para usuarios de Windows Mobile (antes conocido como SkyBox), MobileMe soporta las cuentas existentes y contactos de los usuarios y también provee sincronización de datos con sus aplicaciones de escritorio, además de web hosting y subida de videos.
Cuando un iPhone está configurado para hacer push messaging con MobileMe, se registra con los servidores cloud de Apple, que pueden rastrear su localización en la red de manera que su correo electrónico o cualquier otro servicio, pueda ser entregado de inmediato sobre la marcha cuando se cambia el servidor.
MobileMe también puede hacer push de actualizaciones a los clientes de ordenador que se registren con el servicio. En Mac OS X, una vez que los usuarios habilitan push messaging, el sistema registra su localización con los servidores de Apple y las actualizaciones son enviadas a Sync Services, que después las distribuye a las distintas aplicaciones registradas. En Windows, iTunes administra la sincronización de contactos, eventos y separadores a través de la interface Control Panel y envía los nuevos datos a las aplicaciones Windows configuradas.
El correo electrónico push messaging no requiere que los mensajes se muevan por Sync Services porque el servicio IMAP-IDLE soporta la habilidad de que el cliente informe al servidor de que aceptará las notificaciones nuevas de mensaje. Estos significa que en lugar de «empujar» el correo electrónico entero al cliente, el servidor envía una notificación de nuevo correo cuando llega al servidor, dándole al cliente la opción de descargarlo inmediatamente. Esto es más flexible que un push normal porque el sistema podría querer retrasar la descarga de un correo grande, particularmente si el sistema es móvil y el usuario quiera descargar mensajes completos cuando haya disponible una red rápida.
El servidor Push Notification de Apple
El año pasado, Apple introdujo planes en WWDC para proveer un tercer mecanismo de push para el iPhone, además del soporte a EAS y MobileMe. En lugar de empujar los contactos o mensajes de calendario, el nuevo Push Notification Server permitiría a los desarrolladores encolar notificaciones de cualquier tipo al iPhone, que después presentaría el icono de la aplicación, alertando a los usuarios que una aplicación tiene nueva información esperando para ella.
Esa aplicación, una vez iniciada, podría entonces descargar datos nuevos en el servidor de notificación. Por ejemplo, un proveedor de Mensajería instantánea podría usar push notification de nuevos mensajes en el iPhone para usar su aplicación de Mensajería instantánea específica. Una aplicación móvil que presenta noticias a través de una feed RSS podría usar Push Notification Server (PNS).
PNS tenía la intención, en parte, de permitir que aplicaciones de terceros para el iPhone reflejaran nuevas actualizaciones, sin que las aplicaciones estuvieran activas en segundo plano. En lugar de eso, el iPhone juntaría todas las notificaciones y le mostraría los iconos de las aplicaciones a los usuarios, de manera que ambos pudieran beneficiarse lo más eficientemente posible sin que los desarrolladores implementaran su propio sistema de notificaciones.
Sin embargo, Apple indicó que PNS saldría el septiembre pasado. La fecha límite vino y se fue, y el servicio nunca llegó. Apple publicó un PNS API, pero la compañía hizo notar que «este API aún no está integrado en vivo con el servidor push«. Parece que PNS encontró complicaciones no previstas. Apple no se ha rendido, sin embargo; la compañía misma usa un sistema de notificaciones para empujar actualizaciones en el icono de la App Store, que después tiene que ser lanzada para revisar el servidor de iTunes para ver qué son las notificaciones, un comportamiento idéntico a lo descrito por PNS.
Con el icono de la App Store, no hay actualizaciones reales de software o sus descripciones encoladas hacia el teléfono: se realiza la notificación, supuestamente, por PNS. Sin embargo, el sistema no está completamente operacional, algunas veces las aplicaciones están disponibles pero no están reflejadas en el icono y algunas veces el número en el icono no coincide con las actualizaciones que realmente están di posibles. Apple ha estado solucionando problemas similares en iTunes, que también rastrea las actualizaciones disponibles en el iPhone sin buenos resultados.
Apple históricamente ha dejado que algunas tecnologías se pierdan conforme se enfoca en sus productos más prometedores. Eso son buenas noticias para cualquiera que se pregunte si PNS verá la luz del día, pues la compañía tiene mucho interés puesto en ella. A diferencia de Apple TV, iCal, y otros proyectos que parecen haber necesitado mucho tiempo para ser desarrollados por ser clasificados como pasatiempos, el PNS de Apple está relacionado directamente para obtener beneficios, con proyectos como el iPhone, MobileMe, iTunes y Snow Leopard Server.
Snow Leopard Push
Mientras que el Mail, iCal y Agenda de Snow Leopard ganarán soporte de alto perfil para Exchange Server, están siendo actualizados para soportar open push messaging con Snow Leopard Server de Apple. En lugar de estar basados en EAS, el propio server push de Apple están basados en estándares interoperables abiertos, lo mismo que PNS.
El iCal Server de Apple, que la compañía debutó en Leopard Server y como proyecto de servicio de calendarios CalDAV, está siendo actualizado para usar XMPP publish-suscribe, un estándar abierto IETF que sale del núcleo del servicio Jabber de Mensajería Instantánea. Eso significa que el iCal Server 2 de Snow Leopard encolará actualizaciones de calendario a los clientes que usan mensajes instantáneos extendidos, haciéndolo inherentemente un servicio push. Como IMAPIDLE, el sistema sólo envía notificaciones ligeras cuando aparecen nuevos datos, dejando que iCal busque los datos por él mismo.
En contraste, el Exchange Server de Microsoft administra los eventos y otros datos como correos electrónicos específicos, requiriendo una infraestructura adicional para dar funcionalidad push. También requiere que Microsoft soporte un set separado de protocolos cuando habla con los clientes de escritorio y los aparatos móviles.
El mensaje instantáneo es siempre push
La principal diferencia entre la Mensajería Instantánea y el correo electrónico es que la Mensajería Instantánea es inherentemente push. Eso es porque el servicio de Mensajería Instantánea constantemente rastrea la localización del cliente, permiténdole enviar actualizaciones rápidas en ambas direcciones. Los sistemas indicadores de presencia al que los usuarios de Mensajería Instantánea deben entrar requirieron una mayor infraestructura que los servidores de correo electrónico necesitaron, resultando en el dominio de negocio Mensajería Instantánea con protocolos propietarios. Sin embargo, el proyecto Jabber ha introducido un protocolo abierto desde entonces y se ha expandido hasta convertirse en el eXtensible Messaging and Presence Protocol (XMPP).
Apple empezó a usar XMPP en Mac OS X, cuando iChat empezó a ganar soporte Jabber, e iChat server estaba por completo basado en la especificación Jabber XMPP. Eso permitió que iChat trabajar con otros proveedores de Mensajería Instantánea Jabber, incluyendo Google Talk.
En Snow Leopard Server, iCal Server está emparejado con Notification Server para proveer actualizaciones push de calendario usando la especificación publish-suscribe de XMPP. También conocido como pubsub, el servicio funciona como un «push RSS feed» así que además de buscar el RSS en el servidor para describir nuevas actualizaciones, el Notification Server empuja lo que ha sido cambiado a todos los clientes que se han suscrito. En algunos respectos, el Notification Server es como un feed de Twitter asegurado, con iCal server enviando tweets a los clientes que están escuchando.
La seguridad es importante par a los usuarios que sólo quieren notificarse a sí mismos, sus delegados, y sus aparatos móviles. El PNS de Apple tiene requerimientos similares; la seguridad adecuada es requerida para asegurarse de que sólo un desarrollador conocido es capaz de enviar notificaciones a través del sistema, y que sólo actualizaciones requeridas por el usuario son enviadas a su teléfono en específico.
Los que estuvieron en la WWDC del año pasado describieron el PNS de Apple como un servicio web asegurado que simplemente enviaba pequeños mensajes XML. ¿Por qué no usar el mismo sistema para entregar actualizaciones de notificación al iPhone como será usado con las notificaciones de calendario y contactos? Eso podría ser exactamente lo que Apple está pensando, atando la publicación del PSN con la completición de su propio Notification Server para Snow Leopard Server.
Fuente: Apple Insider
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.