Discussão do artigo "Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD (Parte 2)"

 

Novo artigo Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD (Parte 2) foi publicado:

Este artigo faz parte de uma série que descreve as etapas do desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT. Nesta parte, descrevemos como está organizando nosso código, os primeiros arquivos de cabeçalho e classes, e como escrever testes. Este artigo também inclui notas breves sobre o desenvolvimento orientado por testes (Test-Driven Development) e sua aplicação neste projeto.

Criar pacotes MQTT apropriados é apenas o primeiro (e mais fácil) passo no processo de escrever um cliente confiável e fácil de manter. Quando se trata de especificar as características de desempenho, todas as complexidades do protocolo vêm à tona. Esta tarefa exigirá mais de nós como desenvolvedores. Além de enviar os pacotes apropriados, teremos que lidar com uma grande variedade de respostas do servidor e os diferentes estados dos aplicativos. Nesta fase, arrays de bytes codificados de forma rígida (ou qualquer coisa programada neste caso) não serão suficientes.

Felizmente, o MQL5 é uma linguagem de programação orientada a objetos, e não estamos trabalhando em um ambiente com limitações de memória/processador para as quais o MQTT foi originalmente projetado. Assim, podemos aproveitar todos os benefícios do paradigma de Programação Orientada a Objetos (POO) para:

  • Facilitar a tomada de decisões sobre o protocolo através da escolha do nível de abstração correto
  • Facilitar a leitura do código (lembre-se de que o código é lido muito mais vezes do que é escrito)
  • Manter o código sem muita dificuldade
  • E testar facilmente

Agora, podemos iniciar nosso broker local Mosquitto no WSL para verificar se nossa conexão MQTT foi bem-sucedida.

Se você realizou a instalação padrão, o Mosquitto deve funcionar no Linux como um serviço. Assim, você só precisa "redirecionar" (redir) as portas (80 → 1883) e habilitar o nome do host para URLs permitidos nas configurações do MetaTrader 5.

Fig. 03. Log do Mosquitto no WSL sobre a conexão/desconexão bem-sucedida


    Autor: Jocimar Lopes

    Razão: