XMPP

XMPP
Información sobre la plantilla
260px
XMPP, anteriormente Jabber
Sitio web
XMPP Standards Foundation

Extensible Messaging and Presence Protocol, más conocido como XMPP (Protocolo extensible de mensajería y comunicación de presencia) (anteriormente llamado Jabber), es un protocolo abierto y extensible basado en XML, originalmente ideado para mensajería instantánea. Es usado además en una amplia gama de aplicaciones de mensajería de voz y video.

Historia

La tecnología central de XMPP fue desarrollada por Jeremie Miller en 1998 y refinada por la Comunidad de Jabber en 1999 y 2000. El principal producto del proyecto era jabberd, un servidor XMPP. En Agosto de 2005, Google introdujo Google Talk, una combinación de VoIP y sistemas de gestión de identidades que usa XMPP para sus funciones de mensajería instantánea y como base para su protocolo de señalización de transferencias y su sistema de voz. El lanzamiento inicial no incluía comunicaciones de servidor a servidor, pero el 17 de enero de 2006, fueron añadidas.

Actualmente esta tecnología tiene una versión estable, pero continúan desarrollándose nuevas extensiones que usan el protocolo XMPP, e incluso, nuevos softwares que están basados en este protocolo.

Características

  • 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 1998 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.

Desventajas

  • Sobrecarga de datos de presencia: Típicamente cerca de un 70% del tráfico entre servidores son datos de presencia, y cerca de un 60% de estos son transmisiones redundantes. Actualmente se están estudiando nuevos protocolos para aliviar este problema.
  • Escalabilidad: XMPP también sufre el mismo problema de redundancia en los servicios de chatroom y de suscripción. Actualmente se está trabajando en su solución.
  • Sin datos binarios: XMPP es codificado como un único y largo documento XML, lo que hace imposible entregar datos binarios sin modificar. De todas formas, las transferencias de archivos se han solucionado usando otros protocolos como HTTP. Si es inevitable, XMPP también puede realizar transferencias codificando todos los datos mediante base64.

Descentralización y direccionamiento

Fuentes