O modelo Cliente/Servidor – parte 01

O modelo Cliente/Servidor

O modelo Cliente/Servidor foi desenvolvido na Xerox PARC durante os anos 70. Este modelo é atualmente o predominante nas redes de computadores e possui diversos tipos de implementações diferentes. Ao longo das semanas falaremos mais sobre essas arquiteturas (duas, três e quatro camadas).

Como funciona?

Um software permite ao usuário solicitar um recurso. O servidor pega essa solicitação, encontra esse recurso e retorna algo para o usuário. Algumas vezes este recurso pode ser uma página HTML em outras uma imagem, um arquivo de áudio, vídeo ou um documento de texto. Não importa qual o tipo de arquivo é solicitado pelo cliente, o cliente solicita algo e o servidor sempre retorna essa solicitação.

Modelo Cliente-Servidor

Modelo Cliente-Servidor

O termo “servidor” é largamente aplicado a computadores completos, embora um servidor possa equivaler a um software ou a partes de um sistema computacional, ou até mesmo a uma máquina que não seja necessariamente um computador.

A história dos servidores tem, obviamente, a ver com as redes de computadores. Redes permitiam a comunicação entre diversos computadores, e, com o crescimento destas, surgiu a idéia de dedicar alguns computadores para prestar algum serviço à rede, enquanto outros se utilizariam destes serviços.

O modelo de duas camadas

No início da utilização do modelo Cliente/Servidor, as aplicações foram desenvolvidas utilizando-se um modelo de desenvolvimento em duas camadas. Neste modelo, um programa, normalmente desenvolvido em um ambiente de desenvolvimento, como o VisualBasic, Delphi, C ou Java  é instalado em cada Cliente e este programa acessa dados em um servidor de Banco de dados.

2 camadasA configuração usual Cliente/Servidor encontrada na maioria das empresas, é aquela em que existem vários clientes requisitando serviços a um único servidor. Esta arquitetura se caracteriza como sendo centrada no servidor. Porém na visão do usuário, ele imagina que existem vários servidores conectados a somente um Cliente, ou seja, centrado no Cliente. Entretanto, com as várias ligações de comunicação possíveis, existe na realidade uma mistura de Clientes e Servidores.

No modelo de duas camadas, temos um programa que é instalado no Cliente, programa esse que faz acesso a um Banco de dados que fica residente no Servidor de Banco de dados. Um dispositivo Cliente como um computador(mas poderia ser um celular, videogame ou tablet), possui uma aplicação que foi desenvolvida em uma linguagem de programação conhecida como Java, C# ou Delphi por exemplo. A aplicação cliente deve ser instalada em cada um dos computadores da rede, que farão uso dessa aplicação. No modelo de 2 camadas, o lado Cliente é responsável pelas seguintes funções:

  • Apresentação: É o código que gera a interface visível do programa, que é utilizada pelo usuário para acessar a aplicação. Todos os formulários, menus e demais elementos visuais, estão contidos no código da aplicação Cliente. Caso sejam necessárias alterações na interface do programa, faz-se necessária a geração de uma nova versão do programa, e todos os computadores que possuem a versão anterior, devem receber a nova versão, para que o usuário possa ter acesso as alterações da interface.
  • Lógica do Negócio: Aqui estão as regras que definem a maneira como os dados serão acessados e processados, as quais são conhecidas como “Lógica do Negócio”. Fazem parte das Regras do Negócio, desde funções simples de validação da entrada de dados, como o cálculo do digito verificador de um CPF, até funções mais complexas, como descontos escalonados para os maiores clientes, de acordo com o volume da compra. Questões relativas a legislação fiscal e escrita contábil, também fazem parte da Lógica do Negócio. Com isso, faz-se necessária a geração de uma nova versão do programa, cada vez que uma determinada regra muda, ou quando regras forem acrescentadas ou retiradas. Desta forma, todos os computadores que possuem a versão anterior, devem receber a nova versão, para que o usuário possa ter acesso as alterações.

Já o lado Servidor tem apenas uma função:

  • Banco de Dados: Local onde fica armazenado os dados que serão acessados pelas máquinas clientes. Uma aplicação desenvolvida em Java, por exemplo, acessa o servidor de Banco de Dados MySQL afim de recuperar alguma informação.

No próximo post veremos as arquiteturas de três e quatro camadas.

Até lá…

“Todos os problemas se tornam infantis, depois de explicado.”

Sherlock Holmes

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.