Sei sulla pagina 1di 3

Cliente-servidor

Um diagrama de rede de computadores (incluindo dispositivos mveis) de clientes comunicando com um


servidor atravs da Internet. Tanto os clientes como o servidor so os ns (pontos de comunicao)
na rede. A organizao dos ns de uma rede designa-se por topologia de rede.

O modelo cliente-servidor (em ingls client/server model), em computao, uma


estrutura de aplicao distribuda que distribui as tarefas e cargas de trabalho entre os
fornecedores de um recurso ou servio, designados como servidores, e os requerentes dos
servios, designados como clientes.
Geralmente os clientes e servidores comunicam atravs de uma rede de computadores em
computadores distintos, mas tanto o cliente quanto o servidor podem residir no mesmo
computador.
Um servidor um host que est executando um ou mais servios ou programas que
compartilham recursos com os clientes. Um cliente no compartilha qualquer de seus recursos,
mas solicita um contedo ou funo do servidor. Os clientes iniciam sesses de comunicao
com os servidores que aguardam requisies de entrada.
O modelo cliente-servidor foi desenvolvido na Xerox PARC durante os anos 70. Este modelo
actualmente o predominante nas redes informticas. Email, a World Wide Web e redes de
impressoso exemplos comuns deste modelo.

Descrio
A caracterstica do modelo cliente-servidor, descreve a relao de programas numa aplicao. O
componente de servidor fornece uma funo ou servio a um ou mais clientes, que iniciam os
pedidos de servio.
Funcionalidades como a troca de e-mail, acesso internet ou acesso a um banco de dados, so
construdos com base no modelo cliente-servidor. Por exemplo, um navegador web um
programa cliente, em execuo no computador do usurio, que acede s informaes
armazenadas num servidor web na internet. Usurios de servios bancrios, acedendo do seu
computador, usam um cliente web para enviar uma solicitao para um servidor web num
banco. Esse programa pode, por sua vez, encaminhar o pedido para o seu prprio programa de
banco de dados do cliente que envia uma solicitao para um servidor de banco de dados noutro
computador do banco para recuperar as informaes da conta. O saldo devolvido ao cliente de
banco de dados do banco, que por sua vez, serve de volta ao cliente navegador exibindo os
resultados para o usurio.
O modelo cliente-servidor, tornou-se uma das ideias centrais de computao de rede. Muitos
aplicativos de negcios, escritos hoje, utilizam o modelo cliente-servidor. O termo tambm tem
sido utilizado para distinguir a computao distribuda por computadores dispersos da
"computao" monoltica centralizada em mainframe.
Cada instncia de software do cliente pode enviar requisies a vrios servidores. Por sua vez,
os servidores podem aceitar esses pedidos, process-los e retornar as informaes solicitadas
para o cliente. Embora este conceito possa ser aplicado por uma variedade de razes e para
diversos tipos de aplicaes, a arquitetura permanece fundamentalmente a mesma.

Tipos ou Modelos de Client/Server


Aps vrios modelos estudados de cliente-servidor caracterizou-se chamar tecnicamente
de arquitetura multicamada, inspirado nas camadas no Modelo OSI, o processo de dividir a
arquitetura de cliente-servidor em vrias camadas lgicas facilitando o processo de programao
distribuda, existe desde o modelo mais simples de duas camadas, e o mais utilizado atualmente
que o modelo de trs camadas que paralelo ao modelo de arquitetura de
software denominado MVC (Model-view-controller).

Caractersticas do Cliente
Inicia pedidos para servidores;
Espera por respostas;
Recebe respostas;
Conecta-se a um pequeno nmero de servidores de uma s vez ;
Normalmente interage diretamente com os servidores atravs de seu software aplicao
especifico, que lhe possibilita a comunicao com o servidor;
Utiliza recursos da rede.

Caractersticas do Servidor
Sempre espera por um pedido de um cliente;
Atende os pedidos e, em seguida, responde aos clientes com os dados solicitados;
Podem se conectar com outros servidores para atender uma solicitao especfica do
cliente; jamais podem se comunicar.
Fornece recursos de rede.
Normalmente interage diretamente com os usurios finais atravs de qualquer interface com
o usurio;
Estrutura o sistema.

Vantagem
Na maioria dos casos, a arquitetura cliente-servidor permite que os papis e
responsabilidades de um sistema de computao possam ser distribudos entre vrios
computadores independentes que so conhecidos por si s atravs de uma rede. Isso cria
uma vantagem adicional para essa arquitetura: maior facilidade de manuteno. Por
exemplo, possvel substituir, reparar, atualizar ou mesmo realocar um servidor de seus
clientes, enquanto continuam a ser a conscincia e no afetado por essa mudana;
Todos os dados so armazenados nos servidores, que geralmente possuem controles de
segurana muito maiores do que a maioria dos clientes. Os servidores podem controlar
melhor o acesso a recursos, para garantir que apenas os clientes com credenciais vlidas
possam aceder e alterar os dados;
Desde o armazenamento de dados centralizada, as atualizaes dos dados so muito mais
fceis de administrar, em comparao com o paradigma P2P, onde uma arquitetura P2P,
atualizaes de dados podem precisar ser distribuda e aplicada a cada ponto na rede, que
o time-consuming passvel de erro, como pode haver milhares ou mesmo milhes de
pares;
Muitas tecnologias avanadas de cliente-servidor esto disponveis e foram projetadas para
garantir a segurana, facilidade de interface do usurio e facilidade de uso;
Funciona com vrios clientes diferentes de capacidades diferentes.

Desvantagens
Clientes podem solicitar servios, mas no podem oferec-los para outros clientes,
sobrecarregando o servidor, pois quanto mais clientes, mais informaes que iro demandar
mais banda.
Um servidor poder ficar sobrecarregado caso receba mais solicitaes simultneas dos
clientes do que pode suportar;
Este modelo no possui a robustez de uma rede baseada em P2P. Na arquitetura cliente-
servidor, se um servidor crtico falha, os pedidos dos clientes no podero ser cumpridos. J
nas redes P2P, os recursos so normalmente distribudos entre vrios ns. Mesmo se uma
ou mais mquinas falharem no momento de download de um arquivo, por exemplo, as
demais ainda tero os dados necessrios para completar a referida operao.

Protocolos de transporte e aplicaes de rede


Os protocolos do nvel de transporte fornecem servios que garantem uma transferncia
confivel de dados e aplicativos entre computadores (ou outros equipamentos) remotos. Os
programas na camada de aplicao usam os protocolos de transporte para contactar outras
aplicaes. Para isso, a aplicao interage com o software do protocolo antes de ser feito o
contacto. A aplicao que aguarda a conexo informa ao software do protocolo local que est
pronta a aceitar mensagem. A aplicao que estabelece a conexo usa os protocolos de
transporte e rede para contactar o sistema que aguarda. As mensagens entre as duas aplicaes
so trocadas atravs da conexo resultante.
Existem duas formas para que se estabelea uma ligao cliente-servidor: enquanto uma delas
orientada conexo, a outra no . O TCP, por exemplo, um protocolo de transporte orientado
conexo em que o cliente estabelece uma conexo com o servidor e ambos trocam mltiplas
mensagens de tamanhos variados, sendo a aplicao do cliente quem termina a sesso. J o
protocolo UDP no orientado conexo, nele o cliente constri uma mensagem e a envia
num pacote UDP para o servidor, que responde sem estabelecer uma conexo permanente com
o cliente.

Potrebbero piacerti anche