Professional Documents
Culture Documents
Arquiteturas de SD´s
Estilos
Arquitetônicos
3
Introdução
▫ Como é organizado um
sistema distribuído?
▪ Realização física;
▫ Sistemas distribuídos
▪ Componentes de software.
▫ Arquitetura de software.
4
Introdução
▫ Arquitetura de software (ou ▫ Arquiteturas centralizadas
de sistema)
Tradicionais. Um único servidor
implementa a maioria dos componentes;
▪ Arquiteturas
centralizadas ▫ Arquiteturas
descentralizadas
▪ Arquiteturas
descentralizadas As máquina desempenham papéis mais ou
menos iguais, bem como organizações
híbridas.
“
[...] uma meta importante de
sistemas distribuídos é
separar aplicações das
plataformas subjacentes
provendo uma camada de
middleware.
5
6
7
Middleware
▫ É necessário conseguir
um
middleware adaptativo;
▫ Sistemas distribuídos
devem monitorar seu
funcionamento.
▪ Sistemas autonômicos.
8
Estilos
Arquitetônicos
O quanto é crucial adotar uma
arquitetura de
software para um
projeto?
9
10
▫ A forma de confguração
desse conjunto de elementos;
“
Um componente é uma
unidade modular com
interfaces requeridas e
fornecidas bem definidas que
é substituível dentro de seu
ambiente
1
1
12
C o mpone nt e
▫ É passível de
substituição;
▫ Necessário respeitar as
interfaces;
E os conectores?
“
Conector [...] é descrito como
um mecanismo que serve de
mediador da comunicação ou
da cooperação entre
componentes
1
3
14
Co mpone nt e s e
Conectores
15
Importantes
Estilos
Arquitetôn icos
1. Arquiteturas em
camadas;
Configurações a
2. Arquiteturas baseadas em
partir de objetos;
Com po nentes e
Conectores
3. Arquiteturas centradas em
dados;
4. Arquiteturas baseadas em
eventos;
1
6
Arquitetu ras
em
camadas
1
8
Arquitetu ras
em
camadas
19
Arquitetura
baseada ▫ Cada objeto corresponde a defnição de
em um
objetos componente;
Arquitetura
baseada
em
objetos
2
1
Arquitetura
centrada e m ▫ Processos se por de
dados comunicam meio um
repositório comum;
▫ Tem grau de importância similar as baseadas
em camadas e objetos;
▫ Funcionamento:
Arquitetura
centrada e m
dados
23
Arquitetura
baseada ▫ Processos se comunicam por meio da
em propagação
eventos de eventos;
Arquitetura
baseada
em
eventos
Espaços compartilhados
de Dados
Arquiteturas de
Sistemas
Arquitetura
s
“
Decidir a respeito de
componentes de software, sua
interação e sua colocação leva
a um exemplo de uma
arquitetura de software
também denominada
arquitetura de sistema.
29
30
Arquiteturas
Centralizadas
Arquiteturas de
Sistemas
“
[...] pensar em termos de
clientes que requisitam
serviços de servidores nos
ajuda a entender e
gerenciar a complexidade
de sistemas distribuídos [...]
31
32
Servidor e
▫
Cliente
Servidor
▪ É um processo implementa
que serviço um
específco;
▫ Cliente
Comportamento
Comportamento de
requisição-resposta
Fases da
Requisição - 1. Um cliente requisita um
Resposta serviço;
▪ Empacota uma mensagem para o
servidor identifcando o serviço que
quer, junto com os dados necessários.
▫ Problema:
▫ Dificuldade:
Analisan d o ...
Reenviar a
resposta Transfira $10.000 de
minha conta.
3
9
Analisan d o ...
Reenviar a
resposta Informe quanto
dinheiro ainda
tenho.
4
0
Camadas de Aplicação
42
▪ Processa
consultas;
43
1. Nível de interface de
usuário.
2. Nível de processamento.
3. Nível de dados.
Modelo
Visão
Controle
“
O nível de interface de
usuário conteúdo que é
necessário para fazer
interface diretamente com o
usuário como gerenciamento
de exibição.
“
O nível de
processamento
normalmente contém as
aplicações.
“
O nível de dados gerencia os
dados propriamente ditos
sobre os quais está sendo
executada alguma ação.
▫ Os dados costumam ser persistentes, e isso
Nível de Dados é
uma propriedade importante desse nível;
Importante!
▫ Quando não aplicações utilizando esse nível, os
dados continuam armazenados aguardando a
próxima utilização;
Conhecem o termo
Persistência Poliglota?
57
Arquiteturas Multidivididas
“
A distinção entre três níveis
lógicos [...], sugere várias
possibilidades para a
distribuição física de uma
aplicação cliente-servidor por
várias máquinas.
59
C lie n t e - ▫ Máquina
cliente
Servidor ▪ Contém apenas os programas que
De fato, o que implementam o nível (parte do nível)
te mos? de interface de usuário.
▫ Máquina do servidor
É possível?
Arquiteturas
Descentralizadas
Arquiteturas
Arquiteturas de
Sistemas
Distribu ição “Em arquiteturas modernas, muitas vezes é a
horizontal distribuição dos clientes dos servidores que conta
à qual nos referimos como distribuição
horizontal”