Alert Dialog. There are unsaved changes. What would you like to do? Cancel. Rails Standalone

Documentos relacionados
Luiz Arão Araújo Carvalho Bacharel em Ciência da Computação Desenvolvedor RedeSat-TO

Guia de Instalação do SPSS LICENÇA LOCAL

Entendendo Rails. Fabio Akita Surgeworks Brazil Rails Practice Manager

Tutorial de instalação do ambiente Ruby, Ruby on Rails e MySQL no Ubuntu

Tutorial Básico. Instalando e testando o Ruby on Rails no Windows

Sumário. Parte I Introdução Introdução O Rails é ágil Explorando o conteúdo Agradecimentos... 19

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

Centro Universitário Metodista Benne1 Rio de Janeiro, Dezembro de Rafael Polo e Sabrina Arêas

Backup com Bacula. 05 de Março de Ponto de Presença da RNP no Espírito Santo. Sobre o Bacula. Comandos de console Interface Web.

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

Controle de Versão com GIT

Entre os VCS s, podemos sitar o Mercurial, Subversion, CVS, Git dentre outros. E é do Git que vamos falar hoje.

Manual de introdução de Bomgar B300v

Procedimentos para Configuração de Redirecionamento de Portas

Tutorial: Instalação Completa

INTRODUÇÃO. HowTO: How TO: Exclaimer Cloud Signatures for Office 365

1º passo: Instalando a rvm.

Aplicativo de inicialização rápida Novell Filr Mobile

Passando pelas Camadas TCP/IP Transmissão de Dados

Como Pesquisar na Internet? 1. Acesse o Internet Explorer ; 2. Acesse algum endereço de pesquisa, tal como:

Amostras e guias de iniciação Versão 8 Edição 0. Guia de iniciação do Hiring Sample para o IBM Process Designer

Como migrar de outras ferramentas de gestão de referência para o Mendeley. Como migrar do RefWorks para Mendeley

Monitorando o Canal da Piracema com software livre. Gustavo Valiati

2. Principais diferenças da versão megadmx Windows e versão megadmx MAC OS X

Manual de Instalação: Agente do OCS Inventory NG

Sophos SafeGuard Disk Encryption

Alertas por utilizando SMTP autenticado

Ruby. Simplicidade e produtividade

MANUAL DO USUÁRIO. AssetView FDT. AssetView FDT

Escrito por Daniel Donda Seg, 24 de Janeiro de :02 - Última atualização Seg, 24 de Janeiro de :08

Guia de Instalação. NSi AutoStore TM 6.0

Definir um site com o Adobe Dreamweaver

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

MANUAL DE CONFIGURAÇÃO -ZIMBRA- Ajuda na configuração e utilização do cliente de correio eletrónico

Configuração de VLAN s entre DFL-210 e DGS-3024 (com DHCP Server)

Instalando e Configurando o DNS Server

O que é o DigaaiDATAVERSE?

Introdução à Computação. Conceitos básicos sobre computadores. ISEP DEI, Angelo Martins 2006 Conceitos básicos sobre computadores - 1

Rails & Javascript Faça isso direito! Dicas de como organizar o javascript em apps Rails não SPA

Instalando e Configurando o DNS Server

II Semana de Tecnologia da Informação. Rails Framework

Projecto Integrador. Introdução ao REST. Material de suporte às aulas de Proj. Integrador (Nuno Preguiça) Copyright DI FCT/ UNL / 1

Escrito por Lisiane Batista Neitzke Qui, 13 de Outubro de :11 - Última atualização Seg, 30 de Março de :38

Como acompanhar a evolução dos aplicativos? Console >> Desktop >> Web >> Mobile >> Cloud. Como aproveitar o melhor de cada programador?

Ativação padrão Factory Talk, via Internet

PORTAL DE ATENDIMENTO Manual do Usuário VERSÃO 2.0

BuCo. Graphical web billing tool

Projecto Integrador. Introdução ao REST. Material de suporte às aulas de Proj. Integrador (Nuno Preguiça) Copyright DI FCT/ UNL / 1

Casa do Código Livros para o programador Rua Vergueiro, º andar Vila Mariana São Paulo SP Brasil

Guia do Usuário do Aplicativo Web

GERIR REFERÊNCIAS BIBLIOGRÁFICAS com o software Mendeley. Bibliotecas da Universidade de Aveiro

Guia para atualização de Firmware dos consoles CL5, CL3 e CL1. (Firmware 1.51)

ESUS SAMU V INSTRUÇÕES PARA INSTALAÇÃO

Sistema Integrado de Gerenciamento ARTESP. MANUAL DO USUÁRIO - SIGA Extranet GRD e Projetos. MANUAL DO USUÁRIO SIGA EXTRANET GRD e Projetos

V1.1 SITE EM UM SITE 11/2015 MINUTOS APRENDA A PROGRAMAR IMAGINE FAZER O SEU PRIMEIRO PROGRAMA EM 180 SEGUNDOS

MANUAL DO USUÁRIO. SISTEMA CONTÁBIL WEB versão: GA2.0.5

