Protocolo XMPP (IM)
XMPP es un protocolo basado en XML, un subconjunto del Lenguaje de Marcado Universal Estándar, que hereda la flexibilidad para desarrollarse en un entorno XML. Por tanto, las aplicaciones basadas en XMPP son altamente escalables. Una vez ampliado, XMPP puede satisfacer las necesidades de los usuarios enviando información ampliada, y se pueden crear aplicaciones como sistemas de publicación de contenidos y servicios basados en direcciones sobre XMPP. Además, XMPP incluye protocolos de software para que los servidores se comuniquen entre sí, lo que facilita a los desarrolladores crear aplicaciones cliente o agregar funcionalidad a un sistema bien configurado.
Nombre completo: Protocolo de presentación y comunicación extensible
Introducción: Elemento de datos XML del Protocolo de presentación y comunicación extensible (XMPP) que se puede utilizar en comunicación, presentación y presentación en tiempo real de tipo servicio. Servicios de respuesta a la demanda Streaming. XMPP se basa en el protocolo Jabber, que es un protocolo abierto comúnmente utilizado en mensajería instantánea. XMPP es la formalización por parte del IETF de los protocolos de transmisión XML básicos para mensajería instantánea y presencia (desarrollados dentro de la comunidad de código abierto Jabber en 1999), que se utiliza para mensajería instantánea (IM) y detección de campo en línea. Facilita la operación casi instantánea entre servidores. Este protocolo puede eventualmente permitir a los usuarios de Internet enviar mensajes instantáneos a cualquier otra persona en Internet, incluso si sus sistemas operativos y navegadores son diferentes.
El predecesor de XMPP es Jabber, un protocolo de mensajería instantánea en red producido por una organización de código abierto. XMPP está actualmente estandarizado por la organización de estándares internacionales IETF. Los resultados principales de la estandarización se dividen en dos partes:
Protocolo de transmisión XML principal
Aplicación de extensión de mensajería instantánea basada en transmisión XMLFreeEIM
Transmisión XML principal XMPP La definición del protocolo de transporte permite a XMPP operar en una plataforma más estandarizada que los protocolos de comunicación de red anteriores. Con la ayuda de las características fáciles de análisis y lectura de XML, el protocolo XMPP puede ser muy hermoso.
La parte de aplicación extendida de mensajería instantánea de XMPP se basa en una definición abstracta de mensajería instantánea proporcionada previamente por IETF. Es completamente funcional y completa con otros protocolos de mensajería instantánea ampliamente utilizados, como AIM, QQ, etc. y otros avances.
El protocolo de extensión Jingle de XMPP le permite admitir voz y vídeo.
El documento oficial de XMPP es RFC 3920.
Se definen tres roles en XMPP, cliente, servidor y puerta de enlace. La comunicación puede ocurrir en ambas direcciones entre dos de estos tres. El servidor también asume las funciones de registro de información del cliente, gestión de conexiones y enrutamiento de información. El gateway se encarga de la interconexión con sistemas heterogéneos de mensajería instantánea. Los sistemas heterogéneos pueden incluir SMS (mensajes de texto), MSN, ICQ, etc. La forma básica de creación de redes es que un único cliente se conecta a un único servidor a través de TCP/IP y luego transmite XML a través de él.
Lo que se transmite son instrucciones relacionadas con la mensajería instantánea. En el pasado, estos comandos se enviaban en formato binario (como QQ) o como comandos de texto sin formato más espacios, parámetros y nuevas líneas (como MSN). La lógica de las instrucciones de mensajería instantánea transmitidas por XMPP es similar a la del pasado, excepto que el formato del protocolo pasa a ser texto sin formato en formato XML.
Desde el punto de vista del documento, todos los textos XML enviados por el cliente o servidor se concatenan juntos, desde lt;streamgt; hasta lt;/streamgt;, para formar un documento XML completo. La etiqueta de flujo es el llamado flujo XML.
Esos elementos XML entre lt;streamgt; y lt;/streamgt;...lt;/messagegt; son los llamados XML Stanza (sección XML). El modo básico de comunicación del protocolo central XMPP es establecer primero una secuencia y luego negociar un montón de seguridad y otras cosas. El proceso de comunicación intermedio es que el cliente envía XML Stanza, uno tras otro. El servidor envía XML Stanza al cliente en función de la información enviada por el cliente y la lógica del programa. Sin embargo, este proceso no es un proceso de preguntas y respuestas. Es posible enviar una carta de una parte a otra en cualquier momento. La etapa final de la comunicación es cerrar la transmisión, cerrando la conexión TCP/IP.
Actualmente, muchos sistemas de aplicaciones de mensajería instantánea, como Google Talk y Jive Messenger de Google y otras aplicaciones de código abierto, están diseñados e implementados de acuerdo con el conjunto de protocolos XMPP. Estas aplicaciones tienen una buena interoperabilidad.