Interface Cliente / Servidor
1. Arquitetura Cliente / Servidor:
Cliente/Servidor � um dos termos mais usados no mundo da inform�tica no momento e pode
ser sucintamente definido como um sistema de computa��o que utiliza tr�s componentes
b�sicos para o compartilhamento de recursos: um computador-cliente, um
computador-servidor e uma rede para conect�-los.
Tanto o cliente quanto o servidor podem ser computadores com variados graus de capacidade
de processamento, que compartilham elementos de computa��o necess�rios para a
execu��o do trabalho.
Geralmente, o computador-cliente � um PC instalado na mesa de trabalho do usu�rio e o
computador-servidor � um servidor de rede, podendo ser um PC avan�ado, um minicomputador
(atualmente dito de m�dio porte), uma esta��o de trabalho ou um mainframe. A rede,
local ou remota, pode ser qualquer uma capaz de estabelecer a comunica��o entre os dois.
A comunica��o entre cliente e servidor deve ser completamente independente da plataforma
do servidor (hardware e software), bem como da tecnologia de comunica��o utilizada
(hardware e software). Por exemplo, um cliente DOS deve ser capaz de se comunicar da mesma
forma que um servidor Unix ou OS/2, indiferentemente do sistema operacional do servidor e
da tecnologia de LAN que conecta o cliente ao servidor.
Quando um sistema cliente/servidor utiliza mais de um servidor para atender e processar as
requisi��es de informa��es emitidas pelos clientes, t�m-se um ambiente multiservidor
.
Neste tipo de sistema, � conveniente e desej�vel que os servidores se comuniquem entre
si para fornecerem servi�os aos clientes sem que estes tomem conhecimento da exist�ncia
de m�ltiplos servidores ou da
comunica��o intra-servidor. Assim, tal como em um ambiente de processamento
distribu�do, o cliente n�o precisa se preocupar com o local onde sua consulta ou comando
vai ser executado. Ele apenas solicita as informa��es e recebe os resultados.
Ent�o, a arquitetura cliente/servidor divide uma aplica��o em processos separados,
executando em m�quinas separadas, sobre uma rede. As tarefas definidas pelo usu�rio
podem ser divididas em subtarefas a serem executadas ou pelo pr�prio cliente ou pelo(s)
servidor(es), de acordo com os recursos proporcionados pelo sistema operacional de rede.
Quanto mais avan�ado for este sistema operacional, menor ser� o tamanho da aplica��o.
Por exemplo, o Microsoft LAN Manager possui um conjunto rico em funcionalidades voltadas
para o desenvolvimento de sistemas cliente/servidor. Desta forma, uma aplica��o
cliente/servidor executando sobre o LAN Manager necessitar� conter bem menos c�digo,
pois muitos dos recursos j� s�o fornecidos pelo sistema operacional da rede. A
conseq��ncia direta disso � a redu��o do tempo de desenvolvimento da aplica��o.
Entretanto, se a mesma aplica��o for executada sobre um sistema operacional de rede que
proporcione um simples compartilhamento de arquivos e/ou de impressoras, o c�digo dessa
aplica��o ter� que implementar os recursos n�o propiciados pelo sistema, e neste caso,
o c�digo poder� at� dobrar de tamanho, al�m de aumentar bastante o tempo gasto com o
desenvolvimento do sistema.
2. Cliente/Servidor X Servidor de Arquivos:
O desenvolvimento da tecnologia cliente/servidor baseou-se principalmente nas
defici�ncias apresentadas pela arquitetura servidor de arquivos, onde ocorre o envio de
arquivos inteiros como resposta a uma solicita��o de dados feita por uma esta��o, n�o
havendo uma sele��o pr�via dos mesmos, ocasionando assim, uma intensifica��o do
tr�fego da rede.
Isto pode ser observado na figura 1:
Figura 1: Arquitetura Servidor de Arquivos
Esta situa��o � agravada quando a quantidade de dados processados � muito grande, ou
quando estes s�o acessados por muitos usu�rios simultaneamente.
Por outro lado, na arquitetura cliente/servidor, os servidores de banco de dados processam
as requisi��es de dados e enviam somente os dados requisitados de volta �s aplica��es
que est�o sendo executadas nos PCs clientes, como mostra a figura 2 :
Figura 2: Arquitetura Cliente/Servidor com Servidor de Banco de Dados
O PC, ent�o, � respons�vel somente pela execu��o das aplica��es do usu�rio,
gera��o de requisi��es de dados e controle da intera��o usu�rio-aplica��o
atrav�s de sofisticadas interfaces (de f�cil utiliza��o), baseadas em Windows, com
caixas de di�logo, bot�es, menus suspensos, barras de rolagens e outros recursos que
simplificam o uso do programa. Assim, pode-se tirar mais proveito dos sofisticados
recursos gr�ficos dispon�veis para os PCs (atrav�s das GUIs - Graphical User
Interfaces) ou ent�o, das vantagens de hardware proporcionadas pelas esta��es de
trabalho, uma vez que os clientes est�o livres da tarefa de processar os dados.
Os servidores de banco de dados, por sua vez, executando somente tarefas de gerenciamento,
proporcionam manuten��o da integridade dos dados, recupera��o de erros, controle de
seguran�a e, geralmente, podem otimizar as tarefas concorrentes de acesso e atualiza��o
de dados.
A arquitetura cliente/servidor procura otimizar o uso dos recursos de hardware e software
pela distribui��o do trabalho de forma equilibrada, atrav�s da separa��o das
fun��es em duas partes: a por��o front-end executando aplica��es nos computadores
clientes ou esta��es de trabalho, e a por��o back-end composta pelo servidor de banco
de dados, que armazena os dados e gerencia as requisi��es sobre os mesmos, permitindo
que o acesso seja realizado por diferentes aplica��es.
3. Vantagens da arquitetura cliente/servidor:
� O software e o hardware dos PCs que est�o cada vez mais baratos e mais poderosos,
tornam-se um prato cheio para quem deseja implementar um downsizing, pois o
cliente/servidor permite que se utilize recursos de PCs, minicomputadores e mainframes,
simultaneamente.
� Divis�o mais eficiente do trabalho (parte do processo � realizado na por��o
front-end e parte na back-end);
� Diminui��o do tr�fego de rede (apenas o resultado das consultas � transmitido do
servidor ao cliente);
� O desenvolvimento de aplica��es que utilizam GUI, nos mais diversos ambientes,
incrementou sensivelmente a qualidade dos sistemas do ponto de vista do usu�rio final;
� Os usu�rios n�o ficam limitados a um tipo de sistema operacional ou plataforma e, com
isso, podem continuar usando os softwares j� conhecidos para acessar o banco de dados;
� Os dados podem ser protegidos contra perdas ou acessos indesejados, uma vez que o
processamento dos mesmos � centralizado e executado por um sistema gerenciador de banco
de dados (SGBD), projetado para esta tarefa, proporcionando assim, seguran�a e
integridade, entre outros aspectos;
� Os clientes podem acessar mais dados, devido � versatilidade do SQL no acesso a dados
em diferentes plataformas (padroniza��o e portabilidade).
4. Desvantagens:
� Aumento do custo administrativo e de pessoal de suporte para manter o servidor de banco
de dados. Como este tipo de arquitetura possibilita a intera��o entre diferentes
plataformas, em alguns casos, poder� haver um custo adicional com treinamento para
familiariza��o do grupo de suporte com novas plataformas e/ou sistemas operacionais;
� Aumento do custo de hardware, principalmente quando se deseja manter um n�vel
razo�vel de performance do sistema, o que torna necess�rio a disponibilidade de uma
m�quina dedicada executando o servidor de banco de dados, com recursos suficientes para
proporcionar o desempenho esperado. Soma-se a isso a necessidade de equipamentos de
suporte para prote��o contra falta de energia;
� O custo do software do servidor do banco de dados, al�m dos aplicativos auxiliares e
ferramentas de desenvolvimento, os quais ser�o mais caros se comparados aos servidores de
arquivos;
� Devido � complexidade e ao grande n�mero de partes que comp�em um sistema
cliente/servidor, torna-se mais dif�cil a identifica��o de pontos problem�ticos e a
configura��o do sistema.
5. Aplica��es :
O emprego da tecnologia Cliente/Servidor depende de v�rios fatores: entre eles o objetivo
ao qual se quer alcan�ar, o montante de investimento a ser feito, os recursos humanos
(pessoas envolvidas), as aplica��es a serem desenvolvidas e implantadas e o tempo de
implanta��o do projeto.
As aplica��es s�o: Internet, Intranet, Sistemas de Gerenciamento de Documentos,
Sistemas de Apoio a Decis�o, Sistemas Gerenciais, Correio Eletr�nico, Servidores de Fax,
Servidores de Impress�o, Servidores de Arquivos, Servidores de Aplica��es, Servidores
de Banco de Dados, enfim, Servidores de Informa��o.
Todos os textos sobre inform�tica
contidos neste Site
s�o de propriedade do autor.
Voc� pode copiar, mas n�o usar o mesmo texto para seu pr�prio Site.
� Copyright 1997-2002 Alexandre Terra Iafullo
Todos os direitos reservados.