5/18/23
Sistemas Distribuídos
Prof. Dr. José R. Torres Neto
Estilo arquitetônico
Estilo arquitetônico é determinado por:
◎ Componentes: unidade com interfaces requeridas e fornecidas bem definidas
que é substituível dentro de seu ambiente
◎ Conexões: o modo como os componentes estão ligados
◎ Dados intercambiados: forma da troca dos dados entre componentes
◎ Formas de configuração: maneiras como os componentes são configurados
1
5/18/23
Arquiteturas
a) Arquiteturas em camadas b) Arquiteturas baseadas em objetos
◎ Componentes/objetos conectados por
◎ Componentes interagindo uma chamada de procedimento
hierarquicamente entre remoto
camadas
Arquiteturas
a) Arquiteturas em camadas b) Arquiteturas baseadas em objetos
◎ Componentes/objetos conectados por
◎ Componentes interagindo uma chamada de procedimento
hierarquicamente entre remoto
camadas
2
5/18/23
Arquiteturas de Sistemas
Arquiteturas baseadas em eventos Arquiteturas centrada em dados
◎ Publish/Subscibe: componentes ◎ Componentes utilizam um
publicam eventos para seus repositório de compartilhamento
assinantes de dados
Arquiteturas centralizadas
MODELO CLIENTE-SERVIDOR
Processos são divididos em dois grupos:
o Servidor: processo que implementa um
serviço específico.
o Cliente: processo que requisita um
serviço ao servidor.
Forma de interação: requisição-resposta
3
5/18/23
Arquiteturas centralizadas
ARQUITETURA MODELO CLIENTE-SERVIDOR
Vantagens da arquitetura cliente-servidor:
Centralização do controle, gerenciamento
eficiente de recursos.
Desvantagens da arquitetura cliente-servidor:
Dependência do servidor, possível sobrecarga de
comunicação.
Arquiteturas centralizadas
ARQUITETURA DE CAMADAS DE APLICAÇÃO
Modularidade, abstração,
facilidade de desenvolvimento e manutenção.
À respeito de muitas aplicações e escalabilidade:
o Nível de interface de usuário
o Nível de processamento
o Nível de dados
4
5/18/23
Arquiteturas centralizadas
ARQUITETURA DE CAMADAS DE APLICAÇÃO
o Nível de interface de usuário
Tudo que é necessário para realizar a
interação do usuário com a aplicação.
Arquiteturas centralizadas
ARQUITETURA DE CAMADAS DE APLICAÇÃO
o Nível de processamento
Conjunto relativamente grande de
programas, cada um com capacidades de
processamento bastante simples.
10
10
5
5/18/23
Arquiteturas centralizadas
ARQUITETURA DE CAMADAS DE APLICAÇÃO
o Nível de dados
programas que mantêm os dados
propriamente ditos (persistentes) sobre os
quais as aplicações agem em suas operações.
11
11
Arquiteturas centralizadas
ARQUITETURA MULTIDIVIDIDAS
Da perspectiva de Gerenciamento de Sistema:
o Clientes gordos (fat clients)
o Clientes magros (thin clients)
Arquitetura de duas divisões (físicas):
o A máquina cliente
o A máquina servidora
12
12
6
5/18/23
Arquiteturas centralizadas
ARQUITETURA MULTIDIVIDIDAS
Da perspectiva de Gerenciamento de Sistema:
o Clientes gordos (fat clients)
o Clientes magros (thin clients)
Arquitetura de três divisões (físicas):
o A máquina cliente
o Servidor de aplicação
o A máquina servidora
13
13