SlideShare uma empresa Scribd logo
1 de 21
Copyright © 2016 Janynne Gomes 1
Módulo 1: Fundamentos da Computação Móvel
Aula: Arquiteturas de aplicações
móveis
Desenvolvimento para Dispositivos Móveis
Copyright © 2016 Janynne Gomes 2
Janynne Gomes
● Bacharel em Sistemas de Informação
● Pós graduando Engenharia de Software e Gerência de
Projetos
● Professora de programação mobile na ETEIT – Escola
Técnica da Univale – http://univale.br/eteit
● Site: http://janynnegomes.com
● E-mail: janynne.gomes@univale.br
Desenvolvimento para Dispositivos Móveis
Copyright © 2016 Janynne Gomes 3
● Cronograma de aulas do módulo 1
● Semana 1
– Aula: Evolução da Computação Móvel (2 h/a)
– Aula: Características dos dispositivos móveis (2 h/a)
●
Semana 2
– Aula: Exercícios em sala sobre aulas 1 e 2 (2 h/a)
– Aula: Arquiteturas de aplicações móveis (2 h/a)
–
●
Semana 3
– Aula: Introdução ao Android (2 h/a)
– Aula: Introdução ao Java (2 h/a)
● Duração: 12 h/a
Módulo 1: Fundamentos da Computação Móvel
Copyright © 2016 Janynne Gomes 4
●
Leituras Sugeridas no módulo 1
●
LEE, VALENTINO;Aplicações móveis: arquitetura projeto e
desenvolvimento. Tradução: Amaury Bentes & Deborah Rüdiger;
revisão técnica: Renato Haddad. São Paulo, Pearson Education
do Brasil, 2005. ISBN sbn 85-346-1540-3 1.
●
BERNAL, Paulo Sérgio M.Comunicações móveis: tecnologias e
aplicações. São Paulo: Érica, c2002. 204 p. ISBN 8571948984
Módulo 1: Fundamentos da Computação Móvel
Copyright © 2016 Janynne Gomes 5
●
Conteúdo da aula
– Arquitetura
●
Cliente Servidor
– Em camadas
– Em filas
●
Cliente
– Cliente Magro
– Cliente Gordo
– Hospedagem de página web
●
Servidor
– 1 fila
– 2 filas
– 3 filas
Aula: Arquiteturas de aplicações móveis
Copyright © 2016 Janynne Gomes 6
●
Arquiteturas de aplicação
– São modelagens que ilustram o layout total do software (Ex.:
código e plataforma) e o hardware (Ex.: cliente, servidor,
dispositivos de rede).
Aula: Arquiteturas de aplicações móveis
Copyright © 2016 Janynne Gomes 7
●
Arquitetura : Cliente Servidor
– Um ou mais dispositivos clientes solicitam informações a um
servidor;
– Comunicação em camadas e filas.
Aula: Arquiteturas de aplicações móveis
Copyright © 2016 Janynne Gomes 8
●
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: Apresentação, Negócios e Acesso a dados.
●
Os clientes podem ser magros ou gordos:
– Clientes Magros: Não possuem camada com código personalizado da
aplicação, todo o código fica no servidor.
– Clientes magros: Possuem um ou mais camadas localmente.
Aula: Arquiteturas de aplicações móveis
Copyright © 2016 Janynne Gomes 9
●
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.
Aula: Arquiteturas de aplicações móveis
Copyright © 2016 Janynne Gomes 10
●
Exemplo de Arquitetura Cliente Servidor em Camadas
Aula: Arquiteturas de aplicações móveis
Cenário
Um empresa deseja criar um aplicativo e
disponibiliza-lo para várias plataformas mobile.
Ela contrata um servidor web que armazena
toda a regra de negócios e a base de dados.
A camada de apresentação é codiificada para
cada sistema operacional mobile desejado e
consome a regra de negócios em comum
hospedadas no servidor.
Copyright © 2016 Janynne Gomes 11
●
Exemplo de Arquitetura Cliente Servidor em Camadas
Aula: Arquiteturas de aplicações móveis
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.
Servidorcom2camadas
Clientecom1camada
Copyright © 2016 Janynne Gomes 12
●
Arquitetura : Cliente Servidor
– Em filas
●
Dividem o trabalho de código da
aplicação em diversas máquinas.
– 1ª fila: Apresentação
– 2ª fila: Aplicação (Negócios e
Acesso a dados)
– 3ª fila: Base de dados
●
Permitem criar aplicações
escaláveis.
Aula: Arquiteturas de aplicações móveis
Copyright © 2016 Janynne Gomes 13
●
Exemplo de Arquitetura Cliente Servidor em Filas
Aula: Arquiteturas de aplicações móveis
Cenário
Estamos na Black Friday e livraria Saraiva 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.
Copyright © 2016 Janynne Gomes 14
●
Arquitetura : Clientes
– Clientes magros
●
Não possuem código personalizado na aplicação, dependem 100% do servidor.
●
Funcionam em qualquer sistema operacional.
●
Geralmente acessíveis através de navegadores web.
– Clientes Gordos
●
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.
– Hospedagem de página web
●
Disponibilizam um servidor web no dispositivo
●
Possuem as 3 camadas de código.
Aula: Arquiteturas de aplicações móveis
Copyright © 2016 Janynne Gomes 15
● Arquitetura : Clientes
Aula: Arquiteturas de aplicações móveis
Clientes magros
●
Independem do
sistema operacional
e do dispositivo.
●
Conhecidos como
aplicativos Web
Apps.
Clientes gordos
●
Dependem
diretamente do
sistema operacional e
do dispositivo.
●
Conhecidos como
Aplicativos Nativos
●
Alguns podem ser
considerados
Aplicativos hibridos.
Hospedagem Web
●
Dependem
parcialmente do
sistema operacional
e do dispositivo.
Copyright © 2016 Janynne Gomes 16
● Arquitetura : Clientes
Aula: Arquiteturas de aplicações móveis
Clientes magros Clientes gordos Hospedagem Web
Copyright © 2016 Janynne Gomes 17
●
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.
Aula: Arquiteturas de aplicações móveis
Copyright © 2016 Janynne Gomes 18
● Arquitetura : Servidor
Aula: Arquiteturas de aplicações móveis
1 fila
●
Vantagem
– Rápido de desenvolver e
implantar.
●
Desvantagem
– Dificil lidar com a
segurança da aplicação
– Menos escalável
Copyright © 2016 Janynne Gomes 19
● Arquitetura : Servidor
Aula: Arquiteturas de aplicações móveis
2 filas
●
Vantagem
– Permite escolher outro
local para armazenamento
de dados
●
Desvantagem
– Mais caro
– Menos escalável
– Dificil lidar com a
segurança da aplicação
Copyright © 2016 Janynne Gomes 20
● Arquitetura : Servidor
Aula: Arquiteturas de aplicações móveis
3 filas
●
Vantagem
– Escalável
– Protegida por Firewalls
●
Desvantagem
– Mais caro
– Mais dificil de ser
gerenciada
– Mais cara
Copyright © 2016 Janynne Gomes 21
●
Referências
– LEE, VALENTINO;Aplicações móveis: arquitetura projeto e
desenvolvimento. Tradução: Amaury Bentes & Deborah Rüdiger;
revisão técnica: Renato Haddad. São Paulo, Pearson Education
do Brasil, 2005. ISBN sbn 85-346-1540-3 1. Páginas 23 a 67.
–
Aula: Arquiteturas de aplicações móveis

