FolioPierEstudos de TI

Cliente e servidor: dois papéis, não dois equipamentos (Aplicação)

Nota 4 de 54 · 4 min de leitura
Nesta página
  1. Um servidor, vários clientes
  2. Três consequências práticas

Em toda comunicação pela rede, um lado faz o pedido e o outro o atende. Saber qual lado inicia a comunicação e qual fica à espera indica onde procurar cada configuração quando a comunicação falha.

A palavra servidor tem dois sentidos. No primeiro, servidor designa o computador dedicado a atender os demais, como o servidor da filial. No segundo, servidor designa um papel em uma comunicação, e é esse sentido que explica como os programas se comunicam pela rede.

Um programa em execução em um computador é chamado de processo. Em uma comunicação, cada processo desempenha um de dois papéis:

  • Servidor: o processo que aguarda pedidos e os atende. Diz-se que o servidor escuta em um endereço e em uma porta lógica, o número que identifica esse programa dentro do computador.
  • Cliente: o processo que inicia o pedido. O cliente precisa saber para onde enviar o pedido, isto é, o endereço do computador e a porta do serviço. Essas informações, em geral, vêm da configuração do programa.

Na empresa utilizada nos exemplos, os dois papéis aparecem da seguinte forma:

  • o sistema da filial, no caixa, é cliente do serviço de banco de dados oferecido pelo SGBD no servidor da filial, que escuta na porta 3306;
  • o servidor da filial é cliente do serviço de sincronização do servidor da matriz, que escuta na porta 9000;
  • o navegador da estação administrativo, o computador usado no escritório da matriz, é cliente do servidor de um site na Internet, que escuta na porta 443.

Um servidor, vários clientes

Um mesmo servidor atende vários clientes ao mesmo tempo. O SGBD no servidor da filial recebe simultaneamente os pedidos do caixa e do balcão, e cada estação mantém a sua própria conexão com o serviço de banco de dados. O servidor não precisa saber com antecedência quem vai se conectar: ele apenas aguarda, e cada cliente estabelece a sua conexão por iniciativa própria.

Essa relação ajuda a localizar falhas. Quando o servidor deixa de funcionar, todas as estações perdem o acesso ao mesmo tempo. Quando o problema está em um cliente, em geral apenas o computador desse cliente é afetado.

Três consequências práticas

  • Servidor é um papel, não um tipo de computador. O servidor da filial é servidor para as estações, que utilizam o seu banco de dados, e é cliente da matriz quando sincroniza os dados. Um computador comum passa a ser servidor quando compartilha uma pasta. O arranjo também varia de uma instalação para outra. Em uma loja única, o mesmo computador pode armazenar o banco de dados e funcionar como caixa. Em redes maiores, o banco de dados e os programas ficam em servidores separados.
  • As configurações dos dois lados são independentes. No servidor, configura-se o endereço e a porta em que ele escuta. No cliente, configura-se o destino ao qual ele se conecta. Um dos lados pode estar correto e o outro, errado.
  • Quem inicia a conexão define o que precisa ser liberado. Se o cliente está na filial e o serviço está na matriz, é a matriz que precisa aceitar conexões vindas de fora. A filial precisa apenas conseguir acessar a Internet. A loja de onde veio a reclamação não é, necessariamente, o local da falha.

No suporte

A abrangência da falha indica o lado a investigar. Quando todas as estações falham ao mesmo tempo, a suspeita recai sobre o servidor ou sobre o caminho até ele. Quando apenas uma estação falha, a suspeita recai sobre essa estação e sobre a configuração do cliente. Entre a filial e a matriz vale o mesmo raciocínio: o destino, a porta e o serviço que escuta ficam do lado da matriz, enquanto a configuração do destino fica do lado da filial.

Para guardar

  • O cliente inicia o pedido, e o servidor aguarda e atende.
  • O papel pertence a cada comunicação, e não ao tipo de computador.
  • Um servidor atende vários clientes, cada um com a sua própria conexão.
  • No servidor, configura-se onde ele escuta. No cliente, configura-se para onde ele se conecta.
  • Quem recebe a conexão é quem precisa aceitá-la.
A filial não consegue se comunicar com a matriz. Em qual lado deve estar a configuração que aceita a conexão?

Na matriz, que recebe a conexão. A filial, que inicia a comunicação, precisa apenas conseguir acessar a Internet e estar configurada com o destino correto.

O servidor da filial atua como cliente ou como servidor?

Depende da comunicação. Para as estações, que utilizam o seu banco de dados, o servidor da filial é servidor. Quando se conecta ao serviço de sincronização da matriz, o servidor da filial é cliente.

Publicado a partir do Obsidian · FolioPier