Certifique-se de que lê estas informações antes de utilizar o CD Title Catcher. Gravar dados de álbum do Sistema de Navegação HDD para um SD Card

Manual de Introdução da Bomgar B100

Introdução ao Sistema. Características

Citar e referenciar: gestores de referências bibliográficas. Isabel Marcos Direção de Serviços de Documentação Universidade Aberta Junho de 2015

Utilização do console WEB do DokCT-e. [Version 17/01/2013]

Introduçao Ao Microsoft Dynamics Ax

Simples, rápido e eficaz. A partir de agora, você conta com duas opções para realizar a entrega do seu Portfólio: Google Docs e o upload de arquivos.

Dados de exibição rápida. Versão R9. Português

AUTODESK CERTIFIED USER. Guia para realização de provas na plataforma Certiport

Instalação BibliotecaRM/Procedimento (título ilustrativo, não é preciso colocar)

Compartilhamento on-line 2.0. Nokia N76-1

Instruções de atualização do mapa

Guia para atualização de Firmware dos consoles CL5, CL3 e CL1. (Firmware 1.61)

Gerenciador de Conteúdo Magellan 2.0

PROJETO CEMEA. Um trabalho educacional

Integração com Joomla

LICENCIAMENTO MICROSOFT NÍVEL 1. Flávia Alves Cardoso

Secure Client. Manual do Usuário. IPNv2. Secure Client IPNv2

Curso de Análise e Desenvolvimento de Sistemas Senac Pelotas Php Nuke

Web. Professor: Rodrigo Alves Sarmento

Atualização de computadores para Windows 10 ATUALIZAÇÃO SIMPLES. Windows10. Disponível para os seguintes modelos: CCE AIO A41, A45 e D4030TV.

VRMLWorld Manual e Guia de exploração do VRMLWorld para utilização em contexto de Educação Visual e Tecnológica currículo.

Conheça a mais nova aplicação para profissionais GIS: ArcGIS Pro. Caio Victer

SugarCRM, Integração com Produtos IPBrick iportalmais

KINDERGATE PARENTAL CONTROL. Internet Parental Control e Estatísticas

O que é SciVerse ScienceDirect?

Sistema Gerador de Anúncios para Compra e Venda On-line. Leandro de Oliveira ol.leandro@gmail.com

ALFRESCO 4.0. Primeiros Passos

Manual de Instalação e Configuração do GeoServer em Servidores LINUX

Consultas a banco de dados no ArcView

Manual Corrigindo Erros de Conexão SQL Server. FullCopyConvert Data

Google Drive. Passos. Configurando o Google Drive

INTRODUÇÃO AO DESENVOLVIMENTO DE JOGOS COM LIBGDX. Vinícius Barreto de Sousa Neto

Contamos também com dois telefones de Suporte um para o SAV-Representantes e outro para o SAV-Clientes:

Programação Web Aula 8 - Rails (Introdução)

Este tutorial está publicado originalmente em

Manual de configuração e operação GXP2100/2110/2120

DotNetNuke. Gestão de Conteúdos. Módulos - II. Inserção de conteúdos nos módulos. Módulo de Text/HTML. Módulo de Sre-Notícias. Módulo de Sre-Formação

Servidor de Mapas Introdução Autores: prof. Dr. Carlos Augusto Mattei Faggin, Eunice Barbosa, Ricardo S. Nader e Edgar Spilla. Data: nov.

INSTRUÇÕES DE USO. Versão: 1.0 Data:

Utilizando subversion como controle de versão

Transcrição:

Alert Dialog There are unsaved changes What would you like to do? Don't Save Cancel Save Rails Standalone Rails como aplicação desktop por Fabio Akita - 2007 Surgeworks Brazil Rails Practice Manager

Obs. Software inacabado Discussão de idéias e conceitos

Por quê? Força de Vendas Suporte e manutenção Coleta de Dados Regiões sem cobertura Quiosques

Requerimentos Internet Cliente Offline O usuário precisa trabalhar offline Servidor Online A aplicação precisa ser atualizada Os dados precisam ser sincronizados

Problema 1 Offline

Ruby2Exe EXE Ruby Tar App Ruby em Tar Tar com bootstrap

Ruby2Exe Problemas Descompacta em dir. temporário Não tem interface de cliente Suporte genérico a Ruby (não a Rails) Melhor para apps. menores

Joyent

Slingshot Interface de Usuário (Mac e Win) Encapsulamento de Apps. Ruby Suporte a Rails (Mongrel) Agora Open Source

Estrutura

Aplicação

Mongrel

Embedded Browser

GUI

Slingshot Sua aplicação Rails GUI Gems Ruby

Problema 2 Atualização

Open Source

Open Source

Subversion

Problema 3 Sincronização

Usuário 1 ID Name Age Usuário 2 ID Name Age Servidor ID Name Age

Usuário 1 ID Name Age 1 David 25 Usuário 2 ID Name Age Servidor ID Name Age

Usuário 1 ID Name Age 1 David 25 Usuário 2 ID Name Age 1 Steve 55 Servidor ID Name Age