Mais conteúdo relacionado

Mais procurados

Dispositivos móveis: Conceito, história e mercado
Dispositivos móveis: Conceito, história e mercadoDispositivos móveis: Conceito, história e mercado
Dispositivos móveis: Conceito, história e mercadoDanilo Filitto
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao AndroidJanynne Gomes
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional AndroidLucas Damasceno
 
Desenvolvimento Mobile
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento MobileElton Minetto
 
Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)Ricardo Longa
 
Sistema Operativo WINDOWS
Sistema Operativo WINDOWSSistema Operativo WINDOWS
Sistema Operativo WINDOWSDaniel Barros
 
Informática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsInformática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsJoeldson Costa Damasceno
 
Evolução dos sistemas operativos
Evolução dos sistemas operativosEvolução dos sistemas operativos
Evolução dos sistemas operativosMarioalmeida_10
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Sérgio Souza Costa
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de RequisitosCloves da Rocha
 

Mais procurados (20)

Dispositivos móveis: Conceito, história e mercado
Dispositivos móveis: Conceito, história e mercadoDispositivos móveis: Conceito, história e mercado
Dispositivos móveis: Conceito, história e mercado
 
Dispositivos móveis
Dispositivos móveisDispositivos móveis
Dispositivos móveis
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Linguagem Dart (Google)
Linguagem Dart (Google)Linguagem Dart (Google)
Linguagem Dart (Google)
 
