Se basa en XML (Extensible Markup Language) y ofrece una funcionalidad más allá de la típica mensajería instantánea. La arquitectura de XMPP es similar a la del correo electrónico. Con una gran popularización en 2003, el Standard ha ampliado sus características a lo largo de los años y es responsable de aplicaciones como Whatsapp.
Características
Seguridad y Cifrado
XMPP utiliza tecnologías y mecanismos criptográficos como Off-the-record Messaging (OTR) para garantizar los más altos niveles de seguridad.
Multi-User chat
XMPP utiliza el Multi-User Chat (MUC) para admitir instancias de varios usuarios.
Sesiones Peer-to-peer
La mensajería de máquina a máquina (peer-to-peer) es posible gracias al uso de una extensión denominada Jingle.
Service Discovery
XMPP proporciona servicios de detección locales o distantes, a pesar de que existen otros protocolos como el Service Location Protocol.
Cómo funciona
El mecanismo de trabajo de XMPP se basa en los siguientes componentes:
Stable TCP Connections
Las conexiones TCP son persistentes, por lo que no es necesario crear conexiones cada vez que se envían mensajes. Sin embargo, algunas conexiones nuevas XMPP pueden usar sockets web con cifrado TLS.
Arquitectura Cliente-Servidor
XMPP se comunica mediante la transmisión de paquetes de datos pequeños y estructurados entre clientes a través de servidores intermediarios. Cada usuario tiene un identificador único, generalmente similar a un correo electrónico utilizado para la identificación de rutas y con fines de enrutamiento.
Hosting descentralizado
Con XMPP, cualquiera puede mantener y ejecutar sus propios servidores, ya que todo que está centralizado. Su mecanismo de operación es similar al del correo electrónico; es decir, los clientes no comparten datos directamente, sino a través de servidores como intermediarios.
Beneficios de usar XMPP
- Es estable y confiable.
- Soporte multi-lenguaje incluido Java#, C++, Ruby, Pearl, y muchos otros.
- Es una fuente abierta y proporciona a los usuarios la flexibilidad de formar cualquier cliente en función de sus necesidades.
- Ofrece una entrega confiable.