XMPP

(Redirigido desde «Jabber»)
XMPP
Información sobre la plantilla
XMPP logo.png
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

La red XMPP está basada en servidores, pero descentralizada; por diseño, no hay ningún servidor central, como sucede con servicios como AOL Instant Messenger o MSN Messenger.

Cada usuario en la red XMPP tiene un único identificador (Jabber ID, normalmente abreviado como JID). Para evitar la necesidad de un servidor central con una lista exhaustiva de identificadores, el Jabber ID está estructurado como una dirección de correo electrónico, con un nombre de usuario y una dirección DNS para el servidor en el que reside el usuario, separado por un signo @.

Como un usuario puede querer identificarse desde distintos lugares, el servidor permite al cliente especificar una cadena de referencia conocida como recurso, que identifica el cliente que está utilizando el usuario (por ejemplo: casa, trabajo, portátil, etc.). Esto será incluido en el JID añadiendo un carácter / seguido del nombre del recurso. Cada recurso debe tener especificada un valor numérico de prioridad.

Los JID sin la parte del nombre de usuario también son válidos y se utilizan para enviar mensajes de sistema y control.

Conectando a otros protocolos

Una característica muy útil del protocolo XMPP son las pasarelas, que permiten a los usuarios el acceso a redes con otros protocolos de mensajería instantánea como MSN Messenger, ICQ u otros tipos de mensajería como SMS o E-mail. Este servicio no es proporcionado desde el cliente, sino desde el servidor mediante servicios de pasarela que proporcionan conectividad con alguna otra red. Cualquier usuario se puede registrar con alguna de estas pasarelas proporcionando sus datos de acceso a la nueva red como nombre de usuario y contraseña, y comunicarse con los usuarios de la nueva red. Esto significa que cualquier cliente XMPP puede ser usado para acceder cualquier red para la que haya una pasarela, sin necesidad de adaptar el cliente o de que tenga acceso directo a Interner.

Clientes

Un cliente XMPP es una aplicación que permite conectarse a un servidor XMPP utilizado para mensajería instantánea. Existen muchos clientes para diferentes sistemas operativos e incluso para dispositivos.

Windows:

  1. Psi
  2. Gajim
  3. Jabbim

GNU/Linux:

  1. Psi
  2. Gajim
  3. Jabbim
  4. Jabber.el
  5. Ayttm
  6. Cabber
  7. Mcabber
  8. Gossip
  9. Bitlbee
  10. GNU Freetalk

Mac OS:

  1. Psi
  2. Tkabber
  3. Coccinella
  4. También existen otras alternativas que permiten la conexión desde el mismo cliente a varias redes es decir, XMPP, MSN, ICQ, IRC, entre otras...
  5. Pidgin
  6. Miranda IM
  7. Ichat
  8. CenterIM
  9. Kopete
  10. Ayttm

Clientes para teléfonos móviles

  1. Bombus
  2. Talkonaut

Enlaces externos

Fuentes