Quatro protocolos de comunicação baseados em TCP que são fundamentais para a IIoT – Parte 3: AMQP
Conteúdo deste artigo
Quatro protocolos de comunicação baseados em TCP que são fundamentais para a IIoT – Parte 3: AMQP
A conectividade em todos os níveis está no centro da Indústria 4.0, Internet Industrial das Coisas, smart factories e dispositivos inteligentes. As pirâmides de automação rígidas e hierárquicas com camadas divisórias estão sendo cada vez mais substituídas por estruturas de rede mais abrangentes nas quais nós individuais estão ligados e trocam dados uns com os outros.
Para concretizar essa rede, os dispositivos devem ser compatíveis com a Internet Industrial das Coisas. Isso significa que eles devem ser padronizados e escaláveis, com capacidade para interoperabilidade entre sistemas de TI e OT, e garantir uma comunicação segura.Os vários protocolos de comunicação estão disponíveis aqui, como MQTT, OPC UA, AMQP e REST API. Em nossa série de artigos de blog de várias partes, você pode saber mais sobre os recursos principais desses protocolos de comunicação da Internet Industrial das Coisas e para quais casos de uso eles são especialmente adequados. A terceira parte dessa série de artigos é sobre AMQP.
O que é AMQP e como funciona?
O Protocolo de Enfileiramento de Mensagens Avançado (AMQP) é um protocolo de comunicação assíncrono interoperável de publicação/assinatura. Foi originalmente desenvolvido em 2003 pelo JPMorgan Chase Bank. Em 2005, um grupo de trabalho foi formado por várias empresas, incluindo RedHat, Microsoft, Software AG e Cisco. Após várias publicações experimentais (0.8, 0.9.1, 0.10), a versão 1 do AMQP foi finalmente publicada em 2011 e também foi definida como um padrão OASIS. Desde então, passou por um desenvolvimento avançado pela OASIS. Em 2014, recebeu a certificação ISO/IEC (19464:2014).
O AMQP é usado principalmente nos setores empresarial e financeiro, mas também pode se tornar parte do setor industrial. É muito frequentemente comparado ao MQTT. Em um nível mais alto, os padrões são semelhantes, mas abaixo da superfície, o AMQP define um ecossistema completo, ao contrário do MQTT (saiba mais sobre isso nas seções a seguir). Na topologia AMQP, tanto os clientes quanto os corretores são referidos como contêineres (Figura 1). Contêineres são elementos que formam vários nós. Um nó pode ser um produtor, um consumidor ou uma fila. Produtores geram, consumidores recebem e corretores armazenam e encaminham mensagens. Isso significa que um cliente pode desempenhar o papel de consumidor e produtor. Dentro da aplicação, esses nós podem ser planos ou hierarquicamente conectados. Fora dela, os nós são conectados por vínculos. Um vínculo é uma rota unidirecional entre dois nós que é formada em um nível mais alto para uma sessão. Cada vínculo tem seu identificador único e, se a conexão entre os dois contêineres for interrompida, os vínculos podem ser restaurados após a retomada.
Outro aspecto interessante do AMQP é que, além dos corretores, os roteadores também podem ser integrados à rede. Os roteadores só implementam a camada de transporte do AMQP e executam as tarefas de transmissão sem enfileiramento das mensagens. Isso significa que o roteador estabelece uma conexão síncrona entre o produtor e o consumidor. O consumidor e o produtor comunicam entre si utilizando um percurso de pedido/resposta padrão. Isso é útil quando o produtor e o consumidor estão em locais geográficos distintos. Dentro de uma topologia AMQP, corretores e roteadores podem existir em paralelo e não precisam (mas podem) ser integrados em um dispositivo. No que diz respeito à transmissão de mensagens, o AMQP tem dois mecanismos de transmissão: “definido” (no máximo uma vez) e “indefinido” (pelo menos uma vez). O formato de transmissão para toda a mensagem (anotada) é XML, mas o corpo da mensagem pode usar vários formatos de codificação, como binário, JSON, Avro ou XML.
Interoperabilidade: AMQP x MQTT
O AMQP também é relativamente compacto e define apenas um recurso de interoperabilidade: tipos de dados. Além disso, o uso dos vínculos pode garantir que um nó produtor específico esteja disponível, o que torna esse padrão mais adequado para interações computador-máquina. No entanto, isso soa mais como um jogo de adivinhação e menos como um cenário em que os dispositivos podem se comunicar livremente uns com os outros. Em termos de interação homem-máquina, AMQP e MQTT são bastante semelhantes. O ser humano deve procurar no manual os dados disponíveis do produtor.
Comportamento em tempo real: AMQP x MQTT
Tempos de transporte relativamente curtos também são possíveis, uma vez que o AMQP também é um protocolo de comunicação de publicação/assinatura. Devido às cargas úteis maiores, ele não atinge a velocidade do MQTT, mas ele consegue ser “quase em tempo real”.
Segurança do AMQP
O AMQP não fornece segurança integrada como um protocolo, mas a segurança pode ser alcançada com várias medidas. Isso permite que a conexão de rede subjacente seja criptografada com TLS e a autenticação de assinantes seja usada com o SASL.
Implementação: AMQP x MQTT
Assim como o MQTT, o AMQP é baseado em publicação/assinatura, mas oferece mais opções para transmitir mensagens. Como resultado, os requisitos de recursos para a aplicação são significativamente mais criteriosos e a implementação é consideravelmente mais complexa. Se a funcionalidade estendida exigir AMQP, o uso de bibliotecas é recomendado para implementação. O protocolo de transporte AMQP deve ser implementado dessa forma.
Aplicação do AMQP
O AMQP é usado principalmente nos setores empresarial e comercial, mas seu ponto forte é implementações leves, em que uma solução completa deve ser implementada independentemente de protocolos de camada de aplicação externos, como HTTPS ou WebSockets. Semelhante ao MQTT, mas mais geral, é útil para funções como:
- monitoramento e lançamento de atualizações globalmente
- entrega de dados a clientes off-line em uma data posterior
- monitoramento de dados relacionados a risco ou operações de controle interno
- distribuição de eventos internamente
Documento técnico: Protocolos de comunicação baseados em TCP
Você quer saber mais sobre os protocolos de comunicação de Internet Industrial das Coisas MQTT, AMQP, OPC UA e Rest API? Baixe nosso documento técnico gratuitamente.
Assine nossa newsletter e receba regularmente notícias e fatos interessantes do mundo da automação.