25
Luís Fernando Marostica

Interação Cliente-Servidor

Embed Size (px)

DESCRIPTION

Material para pesquisa escolar, indicado para quem está fazendo algum curso de informática, material sobre servidores e suas interações com os computadores clientes.

Citation preview

Page 1: Interação Cliente-Servidor

Luís Fernando Marostica

Page 2: Interação Cliente-Servidor

É um modelo que faz um aplicativo ficar passivamente esperando dados e um outro iniciar a comunicação enviando dados Dá-se o nome de Interação Cliente-Servidor

Os termos cliente-servidor se refere-se a dois aplicativos envolvidos numa comunicação ▪ Cliente é o aplicativo que inicia a comunicação;▪ Servidor é o aplicativo que espera passivamente o

contato.

Page 3: Interação Cliente-Servidor

Apesar das camadas subjacentes dos protocolos serem responsáveis por garantir a comunicação em uma inter-rede, é a camada de aplicativo que oferece a funcionalidade mais interessante.

A função do software aplicativo é oferecer um formato adequado para os usuários acessarem, modificarem e inserirem informações. Mais importante ainda, os aplicativos definem nomes simbólicos para identificar os recursos físicos e abstratos disponíveis em um inter-rede.

Ex: (recursos físicos) nomes de computadores ao invés de IPs; Ex:(recursos abstratos) pastas, arquivos e-mails

Page 4: Interação Cliente-Servidor

Fornece uma infraestrutura de comunicação geral, sem especificar ou limitar um determinado serviço. Isto é definido pelo aplicativo e usuários.Embora um sistema de inter-rede forneça um serviço de comunicação básico, o software de protocolo não pode iniciar ou aceitar contato de um computador remoto. Em vez disso, dois programas aplicativos devem participar em qualquer comunicação: Um programa inicia a comunicação e o outro a aceita.

Page 5: Interação Cliente-Servidor

O aplicativo informa ao software de protocolo local que é esperado um tipo específico de mensagem, e então o aplicativo espera. Quando chega uma mensagem que corresponde à que o aplicativo especificou, o software de protocolo passa a mensagem para o aplicativo.

Page 6: Interação Cliente-Servidor

Características de Clientes

É programa aplicativo arbitrário que se torna um cliente temporariamente quando for necessário acesso remoto, mas pode executar outros processamentos locais;

É diretamente invocado por usuário e executa somente para uma sessão;

Executa localmente em um computador pessoal; Inicia ativamente a comunicação com um servidor; Pode acessar múltiplos serviços quando necessário, mas

contata ativamente um servidor remoto de cada vez; Não exige hardware especial;

Page 7: Interação Cliente-Servidor

O software Servidor:

É um programa privilegiado de propósito especial dedicado a fornecer um serviço, mas pode tratar de múltiplos clientes remotos ao mesmo tempo;

É automaticamente invocado quando um sistema inicializa e continua a executar ao longo de muitas sessões;

Roda em um computador compartilhado; Espera passivamente pelo contato de clientes remotos

arbitrários; Aceita contato de clientes arbitrários, mas oferece um único

serviço; Exige hardware poderoso e um sistema operacional sofisticado.

Page 8: Interação Cliente-Servidor

- Refere-se a um programa que espera passivamente por comunicação.

- Usamos o termo servidor para nos referirmos ao programa que esta rodando e não ao computador.

- O termo computador da classe servidor se refere a um computador poderoso usado para executar software de servidor.

Page 9: Interação Cliente-Servidor

- As informações podem passar em uma ou ambas as direções entre um cliente e um servidor. Tipicamente, um cliente envia um requisição para um servidor, e o servidor devolve uma resposta para o cliente.

- Existem casos onde o cliente envia requisições e o servidor emite as respostas e casos onde o servidor fornece uma saída sem qualquer requisição (relatório de temperatura e etc.).

Page 10: Interação Cliente-Servidor

Protocolo de Transporte

