¿Qué le añadiría a Jabber? Clonado de Cuentas

Contenido archivado

El contenido de la web se encuentra archivado y no se podrá crear nuevo contenido. Más información.

Tagged:

Enlace de cuentas

Jabber ya incluye utilidades para exportar e importar los rosters de unas cuentas a otras; pero por motivos de privacidad impuestos en jabber, los contactos transferidos han de ser autorizados de nuevo.

Esto presenta dos problemas:

  • La molestia de solicitar de nuevo las autorizaciones a cada miembro de la lista (que anteriormente ya nos habían autorizado).
  • Las personas de esa lista es lógico que a su vez incluyan el nuevo identificativo a su propio roster. Con lo que pasado un tiempo, el roster se convertirá en una relación de JIDs activos mezclado con otros desechados por sus dueños. (salvo que se efectúe de vez en cuando un mantenimiento de dicha lista).

Una solución a estos problemas (menores, todo sea dicho) es la capacidad del enlace de una cuenta a otra. Antes de continuar he de decir que este comportamiento es copiado del comando de unix «ln» que asigna un nuevo nombre a un fichero.

La idea es poder proporcionar dos o más nombres de JID (en distintos servidores inclusive) que realmente apuntasen a la misma información. Si en una cuenta se añade/borra un contacto, en todas las cuentas enlazadas se añadirá/borrará ese contacto. La contraseña, y el perfil serán igual en todas ellas así como cualquier información almacenada en el servidor. Igualmente, cualquier mensaje enviado a una cuenta será propagado a las cuentas enlazadas. A todos los efectos el comportamiento de las diversas cuentas será exactamente el mismo a si sólamente fuese una única cuenta.

¿Qué sentido tiene esto?

Yo le veo dos utilidades practiquísimas:

  • En caso de que un servidor deje de gustarnos por el servicio deficiente que da, podemos enlazar esa cuenta con otra de otro servidor y hacer la migración automáticamente.
  • En caso de que un servidor caiga, puede estar disponible automáticamente una cuenta en otro servidor para sustituir a la temporalmente caida. Aunque de eso ya hemos hablado en otro sitio.

¿Cómo sería posible esta nueva funcionalidad?

Implementando un sistema de propagación de mensaje entre los servidores de las cuentas enlazadas. De forma que cada vez que se modifique en algo la configuración de una cuenta, esta modificación se propague indefectiblemente por las cuentas enlazadas.

¿Porqué un enlace tan «duro»?

El enlace se efectúa de forma tan dura por motivos de privacidad. Duplicar una cuenta debe ser una facilidad para que el usuario de la nueva cuenta sea el mismo que él de la cuenta antigua (que fue el autorizado por sus contactos). El hecho de compartir contraseña y contactos así como otras configuraciones impide que alguien pueda enlazar una cuenta para pasarle sus enlaces a terceros.

Otros Detalles

Nuestro servidor, es decir aquel al que nos conectamos, almacena el roster. Bueno, pues entre la información que mantiene de nuestra cuenta y contactos, ha de guardar la lista de las cuentas enlazadas a cada uno de los contactos del roster. De forma que este se active con cualquier cuenta enlazada y podamos ver su presencia correctamente.

Comentarios

A veces no es cuestión de estabilidad

Escribiendo la respuesta a un comentario de otra noticia, me ha salido este alegato que puede completar de alguna forma lo expresado arriba. Así que lo cuelgo aquí escribiendo para el otro comentario una respuesta mas apropiada.

Como indico, a veces no es un problema de estabilidad. En jabber.org se indica claramente que es un servidor experimental que puede caerse. Luego, aunque yo tengo cuenta en este servidor, nunca me verás quejarme de su estabilidad.

Puedes hacerte una idea de la estabilidad de un servidor viendo los uptimes. Aunque no me negarás que la probabilidad combinada de que caigan dos (o más) servidores simultáneamente siempre será inferior a la caida de uno solo de los dos.

Por otra parte existen servicios que dependen exclusivamente del servidor del que te conectas. Servicios que cuando yo creé mi cuenta no estaban disponibles y que poco a poco algunos servidores han ido incorporando. ¿ejemplos?

  • Conexión segura por ssh. Esto impide la intercepción de mensajes.
  • Applet java. Existen algunos servidores jabber que tienen acceso al mismo gracias a un applet. Esto permite utilizar nuestra cuenta en cualquier ordenador del mundo con acceso web y java sin necesidad de instalar nada. (recientemente ha salido un applet que permite conectarse a cualquier cuenta de cualquier servidor).

Estos dos no son más que dos ejemplos de una verdad clara. A diferencia del e-mail, los servidores jabber si están ofreciendo servicios distintos entre sí y a priori no podemos decidir cual va a ser mejor, más completo, más estable dentro de 1 año.

Las pasarelas y otros servicios de jabber son independientes del servidor que suministra el servicio y el del cliente; pero los relacionados con la autenticación (y ahí arriba he puesto dos ejemplos) si son dependientes del servidor de nuestra cuenta.

Por tanto el enlace de cuentas no es sólo un problema de estabilidad (que soluciona como efecto secundario) sino un sistema de facilitar a los usuarios la migración de cuentas a aquellos servidores que nos ofrezcan mejores servicios.