Android
Android Android
Android
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
Desenvolvimento Mobile
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento Mobile
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)Android - Programação para dispositivos móveis (Aula 1)
Android - Programação para dispositivos móveis (Aula 1)
 
Android
AndroidAndroid
Android
 
Sistema Operativo WINDOWS
Sistema Operativo WINDOWSSistema Operativo WINDOWS
Sistema Operativo WINDOWS
 
Informática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsInformática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional Windows
 
Evolução dos sistemas operativos
Evolução dos sistemas operativosEvolução dos sistemas operativos
Evolução dos sistemas operativos
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
 
Android
AndroidAndroid
Android
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Android Aula 1
Android Aula 1Android Aula 1
Android Aula 1
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 

Destaque

Apostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiulaApostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiulaDaniel Silveira
 
Aula: Resources ( Parte 2)
Aula: Resources ( Parte 2)Aula: Resources ( Parte 2)
Aula: Resources ( Parte 2)Janynne Gomes
 
Tipos de Aplicações Móveis
Tipos de Aplicações MóveisTipos de Aplicações Móveis
Tipos de Aplicações MóveisNeilor Caldeira
 
Dispositivos Móveis - Mobile
Dispositivos Móveis - MobileDispositivos Móveis - Mobile
Dispositivos Móveis - Mobileruirodas
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo OliveiraRonildo Oliveira
 
Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?Rudson Lima
 
Aula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidorAula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidorMarlon CP
 
Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Valdeir Frizzera
 
03 arquitetura-cliente-servidor
03   arquitetura-cliente-servidor03   arquitetura-cliente-servidor
03 arquitetura-cliente-servidorConcurseira Le
 
Banco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlBanco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlAdail Viana Neto
 
Uso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento VarejoUso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento VarejoMatheus Nani
 
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...eneck
 
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarArquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarCleber Fonseca
 

Destaque (20)

Apostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiulaApostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiula
 
Aula: Resources ( Parte 2)
Aula: Resources ( Parte 2)Aula: Resources ( Parte 2)
Aula: Resources ( Parte 2)
 
Tipos de Aplicações Móveis
Tipos de Aplicações MóveisTipos de Aplicações Móveis
Tipos de Aplicações Móveis
 
Dispositivos Móveis - Mobile
Dispositivos Móveis - MobileDispositivos Móveis - Mobile
Dispositivos Móveis - Mobile
 
Programação em Camadas - Iniciantes
Programação em Camadas - IniciantesProgramação em Camadas - Iniciantes
Programação em Camadas - Iniciantes
 
Modelo de Camadas
Modelo de CamadasModelo de Camadas
Modelo de Camadas
 
Aula - Activity
Aula  -  ActivityAula  -  Activity
Aula - Activity
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
 
Conhecendo android
Conhecendo androidConhecendo android
Conhecendo android
 
Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?
 
Android - Parte 8
Android - Parte 8Android - Parte 8
Android - Parte 8
 
Pre projeto ufrr
Pre projeto ufrrPre projeto ufrr
Pre projeto ufrr
 
Aula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidorAula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidor
 
Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.
 
03 arquitetura-cliente-servidor
03   arquitetura-cliente-servidor03   arquitetura-cliente-servidor
03 arquitetura-cliente-servidor
 
Banco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlBanco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySql
 
Arquitetura de Sofware
Arquitetura de SofwareArquitetura de Sofware
Arquitetura de Sofware
 
Uso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento VarejoUso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento Varejo
 
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
 
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarArquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
 

Semelhante a Aula - Arquiteturas de aplicações móveis

Semelhante a Aula - Arquiteturas de aplicações móveis (20)

Aula 06 projetos multimídia
Aula 06   projetos multimídiaAula 06   projetos multimídia
Aula 06 projetos multimídia
 
Aula 06 projetos multimídia
Aula 06   projetos multimídiaAula 06   projetos multimídia
Aula 06 projetos multimídia
 
Engenharia Web
Engenharia WebEngenharia Web
Engenharia Web
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de Microservicos
 
Joana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático wwwJoana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático www
 
Miguel CV Atualizado.docx
Miguel CV Atualizado.docxMiguel CV Atualizado.docx
Miguel CV Atualizado.docx
 
Apresentacao infgest 2
Apresentacao infgest 2Apresentacao infgest 2
Apresentacao infgest 2
 
Apresentacao infgest 2
Apresentacao infgest 2Apresentacao infgest 2
Apresentacao infgest 2
 
Project Time
Project TimeProject Time
Project Time
 
DDD
DDDDDD
DDD
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
ES - 02
ES - 02ES - 02
ES - 02
 
Aula 5 - SAM - Projetos
Aula 5 - SAM - ProjetosAula 5 - SAM - Projetos
Aula 5 - SAM - Projetos
 
Desafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma AndroidDesafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma Android
 
Java Web, o Tutorial
Java Web, o TutorialJava Web, o Tutorial
Java Web, o Tutorial
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidor
 
Curriculo christiane abril13
Curriculo christiane abril13Curriculo christiane abril13
Curriculo christiane abril13
 
Introdução ao 12 Factors APP
Introdução ao 12 Factors APPIntrodução ao 12 Factors APP
Introdução ao 12 Factors APP
 
Go global para Windows
Go global para WindowsGo global para Windows
Go global para Windows
 
Modelagem de sistemas da informação – aula 03 mai2011
Modelagem de sistemas da informação – aula 03 mai2011Modelagem de sistemas da informação – aula 03 mai2011
Modelagem de sistemas da informação – aula 03 mai2011
 

Mais de Janynne Gomes

Aula: Resources ( Parte 1)
Aula: Resources ( Parte 1)Aula: Resources ( Parte 1)
Aula: Resources ( Parte 1)Janynne Gomes
 
Aula - Gerenciadores de layout
Aula - Gerenciadores de layoutAula - Gerenciadores de layout
Aula - Gerenciadores de layoutJanynne Gomes
 
Palestra: Desenvolvendo apps Android
Palestra: Desenvolvendo apps AndroidPalestra: Desenvolvendo apps Android
Palestra: Desenvolvendo apps AndroidJanynne Gomes
 
Aula: Memória Humana e Atenção dentro da IHM
Aula: Memória Humana e Atenção dentro da IHMAula: Memória Humana e Atenção dentro da IHM
Aula: Memória Humana e Atenção dentro da IHMJanynne Gomes
 
Aula: Fatores Humanos e Interatividade na IHM
Aula: Fatores Humanos e Interatividade na IHMAula: Fatores Humanos e Interatividade na IHM
Aula: Fatores Humanos e Interatividade na IHMJanynne Gomes
 
Aula: Princípios de design de interfaces
Aula: Princípios de design de interfacesAula: Princípios de design de interfaces
Aula: Princípios de design de interfacesJanynne Gomes
 
Aula: Tendência das interfaces
Aula: Tendência das interfacesAula: Tendência das interfaces
Aula: Tendência das interfacesJanynne Gomes
 
Aula: Tipos de Interface
Aula: Tipos de InterfaceAula: Tipos de Interface
Aula: Tipos de InterfaceJanynne Gomes
 
Aula: Gerações de interfaces
Aula: Gerações de interfacesAula: Gerações de interfaces
Aula: Gerações de interfacesJanynne Gomes
 
Aula: Estudo sobre usuários dentro da IHM
Aula: Estudo sobre usuários dentro da IHMAula: Estudo sobre usuários dentro da IHM
Aula: Estudo sobre usuários dentro da IHMJanynne Gomes
 
Aula: Evolução das interfaces
Aula: Evolução das interfacesAula: Evolução das interfaces
Aula: Evolução das interfacesJanynne Gomes
 
