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';