Discusión sobre el artículo "Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD (Parte 4)"

 

Artículo publicado Desarrollando un cliente MQTT para MetaTrader 5: metodología de TDD (Parte 4):

Este artículo supone la cuarta parte de la serie que describe las etapas de desarrollo de un cliente MQL5 nativo para el protocolo MQTT. En esta parte, veremos las propiedades de MQTT v5.0, su semántica, cómo leemos algunas de ellas, y ofreceremos un breve ejemplo de cómo se pueden usar las propiedades para ampliar el protocolo.

Las propiedades forman parte de los "mecanismos de extensibilidad" añadidos en MQTT v5.0. No estaban presentes en la versión anterior 3.1.1, que fue la última versión antes de esta gran actualización, sin embargo están omnipresentes en MQTT v5.0. Pero, ¿cuáles son las propiedades de MQTT? ¿Propiedades de qué, concretamente?

La respuesta es la propiedad Application Message. Según el estándar OASIS, Application Message serían

"los datos transmitidos a través del protocolo MQTT por la red para la aplicación. Cuando un mensaje de aplicación se transmite a través de MQTT, contiene datos útiles, calidad de servicio (QoS), un conjunto de propiedades y un tema" (destacado por mí).

Fíjese en el rectángulo amarillo de datos Payload data (carga útil) de la figura 1. Existe una distinción terminológica importante sobre la que queremos llamar su atención.

Esquema de abstracción de los mensajes de la aplicación MQTT 5.0

Fig. 01. Esquema de abstracción de los mensajes de la aplicación MQTT 5.0

En el contexto de un protocolo de mensajería, cuando vemos la palabra mensaje, solemos pensar en un mensaje de usuario, con frecuencia un mensaje de texto; la mayoría de las veces, no pensamos en el mensaje como una aplicación en su conjunto. 

Pero aquí, el mensaje enviado por los usuarios a través de MQTT forma parte de los datos de carga útil, mientras que las propiedades son parte de un modelo de protocolo abstracto llamado Application Message. Así, cuando enviamos un mensaje personalizado a través de MQTT, podemos tener no solo propiedades asociadas a ese "mensaje personalizado", sino también propiedades asociadas al mensaje de la aplicación en su conjunto: propiedades para unirse, publicar, suscribirse y desuscribirse de temas, propiedades para la autenticación, etc.

Además, existen propiedades Will adjuntas al mensaje Will.

"El mensaje Will consta de las propiedades Will, el tema Will y la carga Will en la carga útil CONNECT. "

La terminología puede parecer un poco confusa al empezar a aplicar el protocolo, pero haremos todo lo posible para que quede lo más claro posible.

Autor: Jocimar Lopes

Razón de la queja: