josé dihego rafael carício rafael bernardo {jdso,rjcf,rbdb}@cin.ufpe.br

29
Google wave José Dihego Rafael Carício Rafael Bernardo {jdso,rjcf,rbdb}@cin.ufpe.br

Upload: internet

Post on 18-Apr-2015

113 views

Category:

Documents


0 download

TRANSCRIPT

  • Slide 1
  • Jos Dihego Rafael Carcio Rafael Bernardo {jdso,rjcf,rbdb}@cin.ufpe.br
  • Slide 2
  • Email World
  • Slide 3
  • Wave Universe
  • Slide 4
  • Caractersticas[1] Lista de usurios Chats colaborativos, grupais/privados Ps-editaveis Playback exibe histria do contedo Albuns(imagens, vdeos) Sincronizao automtica atmica(caracter a caracter, foto a foto) Identificao pontual autor-edio
  • Slide 5
  • Caractersticas[2] Troca de contedos entre waves (albuns, chats) Desenvolvido usando Google Web Toolkit
  • Slide 6
  • Dispositivos Mobile (Android) Desktop Palmtop
  • Slide 7
  • Extensions Check spelling Gadgets Games (xadrez, Sudoku Puzzle) Google maps Vdeos Youtube Integrao com blogs Pool wave Twitter wave Bugzila wave Inside translate... (entre outras)
  • Slide 8
  • Requisitos Criar uma nova wave Adicionar/remover participantes Editar contudo(vdeo,fotos,texto) Edio de conteudo intregada ao google search Share media, discussion groups, blogs, games Sincronizao de todos os tipos de media
  • Slide 9
  • Requisitos No-funcionais Usabilidade: Sistema com interface intuitiva, drag-and-drop para usurios, documentos e widgets; Os usurios no devem precisar de mais de 3 cliques para realizar uma operao. Extensibilidade: Extensvel a novas funcionalidades (widgets e robots); Deve-se possibilitar a criao e deployment do novo plugin em tempo de execuo (sem necessidade de reiniciar o servidor).
  • Slide 10
  • Requisitos No-funcionais Portabilidade: Deve ser possvel acessar o sistema com o uso de dispositivos mveis (celulares, tablets) com acesso a internet. Disponibilidade: O sistema deve estar disponvel 99,999% do tempo, pois poder ser de utilizao crtica para uma organizao cliente.
  • Slide 11
  • Requisitos No-funcionais Tolerante a falhas: Deve retornar ao ar automaticamente quando algum erro ocorrer. Escalabilidade: O sistema deve ser distribudo em diversas mquinas. Segurana: Permitir comunicao segura entre os provedores de wave. Ter controle de acesso dentro dos wavelets.
  • Slide 12
  • Requisitos No-funcionais Independncia de plataforma: As tecnologias utilizadas no desenvolvimento do sistema deve estar disponvel para uso em Linux, Windows e Mac OSX. Isso permitir aos providers escolherem qual sistema operacional desejam utilizar. Descentralizao: As partes do sistema (providers) devem funcionar de forma independente. Desempenho: O sistema no deve demorar mais que 3 segundos para carregar uma tela.
  • Slide 13
  • Diagrama de componentes OhCircus specication
  • Slide 14
  • Google Wave Architecture
  • Slide 15
  • Componentes e conectores
  • Slide 16
  • Mdulo
  • Slide 17
  • Open Local Wave
  • Slide 18
  • Open Local Wave - Gadget
  • Slide 19
  • Open Remote Wave
  • Slide 20
  • Implantao
  • Slide 21
  • Modelo de dados
  • Slide 22
  • Decises Arquiteturais Linguagem para o Backend- Java Prs: Independente de plataforma, Grande aceitao na comunidade, Portabilidade. Contra: Desempenho. Requisitos afetados: Portabilidade, Independncia de plataforma, Desempenho.
  • Slide 23
  • Decises Arquiteturais Utilizao de Java + Flex para implementao do Frontend. Prs: Flexibilidade nas interfaces grficas e menor tempo de desenvolvimento. Alternativa: Ajax Requisitos afetados: Usabilidade, Extensibilidade, Portabilidade.
  • Slide 24
  • Decises Arquiteturais Utilizao do protocolo Jabber/XMPP Prs: Comunicao descentralizada. Vrios servidores so utilizados para a comunicao entre diversas entidades. No h um ponto central de falha. Permite chamadas de voz e vdeo, colaborao, integraes, distribuio de contedo e roteamento de dados XML. Permite autenticao e checagem de integridade. Requisitos afetados: Descentralizao, Tolerante a falhas, Escalabilidade, Segurana.
  • Slide 25
  • Decises Arquiteturais Utilizao do Transport Layer Security (TLS) Prs: Permite o estabelecimento de uma conexo segura entre um "cliente e um servidor". Assegura que a comunicao no alterada em trnsito. Requisitos afetados: Segurana.
  • Slide 26
  • Decises Arquiteturais No-utilizao de um banco de dados distribudo e no- relacional (BigTable like) Prs: Permite facilmente evoluo do sistema (mudana do esquema dos dados), rpida manipulao de dados e replicao de dados automtica quando definidos os clusters. Contras: Tecnologia nova (reviso dos conceitos de armazenamento de dados existentes), Adaptao de bibliotecas de terceiros para acesso a os dados armazenados. Sistemas em desenvolvimento e com problemas de ponto de falha graves (centralizao). No existe garantia de integridade de dados (propriedades ACID). Requisitos afetados: Escalabilidade, Tolerncia a falha, Descentralizado, Disponibilidade.
  • Slide 27
  • Decises Arquiteturais Utilizao de banco de dados relacional Prs: Garantia das propriedades ACID (Atomicity, Consistency, Isolation, Durability), rpido acesso e manipulao de dados, tecnologia madura e amplamente utilizada. Contras: Difcio configurao de clusters para replicao de dados, alto custo de manuteno (tempo e dinheiro), evoluo de esquema feita de forma semi-automtica ou manual. Requisitos afetados: Escalabilidade, Tolerncia a falha, Descentralizado, Disponibilidade.
  • Slide 28
  • Decises Arquiteturais Escolha do RDBMS: Escolha entre os RDBMS mais utilizados pelo mercado: MySQL: Velocidade de manipulao de dados, possibilidade de suporte pela empresa que criou (pago). PostgreSQL Muitos plugins para domnios especficos como Data Warehousing e Geo. Escolhido MySQL: Acesso aos dados um requisito crtico do sistema.
  • Slide 29
  • Obrigado!