Programas feitos para o ambiente Cliente-Servidor

No último post eu comentei sobre um dos programas do cartório onde trabalho, dizendo que ele funcionava no esquema cliente-servidor. Não que eu estivesse falando besteira, mas faltou falar um detalhe importante: ele não é, genuinamente, feito para rodar em um ambiente cliente-servidor.

Para entender melhor, vamos usar uma metáfora. E para representar um ambiente cliente-servidor, nada melhor do que um restaurante.

Em um restaurante você é o usuário, o garçom é o computador cliente e a cozinha é o computador servidor. Quando você pede uma lasanha, você faz o pedido ao garçom, mas não é o ele que coloca a mão na massa (com trocadilho, por favor). Ele apenas repassa o seu pedido para a cozinha. E quando a lasanha está pronta, a cozinha fala para ele: "aí, ô do salão, a lasanha tá no esquema". Daí o garçom prontamente leva o prato à sua mesa, finalmente atendendo ao seu pedido.

Trocando em miúdos, você lida com quem não faz o trabalho pesado, o garçom apenas repassa o trabalho para quem realmente tem competência.

A mesma coisa acontece nas redes: quando você está usando um computador cliente e pede uma informação qualquer, ele repassa o seu pedido para o computador servidor. É o servidor que vai mergulhar no banco de dados e fuçar tudo até achar a informação que você pediu, para então repassar ao cliente os dados que encontrar. São dois programas separados: um no cliente, que é você quem usa, e um no servidor, que atende às solicitações do cliente. Você não lida diretamente com o servidor, assim como, no restaurante, você não pede o prato ao cozinheiro.

Agora é sua vez de perguntar: e o que o programa do cartório tem a ver com isso?

No caso dele, não temos dois programas diferentes. Todos os computadores têm o mesmo programa instalado, e o servidor serve apenas para guardar os dados. Quando estamos usando um dos clientes e incluímos uma nova informação para ser gravada, é o próprio cliente que acessa o banco de dados do servidor e coloca lá a informação. Para ser um programa realmente feito para o ambiente cliente-servidor, ele deveria ser, na verdade, dois programas.

Ou seja: usando novamente a metáfora do restaurante, lá no cartório é como se o garçom cozinhasse.

2 comentários:

Anônimo disse...

Acho que você está um pouco enganado sobre a plataforma Client/Server.

Se o programa do Cartório usa um banco de dados Padrão SQL que roda como um serviço no servidor, (Ex: SQL Server da microsoft, MySQL, e outros) então o programa é client/Server, porque o executável que está na estação envia os dados para o Servidor de Dados e o Servidor é quem faz a gravação. nessa cenário temos de um lado o seu Aplicativo se comunicando com o Aplicativo Servidor de Dados.

Agora se o programa utiliza como base dados, arquivos DBF, MDB (do Acess) ai realmente ele não é client/server, porque o proprio programa é quem gerencia a gravação nesses arquivos.

espero ter ajudado.

Mário Marinato disse...

Olá, Eduardo.

O que acontece no cartório é exatamente a segunda opção que você descreveu.

Todos os computadores estão com o programa instalado, mas três deles não têm os dados em seu próprio HD: eles acessam o DBF do "servidor".

Ou seja, ele não é cliente/servidor.