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

Sistemas operativos módulo2 - ms dos
Sistemas operativos   módulo2 -  ms dosSistemas operativos   módulo2 -  ms dos
Sistemas operativos módulo2 - ms dos
teacherpereira
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadores
Daniel Moura
 
Introdução a dispositivos móveis.
Introdução a dispositivos móveis.Introdução a dispositivos móveis.
Introdução a dispositivos móveis.
Eduardo Lagares
 
Sistemas operativos 10º
Sistemas operativos 10ºSistemas operativos 10º
Sistemas operativos 10º
teacherpereira
 

Mais procurados (20)

Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas operativos módulo2 - ms dos
Sistemas operativos   módulo2 -  ms dosSistemas operativos   módulo2 -  ms dos
Sistemas operativos módulo2 - ms dos
 
Desenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveisDesenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveis
 
Desenvolvimento Mobile
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento Mobile
 
Aula - Gerenciadores de layout
Aula - Gerenciadores de layoutAula - Gerenciadores de layout
Aula - Gerenciadores de layout
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadores
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Projeto e Desenvolvimento de Software
Projeto e Desenvolvimento de SoftwareProjeto e Desenvolvimento de Software
Projeto e Desenvolvimento de Software
 
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2013
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2013Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2013
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos 2013
 
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...
Palestra Mobilidade - Computação móvel, Dispositivos e Aplicativos (setembro ...
 
Android
Android Android
Android
 
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
 
Aula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - WindowsAula 11 - História dos Sistemas Operacionais - Windows
Aula 11 - História dos Sistemas Operacionais - Windows
 
Introdução a dispositivos móveis.
Introdução a dispositivos móveis.Introdução a dispositivos móveis.
Introdução a dispositivos móveis.
 
So-mod-2
So-mod-2So-mod-2
So-mod-2
 
Sistemas operativos 10º
Sistemas operativos 10ºSistemas operativos 10º
Sistemas operativos 10º
 
Apresentação Windows 8
Apresentação Windows 8Apresentação Windows 8
Apresentação Windows 8
 
Sistema Operativo Open Source
Sistema Operativo Open SourceSistema Operativo Open Source
Sistema Operativo Open Source
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
 
Segurança da informação
Segurança da informaçãoSegurança da informação
Segurança da informação
 

Destaque

Apostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiulaApostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiula
Daniel Silveira
 
Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis
Italo Andrade
 
Tipos de Aplicações Móveis
Tipos de Aplicações MóveisTipos de Aplicações Móveis
Tipos de Aplicações Móveis
Neilor Caldeira
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
Ronildo Oliveira
 

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)
 
Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis Arquitetura de dispositivos móveis
Arquitetura de dispositivos móveis
 
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
 
Dispositivos móveis
Dispositivos móveisDispositivos móveis
Dispositivos móveis
 
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
 

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

Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
Sérgio Souza Costa
 
Aula 06 projetos multimídia
Aula 06   projetos multimídiaAula 06   projetos multimídia
Aula 06 projetos multimídia
Fábio Costa
 
Aula 06 projetos multimídia
Aula 06   projetos multimídiaAula 06   projetos multimídia
Aula 06 projetos multimídia
Fábio Costa
 
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
Joana Costa
 
Apresentacao infgest 2
Apresentacao infgest 2Apresentacao infgest 2
Apresentacao infgest 2
jarg1976
 
Apresentacao infgest 2
Apresentacao infgest 2Apresentacao infgest 2
Apresentacao infgest 2
jarg1976
 
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
Natanael Fonseca
 

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

Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
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
 

Mais de Janynne Gomes

Mais de Janynne Gomes (20)

Aula: Resources ( Parte 1)
Aula: Resources ( Parte 1)Aula: Resources ( Parte 1)
Aula: Resources ( Parte 1)
 
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 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...
 

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>