Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WebRTC TCC APT

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

WebRTC TCC APT

ESTUDO SOBRE O DESENVOLVIMENTO DE APLICAÇÕES BROWSER A BROWSER COM WEB RTC

Avatar for Jeferson Cunha

Jeferson Cunha

December 11, 2016

Other Decks in Technology

Transcript

  1. jef.link/webrtc !1 Universidade Federal de Santa Maria Colégio Politécnico Curso

    de Sistemas para Internet ESTUDO SOBRE O DESENVOLVIMENTO DE APLICAÇÕES BROWSER A BROWSER COM WEBRTC Aluno: Jeferson Cunha Orientador: Prof. Dr. Rafael Milbradt
  2. jef.link/webrtc !2 Introdução • Crescente número de pessoas conectadas à

    internet; • Necessidade de plataformas melhores para comunicação; • Problemas com plug-ins em outros tipos de recursos; • WebRTC padrão aberto browser-a-browser.
  3. jef.link/webrtc !3 Problema de pesquisa • Escassez de recursos de

    comunicações; • Alta dificuldade para implementação; • Baixo estudo acadêmico na área nesta aplicação; • Inexistência de estudo acadêmico na área.
  4. jef.link/webrtc !4 Objetivos • Geral: • Pesquisar e identificar plataforma

    de desenvolvimento para comunicações. • Específico: • Pesquisa bibliográfica em sistemas distribuídos; • Destacar diferenças e importância do WebRTC; • Base para desenvolvimento de uma nova aplicação.
  5. jef.link/webrtc !5 Justificativa • Recente tecnologia no mercado; • Resgate

    de estudo aplicado a área acadêmica; • Base de estudo para desenvolvimento de uma nova aplicação.
  6. jef.link/webrtc !6 Sistemas Distribuídos “ Uma coleção de computadores independentes

    entre si que se apresenta ao usuário como um sistema único e coerente” ( Tanenbaum, 2008 )
  7. jef.link/webrtc !7 Cliente / Servidor Estrutura de aplicação distribuída que

    distribui as tarefas e cargas de trabalho entre os fornecedores (servidor) de um recurso ou serviço, e os requerentes (cliente).
  8. jef.link/webrtc !8 Peer-to-Peer (P2P) Ao receber um arquivo de um

    servidor de dados, cada usuário (peer), realiza tanto funções de servidor quanto de cliente e pode redistribuir qualquer parte do mesmo, para outros usuários que solicitarem.
  9. jef.link/webrtc !9 WebRTC “ WebRTC and HTML5 could enable the

    same transformation for real-time communications that the original browser did for information.” ( Phill Edholm )
  10. jef.link/webrtc !10 WebRTC - Real Time Communications Projeto open-source, criado

    pela Mozilla e Google, aceito pela W3C. Permite aos navegadores realizarem comunicações em tempo real com objetivo de desenvolver aplicações em web browsers, com a ajuda de APIs de JavaScript e HTML5, sem necessidade de plug-ins.
  11. jef.link/webrtc !11 WebRTC - Sinalização A ideia geral por trás

    do projeto de WebRTC tem sido especificar o modo de controlar o plano de multimídia, enquanto deixa o plano de sinalização visível na camada de aplicação.
  12. jef.link/webrtc !12 WebRTC - APIs A WebRTC C++ API é

    utilizada por programadores, que queiram desenvolver web browsers, enquanto a Web API é usada por p e s s o a s q u e q u e i r a m desenvolver aplicações web.
  13. jef.link/webrtc !13 WebRTC - APIs A Web-API é definida sobre

    três principais conceitos: • MediaStream; • RTC PeerConnection; • RTC DataChannel. MediaStream
  14. jef.link/webrtc !14 WebRTC - MediaStream Acessar fluxos de dados de

    multimídia. Tanto de entrada ou de saída, bem como local ou remoto (por exemplo: uma câmera ou um local de ligação remota).
  15. jef.link/webrtc !15 WebRTC - PeerConnection • Processamento de sinal; •

    Comunicação peer-to-peer; • Gerenciamento de banda ; • Manuseio codecs;
  16. jef.link/webrtc !16 WebRTC - DataChannel Projetado para fornecer um s

    e r v i ç o d e t r a n s p o r t e genérico, permitindo que navegadores troquem dados de forma bidirecional em peer-to-peer.
  17. jef.link/webrtc !18 Network Address Translation (NAT) Devido a escassez de

    IPs no padrão IPV4, foi criado um m e c a n i s m o q u e f a z a tradução de vários IPs privados em um público, garantindo o acesso externo a todos.
  18. jef.link/webrtc !19 Interactive Connectivity Establishment (ICE) Possibilita que haja comunicação

    entre usuários mesmo que entre eles exista NAT. Fornece a cada um dos parceiros um caminho candidato para estabelecer conexão com o outro parceiro.
  19. jef.link/webrtc !20 ICE - Candidatos • Host Candidate – Endereço

    de transporte associado a interface de rede local (IP+Porta). • Server Reflexive Candidate – endereço traduzido do lado público do NAT, obtido a partir de um servidor STUN. • Relayed Candidate – Endereço de transporte associado com servidor TURN.
  20. jef.link/webrtc !21 Session Traversal Utilities for NAT (STUN) Os servidores

    STUN verificam o IP recebido na porta de entrada a partir d e u m a p l i c a t i v o d e solicitação NAT, e envia o endereço público como resposta.
  21. jef.link/webrtc !22 Session Traversal Using Relays around NAT (TURN) Por

    vezes o canal de comunicação direto é impossível de ser estabelecido pelos pares e nestas situações e necessário fazer uso de um servidor adicional denominado de TURN. Servidores TURN atuam como intermediário na troca de dados entre os pares.
  22. jef.link/webrtc !24 WebRTC - Estudo de Caso Um protótipo ou

    prova de estudo, esta aplicação possibilitará de maneira fácil e rápida efetuar uma comunicação multimídia.
  23. jef.link/webrtc !25 WebRTC - Estudo de Caso - Sinalização Desenvolvido

    em Node.JS para gerenciar e detectar a presença de salas criadas. A sinalização é necessária apenas para criar um ponto inicial de comunicação de sessão da aplicação, após isso, todo envio multimídia será dado através do padrão WebRTC, com uso da API PeerConnection ou DataChannelConection. Server-Side - Node.JS
  24. jef.link/webrtc !27 WebRTC - Estudo de Caso - Via PeerConnection

    Comunicação via navegador através da utilização da API PeerConnection, dentro da mesma página. Transmissão a t r a v é s d a r e d e , a p e n a s utilizando a API como meio de transmissão do vídeo obtido entre os elementos da página.
  25. jef.link/webrtc !28 WebRTC - Estudo de Caso - Documentação Documentação

    completa de configurações para servidor, outras modalidades para implementação de sinalização e aplicações da tecnologia, podem ser, conhecidas acessando deste estudo, disponível em http://jef.link/webrtc-doc