Emocao e Computacao Afetiva
Emocao e Computacao AfetivaEmocao e Computacao Afetiva
Emocao e Computacao AfetivaJanynne Gomes
 
Lógica de Programação - Estruturas de Seleção
Lógica de Programação - Estruturas de SeleçãoLógica de Programação - Estruturas de Seleção
Lógica de Programação - Estruturas de SeleçãoJanynne Gomes
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de DadosJanynne Gomes
 
Estruturas de decisão
Estruturas de decisãoEstruturas de decisão
Estruturas de decisãoJanynne Gomes
 
Palestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalhoPalestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalhoJanynne Gomes
 
Maria faz bagunça - Uma história contada por Steve e escrita pela mamãe
Maria faz bagunça - Uma história contada por Steve e escrita pela mamãeMaria faz bagunça - Uma história contada por Steve e escrita pela mamãe
Maria faz bagunça - Uma história contada por Steve e escrita pela mamãeJanynne Gomes
 
Aula 6 - Prototipação de telas
Aula 6 - Prototipação de telasAula 6 - Prototipação de telas
Aula 6 - Prototipação de telasJanynne Gomes
 
Aula 5 - Dicionário de Dados
Aula 5 - Dicionário de DadosAula 5 - Dicionário de Dados
Aula 5 - Dicionário de DadosJanynne Gomes
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)Janynne Gomes
 

Mais de Janynne Gomes (20)

Aula: Resources ( Parte 1)
Aula: Resources ( Parte 1)Aula: Resources ( Parte 1)
Aula: Resources ( Parte 1)
 
Aula - Gerenciadores de layout
Aula - Gerenciadores de layoutAula - Gerenciadores de layout
Aula - Gerenciadores de layout
 
Palestra: Desenvolvendo apps Android
Palestra: Desenvolvendo apps AndroidPalestra: Desenvolvendo apps Android
Palestra: Desenvolvendo apps Android
 
Aula: Memória Humana e Atenção dentro da IHM
Aula: Memória Humana e Atenção dentro da IHMAula: Memória Humana e Atenção dentro da IHM
Aula: Memória Humana e Atenção dentro da IHM
 
Aula: Fatores Humanos e Interatividade na IHM
Aula: Fatores Humanos e Interatividade na IHMAula: Fatores Humanos e Interatividade na IHM
Aula: Fatores Humanos e Interatividade na IHM
 
Aula: Princípios de design de interfaces
Aula: Princípios de design de interfacesAula: Princípios de design de interfaces
Aula: Princípios de design de interfaces
 
Aula: Tendência das interfaces
Aula: Tendência das interfacesAula: Tendência das interfaces
Aula: Tendência das interfaces
 
Aula: Tipos de Interface
Aula: Tipos de InterfaceAula: Tipos de Interface
Aula: Tipos de Interface
 
Aula: Gerações de interfaces
Aula: Gerações de interfacesAula: Gerações de interfaces
Aula: Gerações de interfaces
 
Aula: Estudo sobre usuários dentro da IHM
Aula: Estudo sobre usuários dentro da IHMAula: Estudo sobre usuários dentro da IHM
Aula: Estudo sobre usuários dentro da IHM
 
Aula: Evolução das interfaces
Aula: Evolução das interfacesAula: Evolução das interfaces
Aula: Evolução das interfaces
 
Emocao e Computacao Afetiva
Emocao e Computacao AfetivaEmocao e Computacao Afetiva
Emocao e Computacao Afetiva
 
Lógica de Programação - Estruturas de Seleção
Lógica de Programação - Estruturas de SeleçãoLógica de Programação - Estruturas de Seleção
Lógica de Programação - Estruturas de Seleção
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de Dados
 
Estruturas de decisão
Estruturas de decisãoEstruturas de decisão
Estruturas de decisão
 
Palestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalhoPalestra: Desafios do desenvolvedor no mercado de trabalho
Palestra: Desafios do desenvolvedor no mercado de trabalho
 
Maria faz bagunça - Uma história contada por Steve e escrita pela mamãe
Maria faz bagunça - Uma história contada por Steve e escrita pela mamãeMaria faz bagunça - Uma história contada por Steve e escrita pela mamãe
Maria faz bagunça - Uma história contada por Steve e escrita pela mamãe
 
