記事「MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ(第4回)」についてのディスカッション

 

新しい記事「MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ(第4回)」はパブリッシュされました:

この記事は、MQTTプロトコルのネイティブMQL5クライアントの開発ステップを説明する連載の第4回です。このセクションでは、MQTT v5.0のプロパティとは何か、そのセマンティクス、いくつかのプロパティの読み方について説明し、プロトコルを拡張するためにプロパティをどのように使用できるかの簡単な例を示します。

プロパティは、MQTT v5.0で追加された「拡張性メカニズム」の一部です。このメジャーアップグレード前の最新バージョンであるv3.1.1には存在しませんでした。これらはMQTT v5.0ではどこにでもあります。しかし、MQTTプロパティとは何でしょうか。何のプロパティでしょうか。

その答えは「アプリケーションメッセージのプロパティ」です。OASIS標準の用語では、アプリケーションメッセージは次のように呼ばれます。

「アプリケーションのためにネットワークを介してMQTTプロトコルによって運ばれるデータ。アプリケーションメッセージがMQTTによって伝送されるとき、それはペイロードデータ、サービス品質(QoS)、プロパティのコレクション、およびトピック名を含みます(強調部分は著者によります)。

下の図1の「ペイロードデータ」を表す黄色い四角形を見てください。ここで注目していただきたいのは、重要な用語の違いです。

MQTT5.0アプリケーションメッセージ抽象図

図.01:MQTT5.0アプリケーションメッセージ抽象図

メッセージ共有プロトコルの文脈では、「メッセージ」という単語を目にしたとき、私たちはユーザーメッセージ(頻繁にテキストメッセージ)を思い浮かべることに慣れています。多くの場合、アプリケーション全体としてのメッセージについては考えません。 

しかし、ここでは、MQTTを介してユーザーから送信されるメッセージは、ペイロードデータの一部であり、プロパティはアプリケーションメッセージというプロトコルの抽象モデルの一部です。したがって、MQTT経由でユーザーメッセージを送信する場合、その「ユーザーメッセージ」に関連するプロパティだけでなく、アプリケーションメッセージ全体に関連するプロパティも持つことができます。たとえば、接続に関するプロパティ、公開に関するプロパティ、トピックの購読および購読解除に関するプロパティ、認証に関するプロパティなどです。

その他に、Will Messageに付随するWillプロパティがあります。

「Will MessageはCONNECTペイロードのWillプロパティ、Willトピック、Willペイロードフィールドから構成されます。」

プロトコルを実装し始めるとこの専門用語が少し紛らわしくなるかもしれませんが、可能な限り明確にするよう最善を尽くすつもりです。

作者: Jocimar Lopes

 
パート5を待っている。
理由: