Programação para Dispositivos Móveis

Documentos relacionados
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -ARQUITETURAS DE APLICAÇÃO MÓVEL. Prof. Angelo Augusto Frozza, M.Sc.

Sistema de webconferência Mconf. Sessão 3

Programação para Dispositivos Móveis

Estratégias Móveis. O que toda empresa precisa saber

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Processos ca 3 pítulo

SISTEMAS DISTRIBUÍDOS ARQUITETURAS. Slides cedidos pela Professora Aline Nascimento

Aula 5 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MULTI PLAYER. Marcelo Henrique dos Santos

O que é um sistema distribuído?

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos

Bancos de Dados Distribuídos. Bancos de Dados Distribuídos. Conteúdo. Motivação. Motivação. Introdução aos BDs Distribuídos.

Aplicações com Banco de Dados e Cliente-Servidor

Backup Armazenamento Compartilhamento. Nuvem

Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos

Introdução a Computação em Nuvem

ORGANIZANDO DADOS E INFORMAÇÕES: Bancos de Dados

Curso online de Aplicações. Híbridas. Plano de Estudo

Sistema Operacional. Prof. Leonardo Barreto Campos. 1/30

Introdução a Computação em Nuvem

Sistemas Operacionais. Sistema de entrada e Saída

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Bancos de Dados Distribuídos

Sistemas Distribuídos

Vamos fazer um pequeno experimento

Arquiteturas. capítulo

Microsoft Office 365 Acesso ao , calendário e contatos

Manual do Aplicativo de Configuração

Informática. Cloud Computing e Storage. Professor Márcio Hunecke.

Apps na prática 1 Aviso Legal: Este material foi produzido e desenvolvido pela Fábrica de Aplicativos S.A para o curso presencial e online.

Introdução à Programação para Dispositivos Móveis

SISTEMA OPERACIONAL WINDOWS PHONE

5 Infraestrutura de TI

Arquitetura de sistemas distribuídos

Manual. do Cliente. Aplicativo Web

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado

Nuvem e Virtualização Redes Programáveis

EA975 - Laboratório de Engenharia de Software

software as a service (saas) e service-oriented architecture (soa)

Apresentação da Disciplina e Fundamentos da Computação Móvel

EasyAzure. EasyAzure. Guia do programa. Ingram Micro Brasil. Versão 1.7

Centro de Suporte. (Sistema Android) RCAMail Manual de Utilização Página 1

Guia de Uso - Mobile ID

O CMS JOOMLA! UM GUIA PARA INICIANTES

GASTRONOMIA

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 12 - Threads e Concorrência em Java

Manual do Utilizador. Share Point One Drive

Uma equipe forte: DocuWare e Microsoft Outlook

Engenharia de software distribuído. Artur Sampaio Lívia Castro Degrossi

Laboratório de Mídias Sociais

Capítulo 7. A camada de aplicação

CST em Redes de Computadores

POLÍTICA DE PRIVACIDADE

Dá pra confiar suas senhas ao seu navegador?

Manual de Integração

MANUAL POCKET ANDROID VERSÃO 2.0.A

Manual do Usuário SAGITTA

Manual de Comunicação por Mensagem Privada

Questionário de revisão para AV1 de Informática Aplicada Valor 1,0 ponto - Deverá ser entregue no dia da prova.

Matéria: Sistema Computacional - SC. Prof.: Esp.: Patrícia Dias da Silva Peixoto

Conceitos, Arquitetura e Design

Fundamentos de Sistemas Operacionais. Threads. Prof. Edwar Saliba Júnior Março de Unidade Threads

Sistemas Distribuídos Aula 3

Manual migração de contas Gmail para umail

MANUAL DE PROCEDIMENTOS

Soluções em tecnologia da informação que viabilizam implementar uma arquitetura computacional escalável, sólida e confiável em nuvem distribuída.

Arquiteturas para SGBD. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Organização e Arquitetura de Computadores I

Título: BOX-e Funcionalidade e Ativação do serviço.

Outlook Web App (OWA)

A CASA DO SIMULADO DESAFIO QUESTÕES MINISSIMULADO 30/360

Este é o segundo modulo, nele abordaremos os métodos de gerenciamento do Windows Server 2008.

Aula 05. Infraestrutura de TI: hardware e software Pearson. Todos os direitos reservados.

Introdução à Informática

Projeto de Sistemas; Projeto Orientado a Objetos; Estruturação em Camadas; Projeto Orientado a Objetos em Camadas; Um Exemplo Ilustrativo.

