Buscar

2. CM - Arquitectura de Aplicações Moveis


Continue navegando


Prévia do material em texto

Computação Móvel 
Arquitectura de Aplicações Moveis
Docente: Ruben Manhiça
Maputo, 4 de maio de 2023
INSTITUTO SUPERIOR DE CIENCIAS E TECNOLOGIA 
DE MOÇAMBIQUE
Escola Superior de Informática
Licenciatura em Engenharia Informática
(Extraido de: Capitulo 4: Mobile Applications/Architecture, Design and Development
V. Lee, H.Schneider, R. Schell)
Conteúdo da Aula
1. Tipos de Clientes;
2. Tipos de Servidores;
3. Tipos de Sincronização
5/4/2023 Notas da aula de Computação Móvel 2
Introdução
• Vamos rever vários padrões arquiteturais interessantes e 
descrever por que eles são úteis como soluções gerais de 
arquitetura de aplicativos móveis.
• A arquitetura cliente / servidor (e suas variantes) é 
frequentemente adotada para aplicativos moveis.
• No entanto, temos que levar em consideração alguns aspectos 
específicos relacionados aos dispositivos móveis (clientes) e 
sua conectividade com os servidores.
5/4/2023 Notas da aula de Computação Móvel 3
Clientes
• Existem muitos tipos de dispositivos móveis, 
incluindo dispositivos telefones celulares, PDAs, 
Tablet
PCs e computadores portáteis.
• Esses dispositivos móveis normalmente podem 
operar como thin clients ou fat clients, ou 
podem ser desenvolvidos para hospedar páginas 
da web.
• descrevemos esses tipos de clientes em mais 
detalhes.
5/4/2023 Notas da aula de Computação Móvel 4
Thin Clients
• Thin clients não têm código de aplicativo personalizado e 
confiam completamente no servidor para sua funcionalidade.
• Eles não dependem muito do sistema operativo do dispositivo 
móvel ou do tipo de dispositivo móvel como fat clients.
• Os thin clients normalmente usam navegadores da Web e WAP 
(protocolo de aplicativo sem fio) amplamente disponíveis para 
exibir os seguintes tipos de páginas de conteúdo de aplicativos:
• ً ً ً Web (html, xml)
• Wap (wml,..)
5/4/2023 Notas da aula de Computação Móvel 5
Thin clients
5/4/2023 Notas da aula de Computação Móvel 6
Fat clients
• Fat clients normalmente têm de uma a três camadas de código de 
aplicação neles e podem operar independentemente de um 
servidor por algum período de tempo.
• Normalmente, Fat clients são mais úteis em situações em que a 
comunicação entre um cliente e um servidor não pode ser 
garantida.
• Por exemplo, um aplicativo Fat clients pode aceitar entrada do 
usuário e armazenar dados em um banco de dados local até que a 
conectividade com o servidor seja restabelecida e os dados 
possam ser movidos para o servidor.
• Isso permite que um usuário continue trabalhando, mesmo se ele 
estiver fora de contato com o servidor.
5/4/2023 Notas da aula de Computação Móvel 7
Fat clients
• Fat clients dependem fortemente do sistema operativo e do tipo 
de dispositivo móvel, e o código pode ser difícil de ser 
distribuído.
• Também pode ter que suportar várias versões de código em 
vários dispositivos
• Fat clients podem ser implementados usando uma, duas ou três 
camadas de código de aplicativo.
• No entanto, se usar apenas uma camada, será extremamente 
difícil isolar as áreas individuais da funcionalidade e reutilizar e 
distribuir o código em vários tipos de dispositivos.
5/4/2023 Notas da aula de Computação Móvel 8
Web page Hosting
• É possível exibir e prestar serviços de manutenção a páginas 
da Web no dispositivo móvel mesmo quando o cliente móvel é 
conectado somente periodicamente aos sistemas da rede e do 
back-end.
• Para fazer isso, precisamos do equivalente a um servidor web 
"mini" no dispositivo móvel
5/4/2023 Notas da aula de Computação Móvel 9
Fat Client – Uma Camada
5/4/2023 Notas da aula de Computação Móvel 10
Fat Client – Duas Camadas
5/4/2023 Notas da aula de Computação Móvel 11
Fat Client – Tres Camadas
5/4/2023 Notas da aula de Computação Móvel 12
Web Page hosting – Uma Camada
5/4/2023 Notas da aula de Computação Móvel 13
Web Page hosting – Duas Camadas
5/4/2023 Notas da aula de Computação Móvel 14
Web Page hosting –Tres Camadas
5/4/2023 Notas da aula de Computação Móvel 15
Servidores
• As arquiteturas de servidor são geralmente compostas de uma 
a três camadas de código implementadas em uma a três 
camadas.
• Existem Prós e Contras para os três tipos diferentes de 
arquitetura de servidor.
5/4/2023 Notas da aula de Computação Móvel 16
One-Tier Server architecture
5/4/2023 Notas da aula de Computação Móvel 17
One-Tier Server architecture
• Pros
• Muito conveniente
• Mais rapida para desenvolver
• Cons
• Pouco escalavel
• Muito dificil de tornar segura
5/4/2023 Notas da aula de Computação Móvel 18
Two-Tiers Server architecture
5/4/2023 Notas da aula de Computação Móvel 19
Two-Tiers Server architecture
• Pros
• Conveniente
• Permite especialização com Bases de Dados
• Cons
• Pouco Escalavel
• Dificil de implementar segurança
• Mais cara
5/4/2023 Notas da aula de Computação Móvel 20
Three-Tiers Server architecture
5/4/2023 Notas da aula de Computação Móvel 21
Three-Tiers Server architecture
• Pros
• Escalavel
• Segurança atraves de firewalls
• Permite especialização de servidores de Base de Dados
• Cons
• Exagero
• Mais difícil de desenvolver
• Mais difícil de gerenciar
• Mais caro
5/4/2023 Notas da aula de Computação Móvel 22
Tipos de Conexão
• Dispositivos móveis normalmente operam em 
um dos três modos: 
– parcialmente conectado,
– nunca conectado
– sempre conectado,
5/4/2023 Notas da aula de Computação Móvel 23
Sempre conectado
• Um dispositivo móvel, como um telefone celular, normalmente 
opera em um modo sempre conectado.
• Uma empresa pode ter uma rede sem fio e um conjunto de 
aplicativos e servidores que permitem que os funcionários se 
conectem e usem seus dispositivos móveis enquanto estiverem 
nas instalações da empresa.
• Dispositivos móveis, como PDAs, Tablet PCs e laptops, se 
tornam extensões das aplicações existentes e da infraestrutura, 
permitindo que os usuários possam estar sempre conectados 
aos aplicativos enquanto se movimentam livremente pelo 
escritório.
5/4/2023 Notas da aula de Computação Móvel 24
Parcialmente Conectado
• Há muitos cenários em que o dispositivo móvel está realmente 
fora de contato por longos períodos de tempo.
• Por exemplo, um funcionário de escritório móvel pode se 
conectar periodicamente a um servidor no escritório para obter 
e-mail, informações de contato ou tarefas a serem realizadas.
• O trabalhador então desconecta o dispositivo móvel e executa 
suas tarefas normais fora do escritório, durante o qual ele pode 
se referir às informações baixadas.
• O usuário também pode atualizar as informações localmente 
em seu dispositivo móvel antes de se reconectar 
posteriormente para ressincronizar o dispositivo móvel com o 
servidor.
5/4/2023 Notas da aula de Computação Móvel 25
Nunca Conectado
• Existem também vários dispositivos móveis que nunca se 
conectam a sistemas de back-end, como certos dispositivos de 
jogos.
• Não é um caso interessante para nós.
5/4/2023 Notas da aula de Computação Móvel 26
Sincronização
• O tipo de conexão afecta a maneira como pode sincronizar 
dados entre o dispositivo móvel e os sistemas de back-end.
• A sincronização é possível de duas maneiras: continuamente ou 
por meio de um método de armazenamento e encaminhamento
5/4/2023 Notas da aula de Computação Móvel 27
Comunicação Contínua
• Quando a conectividade entre o cliente e o 
servidor é contínua, a sincronização de 
dados entre o cliente e o servidor é contínua 
e pode ser obtida através de meios síncronos 
ou assíncronos
5/4/2023 Notas da aula de Computação Móvel 28
Comunicação Contínua
5/4/2023 Notas da aula de Computação Móvel 29
Sincronização Armazenar e 
encaminhar
• Quando a conectividade entre um cliente e um servidor não 
pode ser garantida, ainda é possível armazenar e transmitir 
informações com segurança usando um método chamado 
"armazenar e encaminhar".
• Suponha, por exemplo, que um usuário móvel deseje inserirdados enquanto seu dispositivo móvel não estiver conectado a 
um servidor. Um aplicativo cliente móvel pode armazenar 
inicialmente os dados em um dado local.
• Posteriormente, quando uma conexão tiver sido estabelecida, o 
aplicativo móvel encaminhará os dados do banco de dados 
local para o banco de dados no servidor
5/4/2023 Notas da aula de Computação Móvel 30
Sincronização Armazenar e 
encaminhar
5/4/2023 Notas da aula de Computação Móvel 31
TPC
• Trazer exemplos dos 3 aplicações Fat e 3 thin no MS Teams até
proxima segunda-feira
• Caso de Estudo: ODK (Open Data Kit) – Estudar como funciona
o ODK (Explicar como funciona a sincronização de Dados 
Assincrona e Sincrona
• Enviar por e-mail, um resumo do funcionamento do ODK e 
como ele pode operar de forma Sincrona e Assincrona
5/4/2023 Notas da aula de Computação Móvel 32
FIM!!!
Duvidas e Questões?
	Slide 1: Computação Móvel 
	Slide 2: Conteúdo da Aula
	Slide 3: Introdução
	Slide 4: Clientes
	Slide 5: Thin Clients
	Slide 6: Thin clients
	Slide 7: Fat clients
	Slide 8: Fat clients
	Slide 9: Web page Hosting
	Slide 10: Fat Client – Uma Camada
	Slide 11: Fat Client – Duas Camadas
	Slide 12: Fat Client – Tres Camadas
	Slide 13: Web Page hosting – Uma Camada
	Slide 14: Web Page hosting – Duas Camadas
	Slide 15: Web Page hosting –Tres Camadas
	Slide 16: Servidores
	Slide 17: One-Tier Server architecture
	Slide 18: One-Tier Server architecture
	Slide 19: Two-Tiers Server architecture
	Slide 20: Two-Tiers Server architecture
	Slide 21: Three-Tiers Server architecture
	Slide 22: Three-Tiers Server architecture
	Slide 23: Tipos de Conexão
	Slide 24: Sempre conectado
	Slide 25: Parcialmente Conectado
	Slide 26: Nunca Conectado
	Slide 27: Sincronização
	Slide 28: Comunicação Contínua
	Slide 29: Comunicação Contínua
	Slide 30: Sincronização Armazenar e encaminhar
	Slide 31: Sincronização Armazenar e encaminhar
	Slide 32: TPC
	Slide 33: FIM!!!