Como a maioria dos programas aplicativos, um cliente-servidor usa um protocolo de transporte para se comunicar

Na comunicação entre um cliente e um servidor usando protocolos TCP/IP através de uma inter-rede, o cliente e o servidor interagem com um protocolo na camada de transporte.

Page 11: Interação Cliente-Servidor

Exemplo:Cliente e servidor usando a pilha do TCP/IP

Page 12: Interação Cliente-Servidor

O aplicativo interage diretamente com um protocolo da camada de transporte para estabelecer uma comunicação e para enviar ou receber informações.

O protocolo de transporte utiliza protocolos das camadas mais baixas para enviar e receber mensagens individuais. Deste modo, um computador necessita de uma pilha completa de protocolos para rodar um cliente ou um servidor.

Page 13: Interação Cliente-Servidor

O computador deve ter recursos de hardware suficientes

O computador deve ter um sistema operacional que permita que múltiplos programas aplicativos rodem concorrentemente

Page 14: Interação Cliente-Servidor
Page 15: Interação Cliente-Servidor

o hardware pode ser compartilhado por múltiplos serviços

ajuda a reduzir a sobrecarga de administração do sistema

Um servidor ocioso não usa a CPU enquanto espera pela chegada de uma requisição.

reduz o custo sem reduzir o desempenho

Page 16: Interação Cliente-Servidor

Quando um servidor inicia a execução, ele se registra com o software de protocolo local especificando o identificador para o serviço que ele oferece. Quando um cliente contrata um servidor remoto, o cliente especifica o identificador para o serviço desejado.

Page 17: Interação Cliente-Servidor

Como exemplo de identificação de serviço, considere o Transmission Control Protocol (TCP), o software de TCP no servidor usa o número de porta de protocolo em uma mensagem que chega para determinar qual serviço deve receber a requisição. O TCP usa valores inteiros de 16 bits conhecidos como números de porta de protocolo para identificar serviços e atribui um número de porta de protocolo único a cada serviço.

Page 18: Interação Cliente-Servidor

Os protocolos de transporte atribuem a cada serviço um identificador único. Clientes e servidores especificam o identificador de serviço; o software de protocolo usa o identificador para identificar cada requisição que chega ao servidor correto.

Page 19: Interação Cliente-Servidor

     -A concorrência é fundamental para o modelo cliente-servidor de interação, pois um serviço concorrente oferece serviço para múltiplas clientes ao mesmo tempo sem exigir que cada cliente espere que os clientes anteriores terminem.

Page 20: Interação Cliente-Servidor

-Várias estações fazendo download;

-Requisições pequenas podem ser satisfeitas rapidamente;

Page 21: Interação Cliente-Servidor

-A maioria dos servidores concorrentes opera dinamicamente;

-O servidor cria uma nova linha de execução para cada requisição que chega;

Page 22: Interação Cliente-Servidor

-A linha de execução principal do servidor espera pela chegada de uma requisição;

-Quando chega, a principal cria uma outra linha de execução de serviço para tratar da requisição;

-A linha de execução de serviço trata de uma requisição e então termina o processo;

-A linha de execução principal mantem o servidor vivo;

-Depois de criar uma linha de execução para tratar uma requisição a execução principal espera por outra.

Page 23: Interação Cliente-Servidor

Se N clientes estão usando um determinado serviço em um único computador, existem N + 1 linhas de execução fornecendo o serviço: a linha de execução principal está esperando requisições adicionais, e N execuções de serviço estão cada uma interagindo com um único cliente.

Page 24: Interação Cliente-Servidor

Cuidado no planejamento de servidores.

Um servidor pode ser cliente de outro.

Pode ser difícil identificar e corrigir.

Comparado com um loop infinito.

Page 25: Interação Cliente-Servidor

Se um servidor de arquivos precisa de um servidor de tempo para que forneça a hora exata em que um arquivo foi requisitado, ou entregue, isso pode acarretar em uma dependência circular se o servidor de tempo precisar também do servidor de arquivos.