Sobes.tech
Junior

Fale sobre a arquitetura cliente-servidor de dois níveis (2-Tier).

sobes.tech IA

Resposta da IA

Numa arquitetura de dois níveis, existem dois componentes principais: cliente e servidor.

  • Cliente (Camada de Apresentação): Responsável pela interação com o utilizador e pela apresentação dos dados. Pode ser uma aplicação de desktop, um navegador web, etc. Toda a lógica da interface do utilizador e parte da lógica de negócio podem residir no cliente.
  • Servidor (Camada de Dados): Responsável pelo armazenamento e gestão dos dados, geralmente usando uma base de dados. O cliente envia pedidos diretamente ao servidor para obter, adicionar, modificar ou eliminar dados.

Vantagens:

  • Facilidade de desenvolvimento e implementação para aplicações pequenas.
  • Alto desempenho com um número reduzido de utilizadores, pois não há uma camada intermédia.

Desvantagens:

  • Escalabilidade limitada: ao aumentar o número de clientes, o desempenho pode diminuir devido à carga no servidor de base de dados.
  • Duplicação da lógica de negócio: alguma lógica de negócio pode estar implementada tanto no cliente como no servidor, o que torna a manutenção mais difícil.
  • Complexidade de suporte: alterações na lógica de negócio ou na base de dados frequentemente requerem atualização de todos os clientes.
  • Problemas de segurança: pedidos diretos do cliente à base de dados podem representar uma ameaça.

Cenários de uso:

  • Aplicações de desktop simples com número limitado de utilizadores.
  • Aplicações intranet em pequenas empresas.

Exemplo:

Uma aplicação de gestão simples de desktop que acede diretamente a uma base de dados de ficheiros (por exemplo, Access).

-- Exemplo de consulta SQL do cliente ao servidor
SELECT * FROM Customers WHERE City = 'Moscow';