Informática. Organização de Arquivos, Pastas e Programas. Professor Márcio Hunecke.

Programação de Sistemas Distribuídos e Concorrência

Sistemas de Informação. Sistemas Operacionais

Transcrição:

Prof. MSc. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br Programação para Dispositivos Móveis Aula - Arquiteturas de Aplicação Móvel Caxias - Ma

Roteiro Arquiteturas de Aplicação Móvel

Arquiteturas de aplicação Definição São comumente modeladas em termos de uma arquitetura Cliente/ Servidor, onde um ou mais dispositivos Clientes solicitam informações a um Servidor.

Roteiro Arquitetura Cliente/ Servidor

Arquitetura : Cliente/ Servidor Características Refere se ao método de distribuição de aplicações computacionais através de muitas plataformas; Tipicamente essas aplicações estão divididas entre um provedor de acesso e uma central de dados e numerosos clientes contendo uma interface gráfica para usuários para acessar e manipular dados.

Arquitetura : Cliente/ Servidor Características Um ou mais dispositivos clientes solicitam informações a um servidor, onde este em geral responde com as informações solicitadas; As arquitetura Cliente Servidor e a Comunicação utilizam: Camadas e Filas. [LEE; SCHNEIDER; & SCHELL, 2005]

Arquitetura : Cliente/ Servidor Em Camadas Divide o trabalho dentro do código, separando as tarefas pertinentes; Separam a lógica da aplicação, comunicação com banco de dados e a interface com o usuário; São elas: [LEE; SCHNEIDER; & SCHELL, 2005]

Arquitetura : Cliente/ Servidor Em Camadas Apresentação: está mais próxima do usuário, é utilizada para exibir a interface com o usuário. Negócios: contém a lógica comercial do software. Acesso a dados: trata a comunicação com o banco de dados.

Arquitetura : Cliente/ Servidor Em Camadas Os clientes também podem ser magros ou gordos: Cliente Magro Um cliente sem camada de código, ou seja, não tem código da aplicação personalizado; Abordagens a, b e c : mais fáceis de gerenciar. Cliente Gordo Servidor armazena todo o código personalizado da aplicação, um cliente com uma a três camadas de código da aplicação; Abordagens d e e : evitar.

Arquitetura : Cliente/ Servidor Prof. MSc. Flávio Barros :: Programação para Dispositivos Móveis

Servidor com 2 camadas Prof. MSc. Flávio Barros :: Programação para Dispositivos Móveis Exemplo de Arquitetura Cliente/ Servidor em Camadas Cliente com 1 camada Coleta o nome do usuário á ser buscado e detecta o clique no botão de busca. Verifica o formato correto da entrada do usuário e aciona a camada de acesso a dados. Realiza a query SQL que corresponde á recuperação de registros da busca.

Arquitetura : Cliente Servidor Em Fila Embora a divisão do código da aplicação em camadas favoreça a reutilização do código, ela não torna a arquitetura escalável; Deve-se distribuir o código entre diversas máquinas; As filas descrevem a divisão de trabalho de código da aplicação em diversas máquinas: 1ª fila: Apresentação; 2ª fila: Aplicação; 3ª fila: Base de dados.

Arquitetura : Cliente Servidor Em Fila 1ª fila: Apresentação O código que interage mais próximo do usuário; 2ª fila: Aplicação Armazena a lógica de negócios da aplicação e a lógica de acesso a dados; 3ª fila: Base de dados Abriga o próprio banco de dados ou origem de dados.

Exemplo de Arquitetura Cliente/ Servidor Empresa na Web faz queima de estoque e está recebendo muitos acessos simultâneos, tem muitos clientes querendo comprar na promoção. O servidor de aplicação não aguenta responder e processar todas as solicitações. Utilizando uma arquitetura escalável, basta subir mais servidores de aplicação para responder as demais solicitações.

Exemplo de Arquitetura Cliente Servidor em Filas

Resumo A capacidade de adicionar mais servidores é denominada escalonamento horizontal (ou scaling out). Já a capacidade de adicionar servidores mais poderosos é denominada escalonamento vertical (scaling up).

Roteiro Arquitetura Cliente

Clientes Magros Características Não possuem código personalizado na aplicação, dependem 100% do servidor; Funcionam em qualquer sistema operacional; Independente de dispositivo; Geralmente acessíveis através de navegadores web; Conhecidos como aplicativos Web Apps.

Clientes Magros Prof. MSc. Flávio Barros :: Programação para Dispositivos Móveis

