Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 05.

Post on 21-Apr-2015

126 views 2 download

Transcript of Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 05.

Sistemas Distribuídos

Carlos A. G. Ferraz

DI/UFPE

Aula 05

Tópicos O Modelo Cliente/Servidor

O Modelo Cliente/Servidor

Modelo OSI: A incorporação dos headers gera um grande

overhead Em WANs, onde a velocidade (bps) é

geralmente baixa (mudanças a vista...), o overhead não é tão significativo

Em consequência da perda de desempenho, muitos sistemas distribuídos, ou não usam, ou usam apenas um subconjunto da pilha de protocolos

O Modelo Cliente/Servidor (cont.) O modelo OSI trata apenas de

uma parte do problema: a transferência de dados entre a parte que envia e a parte que recebe

A estruturação do sistema distribuído não é tratada...

O modelo cliente/servidor é uma resposta

O Modelo Cliente/Servidor (cont.) Para evitar o overhead de

protocolos como OSI e TCP/IP, o modelo cliente/servidor se baseia num protocolo simples, sem conexão, chamado pedido-resposta (request-reply)

Vantagens: simplicidade e eficiência

O Modelo Cliente/Servidor (cont.)Motivação: Distribuição da carga de trabalho

de componentes de sistema Uma aplicação é separada em

dois componentes: o cliente e o servidor

Esta distribuição da carga de trabalho toma diferentes formas dependendo da aplicação em particular

O Modelo Cliente/Servidor (cont.)Motivação adicional: Armazenamento de grandes

quantidades de informações além do computador do clienteEx: WWW

O Modelo Cliente/Servidor (cont.)Atividades de servidores e clientes: Distribuição / armazenamento Processamento Coleta de informação

O Modelo Cliente/Servidor (cont.)O modelo é a forma mais usada

para implementação de Sistemas Distribuídos, fazendo convergir:

Interfaces gráficas Máquinas potentes de baixo

custo Redes confiáveis

consequentemente ...

O Modelo Cliente/Servidor (cont.) Arquitetura resultante:

Flexível Versátil Custo adequado

A computação cliente/servidor tenta tirar o máximo de vantagens de todos os recursos disponíveis

O Modelo Cliente/Servidor (cont.)

Forças de mercado:

PCstandalone

Mainframemultiusuário

•Downsizing

•Upsizing

Mainframe

Servidor de PC

Cliente

•Rightsizing

O Modelo Cliente/Servidor (cont.)Opiniões: PCistas Mainframistas Moderados

seguem as opiniões...

O Modelo Cliente/Servidor: Opiniões PCistas

“A computação cliente-servidor reduz a ferro-velho os mainframes e acaba com a computação centrada em hosts”

O Modelo Cliente/Servidor: Opiniões Mainframistas

“A computação cliente-servidor faz surgir uma nova linhagem de mainframes renascidos conectados em rede... Fazendo os PCs voltarem para suas caixas”

O Modelo Cliente/Servidor: Opiniões Moderados

“A computação cliente-servidor permite coexistência e abertura, onde todos podem ter o seu lugar”

(vide rightsizing)

O Modelo Cliente/Servidor (cont.)Características Uma arquitetura cliente/servidor

consiste de um processo cliente e um processo servidor, distintos um do outro, embora possam interagir totalmente

O servidor é um provedor de serviços; o cliente é um consumidor desses serviços

Cliente/Servidor: Características (cont.)

A parte cliente e a parte servidor podem operar em diferentes plataformas

Tanto a plataforma do cliente como a do servidor podem ser atualizadas sem que se tenha que atualizar a outra plataforma

O servidor pode atender a vários clientes ao mesmo tempo; em alguns casos, o cliente pode acessar vários servidores

Cliente/Servidor: Características (cont.)

Sistemas cliente/servidor são capazes de operar em rede

A parte da lógica do aplicativo reside no cliente A ação, em geral, é iniciada no cliente (contra-

exemplo: servidores de banco de dados podem iniciar a ação baseados em gatilhos)

A interface gráfica geralmente reside no cliente (ex: web-browsers)

Cliente/Servidor: Características (cont.)

Compartilhamento de recursos Transparência de localização O software cliente/servidor ideal é

independente de hardware e de sistema operacional

Trocas baseadas em mensagens

Alguns Tipos de Servidores

Servidores de arquivos Servidores de banco de dados Servidores de transações Servidores de objetos

Servidores de Arquivos Retornam registros O cliente procura os dados no registro

retornado

clientes servidor

chamadas para arquivos

Servidores de Banco de Dados

Retornam dados solicitados Mais eficientes

clientes DBMS

chamadas SQL

Servidores de Transações

Grupo de instruções SQL é executado em sequência

Tudo-ou-nada

clientes DBMS

transações

TP monitor

Servidores de Objetos

clientes servidorinvocação de método remoto

objeto

objetos

ORB ORB

mais detalhes em objetos distribuídos...