Google wave José Dihego Rafael Carício Rafael Bernardo

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

Sistemas Distribuídos Baseados na Web
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Distribuídos
Introdução aos Sistemas Distribuídos
Sistemas Distribuídos
Implementação de um Sistema de Informações Georeferenciado (Geoufes) Utilizando Bibliotecas de Software Livres em Java Aluno: Geraldo Angelo Vassoler Orientador:
Conceitos Básicos de Computação O ABC da Computação.
Introdução à Informática
CAPÍTULO Sistemas de supervisão 2. Sistema SCADA
Requisitos Funcionais e Não-Funcionais/ Documento de Requisitos
Administração de Sistemas de Informação Banco de Dados
Sistema Cliente-servidor ou Sistema Client-server
Discos SCSI Fonte de alimentação Controlador SCSI Disco SAS
Middleware e Sistemas Distribuídos
Tecnologia de Informática
Rodrigo de Souza Couto Redes de Computadores II
1 Modelos de Sistemas Distribuídos. Introdução - Dificuldades e ameaças para SD. Grande variação na utilização de SD )carga de trabalho e requerimentos.
José Dihego, Rafael Fonseca e Rafael Bernardo jdso, rjcf,
Sistemas Distribuídos
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Web Services Uninorte Semana de Tecnologia da Informação
Flog Anywhere Rubens Lins Saulo Chalegre Thiago Jamir.
Google wave José Dihego Rafael Carício Rafael Bernardo
A autoria - II.
Arquitetura Cliente /Servidor
Sistemas Distribuídos
CoWS: Uma Abordagem de Escrita Colaborativa Multi-Síncrona usando Espaços de Tuplas para Ambientes Móveis Berthonio Lucena Flávio Rocha.
Otimizando sua TI, maximizando seus negócios
Marshal Dictionary Alessandro de Luna AlmeidaAlessandro de Luna Almeida Igor Azevedo SampaioIgor Azevedo Sampaio Mozart de Siqueira Campos Araújo FilhoMozart.
Sistemas de Gerenciamento de Educação a Distância Prof. Silvia Helena Cardoso Prof. Renato M. E. Sabbatini.
Luiz Antonio Torres, Maio/2014
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
Sistemas Distribuídos
S ISTEMAS O PERACIONAIS Prof. André Aparecido da Silva.
O primeiro passo para a nuvem
Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.
Plano de Produto Fusion ECM Suite
Sistemas Distribuídos
Sistemas de Gerenciamento de Educação a Distância Prof. Silvia Helena Cardoso Prof. Renato M. E. Sabbatini.
FERRAMENTAS DE GERENCIAMENTO Aula 01
Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. DriversRNF: O código deve ser escrito na linguagem C. Descrição O sistema legado.
Equipe ADA Recife, 2003 Projeto de Desenvolvimento de Software Profs. Hermano Perrelli e Jacques Robin MARCO ZERO Equipe ADA Francisco De A. M. Valadares.
Google Wave (Arquitetura) Ademir Junior / Felipe Ferreira / Fernando Kakimoto.
Ferramentas de Manipulação de Ontologias (Protégé)
Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. Drivers RNF: O MCTCore deve ser escrito em C. RNF: O MCTAlarms deve exibir os.
Aguilar Figueira Dias Orientador Prof. Dr. João Bosco da Mota Alves
Abr-17 Projetar Processos Projetar distribuição.
ZK RIA com ZK Framework.
Computação Móvel e Embarcada ANDRÉ GUSTAVO DEGAF UCHÔA DISCIPLINA: ENG. DE SOFTWARE PROF: ALCIDES CALSAVARA & EDSON SCALABRIN.
Capítulo 8: Implementando SAD orientado a grupo
Capítulo 6: SAD – Arquitetura e aspectos de rede e segurança
CloudSim Um framework para modelagem e simulação de infraestrutura e serviços de Computação em Nuvem.
Daniel Epstein. O que é o GOOGLE WAVE Como funciona Nomenclatura Principais APIs Principais Extensões Robots Gadgets Embed API Sumário.
Pergaminho a robust library system Grupo: André Felipe de Melo (afpm) Bernardo Reis (bfrs) Leyla Manoella de Lima (lmmrl) Thiago Henrique da Paz (thfp)
Introdução aos Sistemas Operacionais
AJAX Alunos: Heloísa de Souza Glória Laís de Oliveira Souza
Wi-Fi Information Service Ademir José de Carvalho Junior Felipe Cavalcanti Ferreira.
Equipe Danilo Miguel Elias Lacerda Felipe Riguete Henderson Garcia
Sistemas Distribuídos Nadilma Nunes Aula Inicial – Apresentação da disciplina.
1PSL – UFLA - EspecializaçãoJunier Amorim – Eng. Computação Sistema Gerenciador de Componentes para Reuso - SGCR -
Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.
Engenharia de Software com o RUP - Workflow de Requisitos
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus.
ARQUITETURA WEB SERVICE TGM
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Leandro Clementino Almeida.  Anos 50 - Sistemas Operacionais tipo Lote:  Aumentar a capacidade de processamento de programas  Usuário ia ao computador.
Desenvolvimento WEB II Ajax – Utilização de Frameworks Javascript Professora: Kelly de Paula Cunha.
Sistema de Arquivos Distribuídos (SAD)- Características Serviços de nomes e diretórios Prof. Dr. Norian Marranghello Grupo 13 Guilherme Eberhart Jorge.
Crie sua aplicação A melhor eficiência no processo de inventário e o aumento da velocidade na identificação dos itens da cadeia de abastecimento, da criação.
Transcrição da apresentação:

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

