Si has utilizado Google Talk o Jabber entonces has utilizado XMPP, un protocolo libre y abierto de comunicación en tiempo real. Desarrollado inicialmente por el equipo de Jabber Inc. (recientemente adquirido por Cisco Systems, Inc.), es un protocolo ampliamente extendido hoy en día por pequeñas y grandes empresas.
Antes de comenzar
La mensajería instantánea es una forma de comunicación en tiempo real entre dos o más personas a partir de texto escrito. El texto es transmitido vía dispositivos conectados vía una red como Internet.
Hoy en día las diversas tecnologías de mensajería instantánea han incorporado consideraciones adicionales, como herramientas de colaboración, transmisión de archivos, creación de salas de conversación, juegos entre usuarios, etc.
A nivel de comunicación entre personas son conocidas las plataformas de Windows Live Messenger, Yahoo! Messenger, Google Talk y Skype. A nivel empresarial las soluciones reconocidas de mensajería interna son IBM Lotus Sametime, y Microsoft Office Communications Server.
Visión general
Extensible Messaging and Presence Protocol (XMPP) es un protocolo para comunicación en tiempo real, la cual sirve de base para un amplio rango de aplicaciones, incluyendo mensajería instantánea, información de presencia (listas de contactos), charlas con múltiples participantes, voz, video llamadas, colaboración, sindicalización de contenidos y enrutamiento generalizado de datos en XML. El protocolo XMPP es el núcleo utilizado por la tecnología Jabber de mensajería instantánea y presencia.
Lo que diferencia a XMPP
- Abierto: El protocolo es gratuito, abierto, público y de fácil comprensión. Es por ello que cuenta con múltiples implementaciones entre clientes, servidores, componentes de servidores y librerías de código.
- Estándar: El Internet Engineering Task Force (IETF) ha formalizado el núcleo del protocolo como una tecnología de mensajería instantánea e información de presencia.
- Probado: Las primeras tecnologías fueron desarrolladas en 1988 y ahora son muy estables. Existen miles de servidores utilizando este protocolo en Internet, y millones de personas utilizándolo para mensajería instantánea para servicios públicos como Google Talk e implementaciones en organizaciones.
- Descentralizado: Su arquitectura es similar al correo electrónico, por lo que se puede usar un servidor propio, permitiendo a las organizaciones tener control de su experiencia de comunicaciones.
- Seguro: Cualquier servidor XMPP puede ser aislado de la red pública (como en una Intranet), utilizar seguridad adicional en los formato SASL y TLS.
- Extensible: Se pueden construir funcionalidades personalizadas sobre el núcleo del protocolo. Aunque existen extensiones comunes, las organizaciones pueden mantener sus propias extensiones.
- Flexible: Las aplicaciones originales de XMPP (de mensajería y presencia) se han extendido y ahora pueden encontrarse en administración de redes, sindicalización de contenidos, herramientas de colaboración, compartimiento de archivos, juegos, monitoreo de sistemas remotos, servicios web, computación en la nube, etc.
- Diverso: Un amplio rango de compañías y proyectos Open Source utilizan XMPP para construir y desplegar aplicaciones en tiempo real y servicios.
Beneficios
- Cooperación: Los sistemas de mensajería ofrecen funciones adicionales al intercambio de mensajes, como transferencia de archivos, listas de contactos, conversaciones simultáneas. Todas estas funciones pueden ser requeridas por pequeñas empresas y corporaciones.
- Mensajería móvil: Con la cual es posible transferir la experiencia de mensajería de escritorio a dispositivos móviles con acceso a Internet.
- Redes de contactos: La posibilidad de comunicarse con amigos a través de salas de conversación para mensajería instantánea entre todos los miembros de una red.
Usos de XMPP
En Antartec hemos utilizado el protocolo en varios productos:
Servidores:
- OpenFire: es un sistema de mensajería con licencia GPL, implementado en Java, y que permite contar con un servidor propio de mensajería instantánea.
- Zimbra Collaboration Suite: el servidor Zimbra incorpora el núcleo de OpenFire, pero ofrece una implementación distinta acorde a las necesidades de colaboración en una organización empresarial.
Programas cliente:
- Spark: es un cliente, también con licencia GPL e implementado en Java, multiplataforma, y optimizado para empresas y organizaciones.
- Pidgin: cliente multiplataforma de mensajería instantánea capaz de conectarse con múltiples redes y cuentas de manera simultánea.
- MCabber: cliente que utiliza una interfaz de texto y que se ejecuta sobre sistemas basados en Unix.
- Talkonaut: cliente para dispositivos móviles (Symbian S60, Windows Mobile 5/6 y J2ME con MIDP-2.0) y que es capaz de conectarse con múltiples redes y cuentas.
Más información
XMPP Standards Foundation
About XMPP
Wikipedia – The Free Encyclopedia
Extensible Messaging and Presence Protocol
Ignite Realtime
Openfire Server
The TWiT (This Week in Technology) Netcast Network
FLOSS Weekly 49: XMPP (Podcast)
Related posts:
