Internet da Coisas e Aplicação distríbuida Atividade 01: Protocolo XMPP

Professor: Dr. Cristiano André da Costa Alunos: Eliel Albuquerque Emiliano Monteiro Manoel Pontes Nicodemo Moreno XMPP - Introdução

● Extensible Messaging and Presence Protocol (XMPP) ● Jabber é o nome original de Extensible Messaging and Presence Protocol. ● É um protocolo aberto. ● É um padrão do IEEE. ● É utilizado pelo . ● Descentralizado, qualquer um pode rodar um servidor XMPP. ● Utiliza TLS () Arquitetura

● Core --> streaming de XML ● --> comunicação SIP Protocolo de Iniciação de Sessão, permite criar, configurar e gerir as sessões de comunicação. ● Cliente de chat. ● Multi-User-Chat (MUC) (permite mensagens similar ao IRC) ● PubSub --> Hub de comunicação ● BOSH --> Binding para tráfego HTTP. Padronização

● RFC 6120: XMPP Core (núcleo) ● RFC 6121: XMPP Mensageiro instantaneo ● RFC 7622: XMPP formato de endereços ● XEP-0166: Jingle ● XEP-0167: Jingle RTP Sessions ● XEP-0176: Jingle ICE-UDP Transport Method ● XEP-0177: Jingle Raw UDP Transport Method ● XEP-0181: Jingle DTMF ● XEP-0234: Jingle File Transfer ● XEP-0045: Multi-User Chat ● XEP-0249: Direct MUC Invitations ● XEP-0272: Multiparty Jingle Implementações existentes:

Clientes Servidores de VoIP: ● Asterisk FreeSWITCH ● Gajim Yate ● ● Movim ● Pandion ● ● Telepathy ● Yate Porquê usar XMPP

⦁ O XMPP é descentralizado. Não há um ponto de falha para as comunicações. ⦁ O XMPP é um protocolo aberto. Nenhuma empresa controla o protocolo, e qualquer pessoa pode propor/implementar melhorias. O XMPP também pode se comunicar com todos os principais sistemas de IM proprietários por meio de gateways públicos. ⦁ Você pode fazer com que seu endereço de MI seja igual ao seu endereço de email (@ example.com). Porquê usar XMPP

⦁ Prós ⦁ Esquema de endereçamento para reconhecer dispositivos na rede ⦁ Arquitetura cliente-servidor ⦁ Descentralizado ⦁ Flexível ⦁ Padrões abertos e formalizados Porquê usar XMPP

Contras ⦁ Mensagens baseadas em texto e nenhuma provisão para criptografia de ponta a ponta ⦁ Nenhuma provisão para qualidade de serviço ⦁ O fluxo de dados geralmente é superior a 70% do servidor de protocolo XMPP, dos quais quase 60% são repetidos; o protocolo XMPP possui uma grande sobrecarga de dados para vários destinatários ⦁ Ausência de dados binários ⦁ Escopo limitado para estabilidade Declara a lib

Inicializa o componente

Cria a instância do cliente

Envia mensagens

Libera a instância do cliente