PAPER 07
O sistema cliente/servidor é um paradigma lógico para o processamento distribuído, sendo que o cliente e o servidor podem estar ou não em uma mesma máquina física. Há quatro tipos de processos distribuídos: filtros, clientes, servidores e peers.
Os filtros realizam uma operação fixa no fluxo de dados, passando adiante os resultados para outro processo; os não hierárquicos são idênticos um ao outro, e interagem de forma cooperativa para realizar um trabalho útil. Desta forma, “cliente/servidor” e “não hierárquico” (peer), não são sinônimos, pois em um ambiente de comunicações peer-to-peer (não hierárquico) duas entidades comunicam-se em termos iguais e em um processamento cliente/servidor os processos cliente enviam pedidos a um processo servidor, que responde com resultados para esses pedidos. O servidor, na verdade, oferece serviços aos seus clientes, por um meio de processamento específico e a interação entre os processos cliente e servidor é uma troca cooperativa, transacional, em que o cliente é ativo e o servidor é reativo. Sendo esta, a principal distinção entre cliente/servidor e outros paradigmas menos restritos.
Quando os processos cliente e servidor são executados em máquinas diferentes, estes são conectados através de redes locais ou remotas, sendo que as redes locais são as implementações mais comuns de cliente/servidor. O usuário do sistema interage com um cliente, que por sua vez emite pedidos e recebe resultados do servidor. O estilo de integração entre o cliente e o servidor não precisa utilizar um interface gráfica ou ainda uma interface de caracteres em tela cheia. É possível construir um sistema cliente/servidor usando apenas uma interface de linha de caracteres.
Em sistemas de cliente e servidor há três camadas básicas, a primeira e mais reconhecível, é a camada de serviços do sistema, que compreende o sistema operacional, componentes de rede e janelas.