Sobes.tech
Junior

Cuéntenos sobre la arquitectura cliente-servidor de dos niveles (2-Tier).

sobes.tech AI

Respuesta de la IA

En una arquitectura de dos niveles, hay dos componentes principales: cliente y servidor.

  • Cliente (Capa de Presentación): Se encarga de interactuar con el usuario y presentar los datos. Esto puede ser una aplicación de escritorio, un navegador web, etc. Toda la lógica de la interfaz de usuario y parte de la lógica de negocio puede residir en el cliente.
  • Servidor (Capa de Datos): Se encarga del almacenamiento y gestión de datos, generalmente usando una base de datos. El cliente envía solicitudes directamente al servidor para obtener, agregar, modificar o eliminar datos.

Ventajas:

  • Facilidad de desarrollo y despliegue para aplicaciones pequeñas.
  • Alto rendimiento con un número reducido de usuarios, ya que no hay una capa intermedia.

Desventajas:

  • Escalabilidad limitada: al aumentar el número de clientes, el rendimiento puede disminuir debido a la carga en la base de datos del servidor.
  • Duplicación de lógica de negocio: cierta lógica puede estar implementada tanto en el cliente como en el servidor, lo que complica el mantenimiento.
  • Complejidad de soporte: cambios en la lógica de negocio o en la base de datos a menudo requieren actualizar todos los clientes.
  • Problemas de seguridad: las solicitudes directas del cliente a la base de datos pueden representar una amenaza.

Escenarios de uso:

  • Aplicaciones de escritorio simples con un número limitado de usuarios.
  • Aplicaciones intranet en pequeñas empresas.

Ejemplo:

Una simple aplicación de escritorio para gestión que accede directamente a una base de datos de archivos (por ejemplo, Access).

-- Ejemplo de consulta SQL desde el cliente al servidor
SELECT * FROM Customers WHERE City = 'Moscow';