Digital Developer Conference: Hybrid Cloud 2021 | Capacitaciones gratuitas por expertos y partners | 21 de Setiembre ¡Inscríbete Ahora!

Blog de desarrolladores de IBM

Siga los últimos acontecimientos con IBM Developer y manténgase informado.

De un protocolo de nicho al principal protocolo de mensajería de open-source para IoT


Antes de que siquiera existiese Internet de las Cosas o de aquel momento en que Internet de las Cosas se mencionó por primera vez en papel (fines de la década de 1990), yo ya estaba trabajando con Arlen Nipper (ahora de CirrusLink) en el desarrollo de un protocolo para comunicarse con sistemas SCADA en la industria de petróleo y gas. Lo que comenzó como un protocolo muy de nicho para un sector específico, rápidamente se convirtió en el principal protocolo de open-source para cualquier comunicación con dispositivos IoT en estado salvaje.

MQTT, un modelo de mensajería de publicación/suscripción

MQTT es un protocolo de mensajería, desarrollado sobre la base de TCP/IP, que, a su vez, se basa en el modelo de mensajería de publicación/suscripción. Los editores envían los mensajes, los suscriptores reciben los mensajes que les interesan y los agentes transmiten los mensajes de los editores a los suscriptores. Los editores y suscriptores son clientes de MQTT, que solo se comunican con un agente de MQTT. Los clientes de MQTT pueden ser cualquier dispositivo o aplicación (desde microcontroladores como Arduino a un servidor de aplicaciones completo alojado en la nube) que ejecuta una biblioteca MQTT y que se conecta a un agente de MQTT a través de una red. Los agentes de MQTT gestionan la recepción de mensajes de editores y el envío de mensajes a los suscriptores (como también la gestión de las listas de temas que les interesan a los suscriptores).

MQTT pasa a ser de open-source

A medida que Internet de las Cosas se hizo popular, también lo hizo MQTT. Mosquitto, el primer agente MQTT de open-source, se creó en 2008 y, en 2014, se convirtió en el proyecto Eclipse Mosquitto. En 2012, el proyecto Eclipse Paho ofreció bibliotecas de cliente MQTT de open-source para Java, C, JavaScript y Python, y desde ese momento, la lista de bibliotecas de cliente MQTT ha ido creciendo. A fines de 2014, MQTT Version 3.1.1 obtiene el estándar OASIS y prepara el camino en 2016 para que MQTT obtenga el estándar ISO.

MQTT toma el control de IoT

MQTT es el protocolo líder para conectarse a dispositivos de IoT, superando a HTTP, un pilar en el dominio de Internet en 2017. Es más, MQTT fue elegido como el protocolo de mensajería para las plataformas de IoT para Amazon, Microsoft y, por supuesto, IBM, así como muchos productos de open-source y demás productos de agentes comerciales. La Plataforma de IoT Watson de IBM ofrece no solo una conectividad segura a escala masiva para dispositivos MQTT, sino también la administración de dispositivos, el almacenamiento de datos y el análisis de datos en IBM Cloud. MQTT también superó la prueba de escalabilidad al convertirse en el protocolo de mensajería por detrás de Facebook Messenger.

Lo próximo para MQTT

¿Qué es lo próximo para MQTT? Durante los primeros diez años de existencia, no realizamos ningún cambio en el protocolo MQTT, lo que sugiere que realizamos un buen trabajo en anticipar las necesidades del mercado y sus usuarios. A medida que Internet maduró, junto con dispositivos industriales y conectividad, así como con el advenimiento del alojamiento de alta escala en la nube, percibimos que MQTT necesitaba algunas funciones adicionales. Para mí, fue importante permanecer fieles a los «principios fundacionales» de MQTT: principalmente, que se trataba de una especificación compacta y fácil de comprender e implementar. MQTT v5 se publicó a fines de 2018 y va camino a ser ratificado con el estándar OASIS y, luego, el estándar ISO, a comienzos de 2019.

Mientras tanto, a diario, cientos de millones de dispositivos y aplicaciones envían y reciben datos, así como comandos a través de Internet de las Cosas, mediante MQTT.