Email World

Wave “Universe”

Características[1] Lista de usuários Chats colaborativos, grupais/privados Pós-editaveis Playback exibe história do conteúdo Albuns(imagens, vídeos) Sincronização automática atômica(caracter a caracter, foto a foto) Identificação pontual autor-edição

Características[2] Troca de conteúdos entre waves (albuns, chats) Desenvolvido usando Google Web Toolkit

Dispositivos Mobile (Android) Desktop Palmtop

Extensions Check spelling Gadgets Games (xadrez, Sudoku Puzzle) Google maps Vídeos Youtube Integração com blogs Pool wave Twitter wave Bugzila wave Inside translate ... (entre outras)

Requisitos Criar uma nova wave Adicionar/remover participantes Editar contéudo(vídeo,fotos,texto) Edição de conteudo intregada ao google search Share media, discussion groups, blogs, games Sincronização de todos os tipos de media

Requisitos Não-funcionais Usabilidade: Sistema com interface intuitiva, drag-and-drop para usuários, documentos e widgets; Os usuários não devem precisar de mais de 3 cliques para realizar uma operação. Extensibilidade: Extensível a novas funcionalidades (widgets e robots); Deve-se possibilitar a criação e deployment do novo plugin em tempo de execução (sem necessidade de reiniciar o servidor).

Requisitos Não-funcionais Portabilidade: Deve ser possível acessar o sistema com o uso de dispositivos móveis (celulares, tablets) com acesso a internet. Disponibilidade: O sistema deve estar disponível 99,999% do tempo, pois poderá ser de utilização crítica para uma organização cliente.

Requisitos Não-funcionais Tolerante a falhas: Deve retornar ao ar automaticamente quando algum erro ocorrer. Escalabilidade: O sistema deve ser distribuído em diversas máquinas. Segurança: Permitir comunicação segura entre os provedores de wave. Ter controle de acesso dentro dos wavelets.

Requisitos Não-funcionais Independência de plataforma: As tecnologias utilizadas no desenvolvimento do sistema deve estar disponível para uso em Linux, Windows e Mac OSX. Isso permitirá aos providers escolherem qual sistema operacional desejam utilizar. Descentralização: As partes do sistema (providers) devem funcionar de forma independente. Desempenho: O sistema não deve demorar mais que 3 segundos para carregar uma tela.

Diagrama de componentes OhCircus specication Diagramas Diagrama de componentes OhCircus specication

Google Wave Architecture Rafael Jacinto, adicionar o tipo de comunicação com o banco 14

Componentes e conectores

Módulo

Open Local Wave

Open Local Wave - Gadget

Open Remote Wave

Implantação

Modelo de dados

Decisões Arquiteturais Linguagem para o Backend- Java Prós: Independente de plataforma, Grande aceitação na comunidade, Portabilidade. Contra: Desempenho. Requisitos afetados: Portabilidade, Independência de plataforma,

Decisões Arquiteturais Utilização de Java + Flex para implementação do Frontend. Prós: Flexibilidade nas interfaces gráficas e menor tempo de desenvolvimento. Alternativa: Ajax Requisitos afetados: Usabilidade, Extensibilidade, Portabilidade.

Decisões Arquiteturais Utilização do protocolo Jabber/XMPP Prós: Comunicação descentralizada. Vários servidores são utilizados para a comunicação entre diversas entidades. Não há um ponto central de falha. Permite chamadas de voz e vídeo, colaboração, integrações, distribuição de conteúdo e roteamento de dados XML. Permite autenticação e checagem de integridade. Requisitos afetados: Descentralização, Tolerante a falhas, Escalabilidade, Segurança.

Decisões Arquiteturais Utilização do Transport Layer Security (TLS) Prós: Permite o estabelecimento de uma conexão segura entre um "cliente e um servidor". Assegura que a comunicação não é alterada em trânsito. Requisitos afetados: Segurança.

Decisões Arquiteturais Não-utilização de um banco de dados distribuído e não-relacional (BigTable like) Prós: Permite facilmente evolução do sistema (mudança do esquema dos dados), rápida manipulação de dados e replicação de dados é automática quando definidos os clusters. Contras: Tecnologia nova (revisão dos conceitos de armazenamento de dados existentes), Adaptação de bibliotecas de terceiros para acesso a os dados armazenados. Sistemas em desenvolvimento e com problemas de ponto de falha graves (centralização). Não existe garantia de integridade de dados (propriedades ACID). Requisitos afetados: Escalabilidade, Tolerância a falha, Descentralizado, Disponibilidade.

Decisões Arquiteturais Utilização de banco de dados relacional Prós: Garantia das propriedades ACID (Atomicity, Consistency, Isolation, Durability), rápido acesso e manipulação de dados, tecnologia madura e amplamente utilizada. Contras: Difício configuração de clusters para replicação de dados, alto custo de manutenção (tempo e dinheiro), evolução de esquema é feita de forma semi-automática ou manual. Requisitos afetados: Escalabilidade, Tolerância a falha, Descentralizado, Disponibilidade.

Decisões Arquiteturais Escolha do RDBMS: Escolha entre os RDBMS mais utilizados pelo mercado: MySQL: Velocidade de manipulação de dados, possibilidade de suporte pela empresa que criou (pago). PostgreSQL Muitos plugins para domínios específicos como Data Warehousing e Geo. Escolhido MySQL: Acesso aos dados é um requisito crítico do sistema.

Obrigado!