Você está na página 1de 2

Arquitetura de softwares distribuídos

1. Quando se trabalha com sistemas distribuídos, é preciso prestar uma atenção


especial em alguns pontos chave do projeto, como transparência, abertura e
escalabilidade. Qual é o objetivo da escalabilidade em um sistema distribuído?
R: C. Que seja possível aumentar a capacidade computacional.
A escalabilidade possibilita adicionar mais computadores, ou mais recursos ao mesmo
computador, para aumentar a capacidade computacional. A transparência trata da
percepção em relação ao sistema ser ou não distribuído. Para atingir os requisitos
de segurança, é necessário um bom gerenciamento de falhas. A abertura refere-se ao
uso de protocolos padrão. Quanto à qualidade, é uma questão relacionada à qualidade
do serviço.

2. Sistemas distribuídos apresentam algumas características que os tornam mais


complexos, se comparados com sistemas centralizados. Qual das alternativas abaixo
corresponde a características de sistemas distribuídos que aumentam sua
complexidade?
R: B. A interação entre os componentes e suas estruturas não é uma tarefa trivial.
Sistemas distribuídos podem trabalhar com servidores distribuídos, são mais
escaláveis, trabalham com sistemas abertos e devem ser mais tolerantes a falhas do
que
sistemas centralizados. Por outro lado, a interação entre os componentes e suas
estruturas pode agragar complexidade a esse tipo de sistemas.

3. Os processos podem ser gerenciados de diversas formas em sistemas distribuídos,


de acordo com suas finalidades. Um sistema que utiliza a arquitetura mestre-escravo
é muito utilizado em sistemas de tempo real, por exemplo. Em relação ao
gerenciamento dos processos em arquitetura mestre-escravo, pode-se afirmar que
usualmente:
R: C. Pode ter apenas um processo mestre e diversos escravos.
Uma arquitetura mestre-escravos usualmente tem apenas um processo mestre que
realiza a coordenação e diversos escravos que executam as tarefas. Não é usual o
conceito
de haverem vários mestres e um escravo, ou um mestre e um escravo, ou vários
mestres e vários escravos (nesse caso, pode ser feita uma analogia com arquiteturas
multi-camadas). Adicionalmente, esta arquitetura independe de middleware.

4. Em arquiteturas cliente-servidor em duas camadas, a base de dados fica no


servidor, enquanto as regras e a lógica da aplicação ficam no cliente. Quanto ao
processamento, existem basicamente dois modelos: cliente gordo e cliente magro. Em
uma abordagem cliente gordo:
R: D. Todo o processamento, ou parte dele, é feita no cliente.
Em uma abordagem cliente gordo, o cliente é responsável por todo ou pelo menos
parte do processamento. Problemas de rede afetam o funcionamento do sistema, visto
que
serviços como o banco de dados ficam disponíveis apenas no servidor. O servidor não
faz todo o processamento, mas pode ficar responsável por parte dele. Também não s
ão todos os pontos da rede que executam o processamento, apenas os clientes,
durante o uso do sistema. O middleware é responsável apenas por fazer a comunicação
entre
as aplicações, não sendo responsável pelo processamento.

5. Uma empresa trabalha com venda online de ingressos para eventos, e quando tem
shows internacionais, por exemplo, a empresa já chegou a esgotar em menos de três
horas os ingressos para lotar um estádio de futebol. Qual seria a a arquitetura
mais apropriada para esta empresa?
R: C. Cliente servidor multi-camadas.
Arquiteturas cliente-servidor multi-camadas permitem que o servidor processe um
grande volume de transações. Arquiteturas mestre-escravo são mais usadas para
sistemas
em tempo real; duas camadas são mais usadas quando é necessário centralizar o
sistema, por questões de segurança; distribuída de componentes são muito usadas
quando é
preciso combinar diversos bancos de dados e aplicações, e ponto-a-ponto são mais
usadas par troca de arquivos armazenados localmente.

Você também pode gostar