Usuário 1 ID Name Age 1 David 25 Usuário 2 ID Name Age 1 Steve 55 Servidor ID Name Age 1 David 25 1 Steve 55

Usuário 1 ID Name Age 1 David 25 Usuário 2 ID Name Age 1 Steve 55 Servidor ID Name Age 1 David 25 1 Steve 55

Google Gears Sincronização servidor-cliente Não é replicação bi-direcional Melhor para apps. tipo Readers Melhor como cache offline

Problemas Primary Keys sequenciais Rastreamento Identificação Comunicação Transferência de dados

Alex MacCaw

Acts As Syncable Primary Keys sequenciais Rastreamento Identificação Comunicação Transferência de dados

Primary Keys gem install uuidtools >> UUID.timestamp_create().to_s => "7030ef1c-4c60-11dc-861f-0016cbcc6803"

UUID 128-bits 1 trilhão de UUIDs / 1 nanoseg. por 10 bilhões de anos RFC 4122 - (Version 4 - Random Numbers) Risco de Duplicar: levar um meteorito na cabeça

Usuário 1 ID Name Age 7030ef1c-4c60-11dc-861f-0016cbcc6803 David 25 Usuário 2 ID Name Age 0886defc-4c61-11dc-861f-0016cbcc6803 Steve 55 Servidor ID Name Age 7030ef1c-4c60-11dc-861f-0016cbcc6803 David 25 0886defc-4c61-11dc-861f-0016cbcc6803 Steve 55

Slingshot Rastreamento

Rastreamento

Polymorphic Association

Polymorphic Association

Post id Title Comments id post_id Comment Syncs crud id type deleted_id

Post id Title 1000 New Post Comments id post_id Comment Syncs crud id type deleted_id create 1000 Post

Post id Title 1000 New Post Comments id post_id Comment 2000 1000 Hello World! Syncs crud id type deleted_id create 1000 Post create 2000 Comment

Post id Title 1000 New Post Comments id post_id Comment 2000 1000 Hello World! 2010 1000 Hello Again! Syncs crud id type deleted_id create 1000 Post create 2000 Comment create 2010 Comment

Post id Title 1000 Editing Title Comments id post_id Comment 2000 1000 Hello World! 2010 1000 Hello Again! Syncs crud id type deleted_id create 1000 Post create 2000 Comment create 2010 Comment update 1000 Post

Post id Title 1000 Editing Title Comments id post_id Comment 2010 1000 Hello Again! Syncs crud id type deleted_id create 1000 Post create 2000 Comment create 2010 Comment update 1000 Post destroy 2000 Comment 2000

Post id Title 1000 Editing Title Comments id post_id Comment 2010 1000 Hello! Syncs crud id type deleted_id create 1000 Post create 2000 Comment create 2010 Comment update 1000 Post destroy 2000 Comment 2000 update 2010 Comment

Identificação

UserStamp

Comunicação

Comunicação

Transferência de Dados

Processo

GET /syncs/handshake.yaml Handshake

Handshake GET /syncs/handshake.yaml session_id challenge_key

Handshake GET /syncs/handshake.yaml session_id challenge_key POST /syncs/handshake.yaml?client_id=&challenge_response=

Handshake GET /syncs/handshake.yaml session_id challenge_key POST /syncs/handshake.yaml?client_id=&challenge_response= 99/99/9999T99:99:99

Download GET /syncs/handshake.yaml session_id challenge_key POST /syncs/handshake.yaml?client_id=&challenge_response= 99/99/9999T99:99:99 POST /syncs/down.yaml&for_when=9999-99-99t99:99:99-99:99

Download GET /syncs/handshake.yaml session_id challenge_key POST /syncs/handshake.yaml?client_id=&challenge_response= 99/99/9999T99:99:99 POST /syncs/down.yaml&for_when=9999-99-99t99:99:99-99:99 <YAML::Object>

Upload GET /syncs/handshake.yaml session_id challenge_key POST /syncs/handshake.yaml?client_id=&challenge_response= 99/99/9999T99:99:99 POST /syncs/down.yaml&for_when=9999-99-99t99:99:99-99:99 POST /syncs/up.yaml?syncs=<yaml::object> <YAML::Object>

Requerimentos Internet Cliente Offline Servidor Online O usuário precisa trabalhar offline A aplicação precisa ser atualizada Os dados precisam ser sincronizados

Solução Internet Cliente Offline Servidor Online O usuário precisa trabalhar offline Joyent Slingshot A aplicação precisa ser atualizada Os dados precisam ser sincronizados

Solução Internet Cliente Offline Servidor Online O usuário precisa trabalhar offline Joyent Slingshot A aplicação precisa ser atualizada Subversion Client Os dados precisam ser sincronizados

Solução Internet Cliente Offline O usuário precisa trabalhar offline Joyent Slingshot A aplicação precisa ser atualizada Subversion Client Os dados precisam ser sincronizados Acts As Replica Servidor Online

Perguntas? www.akitaonrails.com code.google.com/p/actsasreplica

Obrigado!