Comienzo aquí una serie de post “tecnológicos” que tras casi un año desde que comencé en esto del mundo blogil, me he centrado más en entradas “chorras” que no en entradas más serias… y la idea original era poner de todo un poco… así que… a comenzar, en este caso con Jabber.
Para empezar un poquito de historia.
Jabber, y el protocolo XMMP nacieron en el año 1999 de la mano de Jeremie Miller. Fué lanzado como una tecnología abierta para la creación de sistemas de IM y recibió una buena acogida por parte de la comunidad desarrolladora de software libre. Al poco tiempo de su lanzamiento comenzaron a salir clientes y servidores que implementaban XMPP y en Agosto de 1999 Jeremie pidió a la IETF que estandarizara “su creación”. La IETF, ya en febrero de 2000, publicó el RFC 2778 con los resultados de los estudios que realizaron sobre la primera implementación del XMPP, no obstante este RFC no fué el que creo el estandard utilizado actualmente.
En mayo de 2000 se lanzó la versión 1.0 del servidor de Jabber, ofreciendo funcionalidades de Streming de XML, IM, presencia, lista de contactos, transferencia de archivos… y en definitiva los servicios básicos que ofrece un sistema de IM.
En Agosto de 2001 se creó la Jabber Software Foundation (JSF) Web Oficial, con el objetivo de coordinar el desarrollo de la “comunidad Jabber” bastante desorganizada en aquel momento, que tenía con una gran cantidad de desarrollos paralelos pero desconectados los unos de los otros. Para ello se crearon diversos estandares que junto a los publicados por el IETF, en 2004, ayudaron al desarrollo del XMPP y por tanto, de Jabber.

Jabber
Jabber es un protocolo libre que permite la comunicación en tiempo real, amos como el Messenger, con la salvedad de estar bastante mejor diseñado… pero tener la mala suerte de que no existe un “Monstruo” detrás que lo respalde y le de publicidad.
La red Jabber está formada por cientos, probablemente miles, de nodos independientes, llamados servidores, y sirve como plataforma para ofrecer una gran cantidad de servicios distintos.
Al tratarse de una red basada en un protocolo libre, esto hace que sea muy extensible y de ahí la existencia de tantos nodos, ya que cualquier persona puede montar el suyo propio añadiéndolo a la red global y proporcionar así servicios a los usuarios que se conecten a él.
Pero no serviría de mucho poder ofrecer esos servicios si cada nodo fuera independiente, y ahí es donde entra una de las mayores cualidades de Jabber, la interconexión entre nodos.
Características básicas:
- Protocolo abierto
- Protocolo estandarizado
- Arquitectura descentralizada
- Extensible y escalable
- Seguro
- MultiRed
Protocolo abierto
Al tratarse de un protocolo abierto, cualquier pesona tiene acceso a su funcionamiento, por lo que se pueden crear servidores y clientes, así como servicios extras, de una forma fácil y sin depender del desarrollo realizado por una empreza o grupo de empresas.
Esto además de permitir una gran versatilidad, existen multitud de diferentes clientes y servidores cada cual a la medida de las necesidades del usuario, también permite aprobechar una de las mayores virtudes del Soft Libre de código abierto, el continuo desarrollo que tienen muchos de sus proyectos. Gracias a ello no suelen estancarse los desarrollos y algo que no se encuentra soportado en algún cliente o servidor si puede estarlo en otro, y si está bien programado es “sencillo” realizar un port y así obtener mejores resultados en ambos, además de mejorar la corrección de errores etc… También es un protocolo que se encuentra “muy probado”, al tener tan alta cantidad de usuarios, y de nodos, es una buena prueba de su funcionamiento y de su robustez.
Protocolo estandarizado
El IETF (Wikipedia:Eng) publicó el estandard del protoclo XMPP el protoclo que utiliza Jabber, como protocolo para servicios de IM, en los RFC 3920 y 3921. Esto ofrece una base común y estable sobre la que se desarrolla todo el software basado o que utiliza Jabber.
Arquitectura descentralizada
Como decía antes cualquier persona puede crear un nuevo nodo y ofrecer servicios a trabés de Jabber. Esto permite que no exista ninguna máquina que centralice todo, con lo que se gana en calidad de servicio, ya que las máquinas no se saturan ante eventuales picos, y en estabilidad, si alguno de los nodos cae, solo afecta a los usuarios que se encuentran conectados a él. Además que dichos usuarios pueden simplemente reconectarse a otro nodo, del mismo dominio, y continuar utilizando el servicio sin más problemas.
Extensible y escalable
Esto está relacionado con el punto anterior. Al interconectarse los nodos entre sí puedes ponerte en contacto con gente de otros servidores además de poder tener una lista de contactos infinita.
El protocolo además es extensible, y puede utilizarse como base para ofrecer una cantidad de servicios muy dispar, desde servicios de Mensajería Instantánea (lo básico) hasta compartición de ficheros, comunicación mediante VoIP y SIP o un bonito “juego de Mus” JMus IST POWA!!!
.
Seguro
El protocolo en sí no ofrece “seguridad”, pero como ya he mencionado es fácil ofrecer servicios “por encima” de él. Uno de ellos es la seguridad. Jabber permite ofrecer encriptación mediante SSL, tuneling, clave simétrica, clave asimétrica…. en todas las conexiones que realiza por lo que ofrece una seguridad MUY buena, otro día ya hablaré de encriptación y esas cosas… a ver como las recibe el “público”.
MultiRed
Otro de los “añadidos” con respecto al protocolo original, o más bien otro de los servicios que ofrece Jabber, es la posibilidad de conectarse a otras redes a trabés de la red Jabber. Esto es algo que no es muy conocido y que es una buena manera de seguir en contacto con la gente, al fin y al cabo es bastante dificil que la gente se cambie y de el salto del MSN al Jabber. Esta conexión se realiza sin ningún problema, salvo no poder utilizar las características especiales que traen las últimas versiones de estos protocolos, auqne algunas de ellas tp es que sean muy necesarias.
No obstante no todo es bonito, y Jabber también tiene sus caréncias. Las principales son debidas a las carencias que te da, justamente, el no tener empresas importantes detrás. Al ser la mayoría de servidores ordenadores públicos, o privados “ofrecidos” por particulares, te encuentras condicionado a su mantenimiento, su rendimiento etc… Por lo que no es extraño que servidores “pequeños” sufran caídas, por algo tan simple como que el propietario necesita reiniciar la máquina, o que temiendo esto la gente se lance a los servidores más “oficiales” y acabe saturándolos, a pesar de que el protocolo podría impedir que esto pasara.
Fuentes: