Caio Pedroso
Gustavo Turco
Juliana Saldanha
Kaleb Alves
Telefonia Fixa e VoIP - 2º quadrimestre de 2019
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
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.
Aberto;
Padronizado;
Comprovado;
Descentralizado;
Seguro;
Extensível;
Flexível;
Diverso.
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]
XMPP Core
XMPP Extensions
Dados de Comunicação;
Segurança;
Mensageira One to One.
Chat multi usuários;
Requisições HTTP;
Avatares (fotos perfil).
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>
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)))
Apoio de grandes browsers;
Canais de comunicação persistentes e centralizados;
Número ilimitado de sessões abertas.
XMPP | Websocket | |
---|---|---|
Velocidade | ✔ | |
Transferência de dados | ✔ | |
Flexibilidade | ✔ | |
Acessibilidade | ✔ | |
Segurança | ✔ |
"XMPP é baseado em XML e portanto é lento."
"XMPP é incompetente para a Web."
"A base do XMPP é muito pequena e funções que deveriam ser essenciais são colocadas como extensões depois."
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.
IoT: proporciona a objetos do cotidiano se conectarem à Internet;
Protocolos de comunicação;
Padrões de comunicação;
Escalabilidade e segurança.
Sinalização em tempo real;
Presença (status online);
Notificações push;
Chat no jogo.
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.
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.