Aula 6 - Prototipação de telas
Aula 6 - Prototipação de telasAula 6 - Prototipação de telas
Aula 6 - Prototipação de telas
 
Aula 5 - Dicionário de Dados
Aula 5 - Dicionário de DadosAula 5 - Dicionário de Dados
Aula 5 - Dicionário de Dados
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
 

Aula - Arquiteturas de aplicações móveis

  • 1. Copyright © 2016 Janynne Gomes 1 Módulo 1: Fundamentos da Computação Móvel Aula: Arquiteturas de aplicações móveis Desenvolvimento para Dispositivos Móveis
  • 2. Copyright © 2016 Janynne Gomes 2 Janynne Gomes ● Bacharel em Sistemas de Informação ● Pós graduando Engenharia de Software e Gerência de Projetos ● Professora de programação mobile na ETEIT – Escola Técnica da Univale – http://univale.br/eteit ● Site: http://janynnegomes.com ● E-mail: janynne.gomes@univale.br Desenvolvimento para Dispositivos Móveis
  • 3. Copyright © 2016 Janynne Gomes 3 ● Cronograma de aulas do módulo 1 ● Semana 1 – Aula: Evolução da Computação Móvel (2 h/a) – Aula: Características dos dispositivos móveis (2 h/a) ● Semana 2 – Aula: Exercícios em sala sobre aulas 1 e 2 (2 h/a) – Aula: Arquiteturas de aplicações móveis (2 h/a) – ● Semana 3 – Aula: Introdução ao Android (2 h/a) – Aula: Introdução ao Java (2 h/a) ● Duração: 12 h/a Módulo 1: Fundamentos da Computação Móvel
  • 4. Copyright © 2016 Janynne Gomes 4 ● Leituras Sugeridas no módulo 1 ● LEE, VALENTINO;Aplicações móveis: arquitetura projeto e desenvolvimento. Tradução: Amaury Bentes & Deborah Rüdiger; revisão técnica: Renato Haddad. São Paulo, Pearson Education do Brasil, 2005. ISBN sbn 85-346-1540-3 1. ● BERNAL, Paulo Sérgio M.Comunicações móveis: tecnologias e aplicações. São Paulo: Érica, c2002. 204 p. ISBN 8571948984 Módulo 1: Fundamentos da Computação Móvel
  • 5. Copyright © 2016 Janynne Gomes 5 ● Conteúdo da aula – Arquitetura ● Cliente Servidor – Em camadas – Em filas ● Cliente – Cliente Magro – Cliente Gordo – Hospedagem de página web ● Servidor – 1 fila – 2 filas – 3 filas Aula: Arquiteturas de aplicações móveis
  • 6. Copyright © 2016 Janynne Gomes 6 ● Arquiteturas de aplicação – São modelagens que ilustram o layout total do software (Ex.: código e plataforma) e o hardware (Ex.: cliente, servidor, dispositivos de rede). Aula: Arquiteturas de aplicações móveis
  • 7. Copyright © 2016 Janynne Gomes 7 ● Arquitetura : Cliente Servidor – Um ou mais dispositivos clientes solicitam informações a um servidor; – Comunicação em camadas e filas. Aula: Arquiteturas de aplicações móveis
  • 8. Copyright © 2016 Janynne Gomes 8 ● 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: Apresentação, Negócios e Acesso a dados. ● Os clientes podem ser magros ou gordos: – Clientes Magros: Não possuem camada com código personalizado da aplicação, todo o código fica no servidor. – Clientes magros: Possuem um ou mais camadas localmente. Aula: Arquiteturas de aplicações móveis
  • 9. Copyright © 2016 Janynne Gomes 9 ● 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. Aula: Arquiteturas de aplicações móveis
  • 10. Copyright © 2016 Janynne Gomes 10 ● Exemplo de Arquitetura Cliente Servidor em Camadas Aula: Arquiteturas de aplicações móveis Cenário Um empresa deseja criar um aplicativo e disponibiliza-lo para várias plataformas mobile. Ela contrata um servidor web que armazena toda a regra de negócios e a base de dados. A camada de apresentação é codiificada para cada sistema operacional mobile desejado e consome a regra de negócios em comum hospedadas no servidor.
  • 11. Copyright © 2016 Janynne Gomes 11 ● Exemplo de Arquitetura Cliente Servidor em Camadas Aula: Arquiteturas de aplicações móveis 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. Servidorcom2camadas Clientecom1camada
  • 12. Copyright © 2016 Janynne Gomes 12 ● Arquitetura : Cliente Servidor – Em filas ● Dividem o trabalho de código da aplicação em diversas máquinas. – 1ª fila: Apresentação – 2ª fila: Aplicação (Negócios e Acesso a dados) – 3ª fila: Base de dados ● Permitem criar aplicações escaláveis. Aula: Arquiteturas de aplicações móveis
  • 13. Copyright © 2016 Janynne Gomes 13 ● Exemplo de Arquitetura Cliente Servidor em Filas Aula: Arquiteturas de aplicações móveis Cenário Estamos na Black Friday e livraria Saraiva 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.
  • 14. Copyright © 2016 Janynne Gomes 14 ● Arquitetura : Clientes – Clientes magros ● Não possuem código personalizado na aplicação, dependem 100% do servidor. ● Funcionam em qualquer sistema operacional. ● Geralmente acessíveis através de navegadores web. – Clientes Gordos ● 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. – Hospedagem de página web ● Disponibilizam um servidor web no dispositivo ● Possuem as 3 camadas de código. Aula: Arquiteturas de aplicações móveis
  • 15. Copyright © 2016 Janynne Gomes 15 ● Arquitetura : Clientes Aula: Arquiteturas de aplicações móveis Clientes magros ● Independem do sistema operacional e do dispositivo. ● Conhecidos como aplicativos Web Apps. Clientes gordos ● Dependem diretamente do sistema operacional e do dispositivo. ● Conhecidos como Aplicativos Nativos ● Alguns podem ser considerados Aplicativos hibridos. Hospedagem Web ● Dependem parcialmente do sistema operacional e do dispositivo.
  • 16. Copyright © 2016 Janynne Gomes 16 ● Arquitetura : Clientes Aula: Arquiteturas de aplicações móveis Clientes magros Clientes gordos Hospedagem Web
  • 17. Copyright © 2016 Janynne Gomes 17 ● 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. Aula: Arquiteturas de aplicações móveis
  • 18. Copyright © 2016 Janynne Gomes 18 ● Arquitetura : Servidor Aula: Arquiteturas de aplicações móveis 1 fila ● Vantagem – Rápido de desenvolver e implantar. ● Desvantagem – Dificil lidar com a segurança da aplicação – Menos escalável
  • 19. Copyright © 2016 Janynne Gomes 19 ● Arquitetura : Servidor Aula: Arquiteturas de aplicações móveis 2 filas ● Vantagem – Permite escolher outro local para armazenamento de dados ● Desvantagem – Mais caro – Menos escalável – Dificil lidar com a segurança da aplicação
  • 20. Copyright © 2016 Janynne Gomes 20 ● Arquitetura : Servidor Aula: Arquiteturas de aplicações móveis 3 filas ● Vantagem – Escalável – Protegida por Firewalls ● Desvantagem – Mais caro – Mais dificil de ser gerenciada – Mais cara
  • 21. Copyright © 2016 Janynne Gomes 21 ● Referências – LEE, VALENTINO;Aplicações móveis: arquitetura projeto e desenvolvimento. Tradução: Amaury Bentes & Deborah Rüdiger; revisão técnica: Renato Haddad. São Paulo, Pearson Education do Brasil, 2005. ISBN sbn 85-346-1540-3 1. Páginas 23 a 67. – Aula: Arquiteturas de aplicações móveis

Notas do Editor

  1. <number>
  2. <number>
  3. <number>
  4. <number>
  5. Ver arquivo aula 2 <number>
  6. <number>
  7. <number>
  8. <number>
  9. <number>
  10. <number>
  11. <number>
  12. <number>
  13. <number>
  14. <number>
  15. <number>
  16. <number>
  17. <number>
  18. <number>
  19. <number>
  20. <number>
  21. <number>