Google Wave (Arquitetura) Ademir Junior / Felipe Ferreira / Fernando Kakimoto.

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de Sistemas
Advertisements

Sistemas Distribuídos
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
UML Visões – Parte 2.
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
Sistemas Distribuídos:Definições e Caracteristicas
Docente: Cláudia Seabra.
Motor de Armazenamento
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
Transações Atômicas Distribuídas
Transações Atômicas Distribuídas
Sistemas Operacionais
Professora: Aline Vasconcelos
Sistemas Distribuídos
Conceitos Básicos Dado: fato do mundo real que está registrado e possui um significado implícito no contexto de um domínio de aplicação Exemplos: endereço,
Editores Colaborativos
O processo de coletar os requisitos (escopo do cliente)
Sistemas Prof. Carlos Padovani.
Prof. Alexander Roberto Valdameri
Fundamentos de Banco de Dados Prof. Alexander Roberto Valdameri
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Ferramentas e Tecnologias III
Performance em aplicações web – Parte I
Integração de Produto Marleson Filipe.
Classes e objetos Modelagem
S ISTEMA O DIN Egio Arruda Junior. S ISTEMA O DIN - I NTRODUÇÃO Requisitos; Visão Geral; Visão Cliente; Visão Servidor; Instanciando o Odin; Discussão.
Tecnologia de Informática
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.
Estratégias Cliente-Servidor para SIGWeb
Adicionando Escalabilidade ao Framework de Recomendação IRF
Google wave José Dihego Rafael Carício Rafael Bernardo
Sistemas Distribuídos
Adicionando Escalabilidade ao Framework de Recomendação Idealize
Google wave José Dihego Rafael Carício Rafael Bernardo
Arquitetura Cliente /Servidor
Marshal Dictionary Alessandro de Luna AlmeidaAlessandro de Luna Almeida Igor Azevedo SampaioIgor Azevedo Sampaio Mozart de Siqueira Campos Araújo FilhoMozart.
Controle de concorrência
NoSQL colunas Jairo Tiburtino dos Santos.
SISTEMAS DISTRIBUÍDOS Transações Atômicas
Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.
Automação de Testes de Software
Teste.
ANÁLISE E DESENVOLVIMENTO DO COMPONENTE DE UPLOAD DE ARQUIVOS DO E -PRAZO Aluno: Robson Cristian Tomaz Pereira Orientador: Charles Christian Miers Supervisor:
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.
Servidor Cliente Cache 1 Cliente Cache 2 A,B A B A? A A A A,B Exemplo: Cache simples.
Seminário CI303 Lucas Nascimento Ferreira. Data sharing service: Propriedades Persistência Independentemente da aplicação Permitir o reutilização dos.
Documento de Visão do Data WareHouse
Abr-17 Projetar Processos Projetar distribuição.
Infra-Estrutura para Computação Distribuída
FORMI Integrating Adaptive Fragments Objects into Java RMI Kapitza, Rüdiger; Domaschka, Jörg; Hauck, Franz J.; Reiser, Hans P. ;Schmidt, Holger. IEEE Distributed.
Daniel Epstein. O que é o GOOGLE WAVE Como funciona Nomenclatura Principais APIs Principais Extensões Robots Gadgets Embed API Sumário.
 São métodos formais de tornar disponíveis para a administração, quando oportuno, as informações necessárias para facilitar o processo de tomada de decisão.
Análise e Projeto de Sistemas
Bancos de Dados Fundamentos Prof. Marcos R. Cardoso.
Introdução aos Sistemas Operacionais
Sistema Almirante Gabriel Junji Ito Giuliano Diego Barbarra.
Serviços de rede e internet Jackson Eduardo da Silva.
Projeto e Implementação de Sistemas de Arquivos
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Servidores.
Arquitetura de computadores
UCSal – Bacharelado em Informática
IESolutions Intelligent Enterprise Solutions CESAR – Centro de Estudos e Sistemas Avançados de Recife ATAM.
ARQUITETURA WEB SERVICE TGM
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
Projetar Processos. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar distribuição | 2 Descrição do Projeto.
Leandro Clementino Almeida.  Anos 50 - Sistemas Operacionais tipo Lote:  Aumentar a capacidade de processamento de programas  Usuário ia ao computador.
Mail++.  Objetivo ◦ Adicionar novas funcionalidades a um servidor de  Servidor de JES ◦ Implementado em Java ◦ Apenas funcionalidades.
Sistema de Arquivos Distribuídos (SAD)- Características Serviços de nomes e diretórios Prof. Dr. Norian Marranghello Grupo 13 Guilherme Eberhart Jorge.
Modelos de Sistema Prof. Dr. Norian Marranghello Grupo 6 Fábio Hitoshi Ide Gilson Watanabe.
Arquitetura Google Wave
Transcrição da apresentação:

