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

Aula - Arquiteturas de aplicações móveis

  • 1.
    Copyright © 2016Janynne 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 © 2016Janynne 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 © 2016Janynne 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 © 2016Janynne 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 © 2016Janynne 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 © 2016Janynne 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 © 2016Janynne 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 © 2016Janynne 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 © 2016Janynne 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 © 2016Janynne 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 © 2016Janynne 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 © 2016Janynne 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 © 2016Janynne 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 © 2016Janynne 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 © 2016Janynne 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 © 2016Janynne Gomes 16 ● Arquitetura : Clientes Aula: Arquiteturas de aplicações móveis Clientes magros Clientes gordos Hospedagem Web
  • 17.
    Copyright © 2016Janynne 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 © 2016Janynne 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 © 2016Janynne 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 © 2016Janynne 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 © 2016Janynne 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

  • #2 <number>
  • #3 <number>
  • #4 <number>
  • #5 <number>
  • #6 Ver arquivo aula 2 <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>
  • #22 <number>