Arquitetura Cliente Clientes Gordos Dependem diretamente do sistema operacional e do dispositivo; Possuem de uma a três camadas de código; Úteis quando não há garantias de comunicação permanente com o servidor; Armazenam dados localmente até que possam ser sincronizados com um servidor; Conhecidos como Aplicativos Nativos; Alguns podem ser considerados Aplicativos híbridos. [LEE; SCHNEIDER; & SCHELL, 2005]

Arquitetura Cliente Prof. MSc. Flávio Barros :: Programação para Dispositivos Móveis

Arquitetura Cliente Hospedagem de página web Disponibilizam um servidor web no dispositivo; Dependem parcialmente do sistema operacional e do dispositivo; Possuem as 3 camadas de código. [LEE; SCHNEIDER; & SCHELL, 2005]

Roteiro Arquitetura Servidor

Arquitetura Servidor One-tier (1 fila) As 3 camadas de código ficam num mesmo servidor. Two-tier (2 filas) O servidor do banco de dados fica separado do servidor da aplicação. Three-tier ( 3 filas) Os servidores de aplicação, negócios e banco de dados ficam em locais separados.

Arquitetura Servidor One-tier (1 fila) Vantagem Muito conveniente; Rápido de desenvolver e implantar. Desvantagem Menos escalável; Difícil lidar com a segurança da aplicação.

Arquitetura Servidor [LEE; SCHNEIDER; & SCHELL, 2005]

Arquitetura Servidor Two-tier (2 filas) Vantagem Permite escolher outro local para armazenamento de dados. Desvantagem Mais caro; Menos escalável; Difícil lidar com a segurança da aplicação.

Arquitetura Servidor [LEE; SCHNEIDER; & SCHELL, 2005]

Arquitetura Servidor Three-tier ( 3 filas) Vantagem Escalável; Protegida por Firewalls; Permite a especialização de Servidor do Banco de Dados. Desvantagem Mais difícil de ser desenvolvida e gerenciada; Mais cara.

Arquitetura Servidor [LEE; SCHNEIDER; & SCHELL, 2005]

Roteiro Sincronização dos Dispositivos Móveis

Sincronização dos Dispositivos Móveis Fundamentos O tipo de conexão afeta a maneira como se pode sincronizar dados entre o dispositivo móvel e sistemas back-end; A sincronização pode ser efetuada de duas maneiras: Comunicação contínua; Método de Armazenamento e Encaminhamento.

Sincronização dos Dispositivos Móveis Comunicação contínua As sincronizações de dados entre cliente e servidores são contínuas e podem ser Síncrona ou Assíncrona. Síncrona Uma solicitação para armazenar dados é enviada para o servidor e seguida pelos dados a serem armazenados; Os dados são completamente armazenados antes que o servidor confirme o recebimento deles e libere a interface com o cliente.

Sincronização dos Dispositivos Móveis Comunicação contínua Síncrona [LEE; SCHNEIDER; & SCHELL, 2005]

Sincronização dos Dispositivos Móveis Comunicação contínua Assíncrona Uma solicitação para armazenar dados é enviada para o servidor seguida pelo armazenamento de dados; Os dados são colocados em uma área de armazenamento - BD, no servidor; Os dados não precisam ser armazenados completamente antes que o servidor realize a confirmação ao cliente; Quando a solicitação de armazenamento estiver completa, iniciará uma conversa para informar ao cliente que está pronto.

Sincronização dos Dispositivos Móveis Comunicação contínua Assíncrona [LEE; SCHNEIDER; & SCHELL, 2005]

Sincronização dos Dispositivos Móveis Método de Armazenamento e Encaminhamento Fundamentação Quando não se garanti a conectividade entre o cliente e servidor, é possível ainda armazenar e transmitir as informações usando método chamado "Armazenar e Encaminhar". Situação: Usuário móvel queira inserir dados enquanto o seu dispositivo móvel não esteja conectado a um servidor, inicialmente esta aplicação armazena os dados em um BD local. Quando a conexão for estabelecida, a aplicação móvel encaminhará os dados do BD local para o BD no servidor.

Método de Armazenamento e Encaminhamento [LEE; SCHNEIDER; & SCHELL, 2005]

Roteiro Referências

Referências LEE, Valentino; SCHNEIDER, Heather; SCHELL, Robbie. Aplicações Móveis: arquitetura, projeto e desenvolvimento. São Paulo: Pearson Education do Brasil, 2005. AQUINO, Fabíula de. Arquitetura Cliente Servidor. TEIXEIRA, Iury. Tecnologias Móveis.