Caio Pedroso
Gustavo Turco
Juliana Saldanha
Kaleb Alves
Telefonia Fixa e VoIP - 2º quadrimestre de 2019
Tópicos
-
Introdução e História;
-
Funcionamento;
-
Comparação;
-
Mitos e lendas;
-
Aplicações.
Extensible
Messaging and
Presence
Protocol
P - Protocolo
P - Presença
M - Mensagens
X - Extensível
Protocolo Extensível de Mensagens e Presença
-
Desenvolvido na comunidade de código aberto Jabber;
-
Protocolo projetado para mensagens instantâneas e controle de presença;
-
É um protocolo de comunicação para MOM (Message-Oriented Middleware) baseado em XML (Extensible Markup Language);
-
Permite a troca quase em tempo real de dados estruturados e extensíveis entre entidades da rede;
-
É definido em um padrão aberto.
Vantagens
-
Aberto;
-
Padronizado;
-
Comprovado;
-
Descentralizado;
-
Seguro;
-
Extensível;
-
Flexível;
-
Diverso.
Funcionamento
Funcionamento
Nós e JID's
<JID> ::= [<node>"@"]<domain>["/"<resource>]
<node> ::= <conforming-char>[<conforming-char>]*
<domain> ::= <hname>["."<hname>]*
<resource> ::= <any-char>[<any-char>]*
<hname> ::= <let>|<dig>[[<let>|<dig>|"-"]*<let>|<dig>]
<let> ::= [a-z] | [A-Z]
<dig> ::= [0-9]
<conforming-char> ::= #x21 | [#x23-#x25] | [#x28-#x2E] |
[#x30-#x39] | #x3B | #x3D | #x3F |
[#x41-#x7E] | [#x80-#xD7FF] |
[#xE000-#xFFFD] | [#x10000-#x10FFFF]
<any-char> ::= [#x20-#xD7FF] | [#xE000-#xFFFD] |
[#x10000-#x10FFFF]
Funcionamento
XMPP Core
XMPP Extensions
Dados de Comunicação;
Segurança;
Mensageira One to One.
Chat multi usuários;
Requisições HTTP;
Avatares (fotos perfil).
Funcionamento
Funcionamento
Stanza
<message
from='marquinhosGabriel@cruzeirao.lit/pda'
id='6x1'
to='vitorhugoleirodoGalo@atletico.lit
type='chat'>
<body> esse ano a liberta é nossa! </body>
</message>
<message
from='professor@ufabc.aba'
id='argxbra'
to='turmaTelefonia@ufabc.aba'
type='groupchat'>
<body> Hoje não tem aula </body>
</message>
Funcionamento
Em uma aplicação moderna...
const xml = require('@xmpp/xml')
const recipient = 'user@example.com'
const days = ['Monday', 'Tuesday', 'Wednesday']
const message = xml(
'message',
{to: recipient},
xml('body', {}, 1 + 2),
xml('days', {}, days.map((day, idx) => xml('day', {idx}, day)))
Concorrência: Websockets
-
Apoio de grandes browsers;
-
Canais de comunicação persistentes e centralizados;
-
Número ilimitado de sessões abertas.
Comparação
XMPP | Websocket | |
---|---|---|
Velocidade | ✔ | |
Transferência de dados | ✔ | |
Flexibilidade | ✔ | |
Acessibilidade | ✔ | |
Segurança | ✔ |
Mitos e Lendas
"XMPP é baseado em XML e portanto é lento."
Mitos e Lendas
"XMPP é incompetente para a Web."
Mitos e Lendas
"A base do XMPP é muito pequena e funções que deveriam ser essenciais são colocadas como extensões depois."
Aplicação: Mensagem Instantânea
-
Mensagens individuais e em grupo;
-
Notificações de presença;
-
Lista de contatos;
-
Fácil criação de novos aplicativos de maneira segura e escalonável;
-
Notificações push;
-
Arquivo de mensagens;
-
FunXMPP: versão enxuta do XMPP.
Aplicação: Mensagem Instantânea
Aplicação: Internet das Coisas (IoT)
-
IoT: proporciona a objetos do cotidiano se conectarem à Internet;
-
Protocolos de comunicação;
-
Padrões de comunicação;
-
Escalabilidade e segurança.
Aplicação: Jogos Online
-
Sinalização em tempo real;
-
Presença (status online);
-
Notificações push;
-
Chat no jogo.
Aplicação: Jogos Online
Aplicação: Redes Sociais
-
Segurança: cada usuário se conecta com seu username;
-
Natureza em tempo real: um usuário recebe atualizações de ações de outro que o envolva;
-
Construções de assinatura e publicações: feed de atividades.
Aplicação: Redes Sociais
Aplicação: Militar
-
Rotulagem de segurança de mensagens e salas de conversa com vários usuários;
-
Forte autenticação;
-
Alertas personalizados codificados com base em palavras-chave e no remetente.
Referências Bibliográficas
- XMPP. XMPP. [S. l.], [201-?]. Disponível em: https://xmpp.org/. Acesso em: 8 jul. 2019.
- ISODE. Military XMPP. [S. l.], [201-?]. Disponível em: https://www.isode.com/markets/military-xmpp.html. Acesso em: 11 jul. 2019.
- THINKWIK. Web Sockets vs. XMPP: Which Is Better For Chat Application?. [S. l.], 2 out. 2017. Disponível em: https://medium.com/@thinkwik/web-sockets-vs-xmpp-which-is-better-for-chat-application-113e3520b327. Acesso em: 10 jul. 2019.
- LEE, David. Fat Markup: Trimming the Fat Markup Myth one calorie at a time. Montréal, Canadá, 6 - 9 ago. 2013. Disponível em: https://www.balisage.net/Proceedings/vol10/html/Lee01/BalisageVol10-Lee01.html. Acesso em: 12 jul. 2019.
- HUANG, Lin-Shung et al. Transparent Proxies: Threat or Menace?. [S. l.], [201-?]. Disponível em: https://pt.scribd.com/document/45454194/Web-Socket. Acesso em: 15 jul. 2019.
- CALDAS, Edson. 10 iniciativas brasileiras de Internet das Coisas para ficar de olho. [S. l.], 6 fev. 2018. Disponível em: https://epocanegocios.globo.com/colunas/Tecneira/noticia/2018/02/10-iniciativas-brasileiras-de-internet-das-coisas-para-ficar-de-olho.html. Acesso em: 16 jul. 2019.
Apresentação XMPP - Telefonia Fixa e VoIP
By Gustavo Turco
Apresentação XMPP - Telefonia Fixa e VoIP
- 498