Google Wave (Arquitetura) Ademir Junior / Felipe Ferreira / Fernando Kakimoto

Visão de Implantação

Interfaces do Sistema

Visão Física  Cliente  Composto apenas pela máquina do usuário

Visão Lógica  Cliente

Visão Física  Provider

Disponibilidade do Serviço  Decisão  Como garantir que o serviço fique disponível mesmo em situações de falha ou de grande demanda  Restrição  Sistema deve ficar disponível 99% do tempo

Disponibilidade do Serviço  Alternativas  Replicação/Redundância  Uso de múltiplas instâncias com balanceamento de carga entre as instâncias  Servidor de Ponta dedicado  Uso de um servidor de alto desempenho dedicado  Efeitos  Custo da solução através da aquisição de equipamentos adicionais  Expectativa do usuário em relação ao tempo de resposta no uso do sistema

Armazenamento de Dados  Decisão  Correspondente à forma como os dados (waves e informações de usuários) serão persistidos no sistema  Restrições  Quando um dado é atualizado, este deve estar imediatamente disponível à todos os usuários  O sistema deverá permanecer disponível mesmo em caso de falhas e atualizações  O sistema será desenvolvido em Java

Armazenamento de Dados  Alternativas  Cassandra:  Agrupa tecnologias do Dynamo  Modelo de dados do Bigtable  Eventually Consistent  Hbase  Implementação open-source do Bigtable  Sub-projeto do Apache Hadoop  Desenvolvido em Java

Armazenamento de Dados  Alternativas (Cont.)  Hypertable  Implementação open-source do Bigtable  Pode ser integrado a diversos sistemas de arquivos  Desenvolvido em C++  Efeitos  Utilização de uma instância do Hadoop Distributed File System  Servidores para rodar os componentes do Hbase

Visão Lógica  Front-End

Visão Lógica  Server

Controle de Concorrência  Decisão  Resolução de conflitos durante a edição colaborativa de uma wave/wavelet por mais de um usuário ativo ao mesmo tempo.  Restrições  Consistência: todos os usuários ativos deverão estar com a versão atualizada do documento.  Performance: baixa latência nas atualizações dos dados.

Controle de Concorrência  Restrições (Cont.)  Disponibilidade: o documento deve estar disponível mesmo em caso de conflito.  Cliente Otimista: cliente sempre assume que o servidor aceitou a atualização dos dados.  Controle de versão dos documentos para o uso do play back.

Controle de Concorrência  Alternativas  Controle de concorrência Otimista  Não bloqueia os recursos (lock-free).  Modificações dos usuários são desfeitas em caso de conflito.  Lock  Para fazer qualquer modificação é necessário adquirir um lock do objeto.  Demora muito no tempo de resposta.  Perigo de deadlock.

Controle de Concorrência  Alternativas (Cont.)  Timestamps  Método não baseado em lock.  Transações executadas pela ordem de timestamp.  Problema na consistência dos dados.  Transformações operacionais (OT)  Framework de controle de concorrência (lock-free).  Suporte a edição colaborativa de documentos de texto simples.  Capacidade de resolução de conflito.  Edição de documentos de forma estruturada em XML.

Controle de Concorrência  Efeitos  A escolha de transformações operacionais (OT) como controle de concorrência não terá nenhum impacto nos requisitos dos stakeholders.

Sequência – Visualizar Wave

Sequência – Atualizar Wave

Sequência – Atualizar Wave Remota

Google Wave (Arquitetura) Ademir Junior / Felipe Ferreira / Fernando Kakimoto