3.1 - Padrão Cliente-Servidor
A arquitetura cliente-servidor é um padrão popular, presente na arquitetura de sistemas modernos de hoje. Ele decompõe sistemas de software em dois componentes principais: o cliente e o servidor. Esses componentes são manifestados como processos individuais que podem ser distribuídos através da rede ou dentro de um único nó.
O exemplo mais difundido de um sistema cliente-servidor hoje inclui o cliente navegador e o servidor web. Ao procurar um determinado site usando o navegador web, uma conexão é feita para o servidor, solicitações são enviadas e recebidas e o servidor processa as solicitações e envia as respostas ao cliente. Note que isto é verdadeiro independentemente do local onde se encontra o cliente, podendo inclusive estar no mesmo nó que o servidor. O importante é que este cliente possa se conectar ao servidor. A figura a seguir apresenta o padrão de arquitetura cliente-servidor.