Mais conteúdo relacionado Semelhante a Aula - Arquiteturas de aplicações móveis (20) Mais de Janynne Gomes (20) Aula - Arquiteturas de aplicações móveis1. 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 <number>
<number>
<number>
<number>
Ver arquivo aula 2
<number>
<number>
<number>
<number>
<number>
<number>
<number>
<number>
<number>
<number>
<number>
<number>
<number>
<number>
<number>
<number>
<number>