domingo, 12 de junho de 2011

Programação Cliente-Servidor

O paradigma de programação distribuída através da separação das aplicações entre servidores (aplicações que disponibilizam algum serviço) e clientes (aplicações que usam esses serviços) foi a arquitetura de distribuição predominante nos anos 1990. Um dos seus atrativos é o aumento da confiabilidade (a falha de uma máquina não necessariamente inviabiliza a operação do sistema como um todo) e redução de custo (máquinas mais simples podem executar os serviços isoladamente, ao invés de ter uma grande máquina fgazendo todos os serviços).

As aplicações clientes e servidoras são programas executando em máquinas distintas, trocando informação através de uma rede de computadores. Para que os serviços possam ser solicitados, a aplicação cliente deve conhecer quem fornece o serviço (o endereço da aplicação servidora) e qual o protocolo pré-estabelecido para realizar a solicitação.

Entre as vantagens citadas para o modelo de programação cliente-servidor destacam-se:

- Relaciona a execução de processos distintos.

- Oferece uma estruturação do processamento distribuído baseado no conceito de serviços:
* Servidor: provedor de serviços
* Cliente: consumidor de serviços

- Permite compartilhamento de recursos
* Servidor pode atender a vários clientes

- Oferece transparência de localização
* Tratamento uniforme independentemente de processos estarem na mesma máquina ou em máquinas distintas

- Permite a comunicação através da troca de mensagens
* Arquitetura fracamente acoplada
* Mensagens para solicitações (cliente para servidor) e respostas (servidor para cliente)

- Encapsula serviços
* Cliente não precisa saber como servidor implementa o serviço, mas apenas a interface para solicitação e resposta.

Sem comentários:

Enviar um comentário