Resumo de Arquitetura de Software - Arquitetura Cliente-Servidor

Arquitetura Cliente-Servidor

Arquitetura Cliente-Servidor

Modelo de arquitetura de software que divide a aplicação em dois componentes principais: cliente (solicitante de serviços) e servidor (provedor de serviços), comunicando-se via rede.

Componentes Principais

  • Cliente: Inicia requisições, consome recursos (ex.: navegador, aplicativo móvel)
  • Servidor: Processa requisições e retorna respostas (ex.: servidor web, banco de dados)

Características-Chave

  • Comunicação via protocolos (HTTP, FTP, TCP/IP)
  • Separação de responsabilidades
  • Escalabilidade vertical (adicionar recursos ao servidor)
  • Centralização do gerenciamento de dados

Vantagens

  • Facilidade de manutenção
  • Segurança centralizada
  • Compatibilidade multiplataforma
  • Eficiência no compartilhamento de recursos

Desvantagens

  • Ponto único de falha (servidor)
  • Possíveis gargalos de rede
  • Custo de infraestrutura do servidor

Tipos Comuns

  • 2-Tier: Cliente + Servidor (ex.: aplicação desktop com banco de dados)
  • 3-Tier: Cliente + Servidor de Aplicação + Servidor de Banco de Dados
  • N-Tier: Camadas adicionais (ex.: servidor web, API, cache)

Aplicações Típicas

  • Sistemas web (e-commerce, redes sociais)
  • Aplicativos bancários
  • Sistemas corporativos (ERP, CRM)