Arquitectura Cliente-Servidor: Conceptos Clave, Modelos y Tipos de Clientes
Clasificado en Informática
Escrito el en español con un tamaño de 3,6 KB
Arquitecturas Cliente-Servidor
Definición
La arquitectura cliente-servidor se refiere a un modelo donde un programa, el servidor, gestiona un recurso compartido específico y realiza determinadas funciones solo cuando son solicitadas por otro programa, el cliente, que es quien interactúa directamente con el usuario.
Un ejemplo claro de arquitectura cliente-servidor es un sistema de gestión de bases de datos (SGBD) activado en un servidor. Los programas que se ejecutan en los ordenadores clientes pueden emitir instrucciones SQL para acceder y manipular esta base de datos.
Tipos de Arquitectura Cliente-Servidor
Arquitectura Monocapa
En este modelo, tanto la propia aplicación como los datos que maneja se encuentran en la misma máquina y son administrados por la misma herramienta.
Arquitecturas de Dos Capas
Las aplicaciones de dos capas (o dos niveles) se refieren a un modelo donde el cliente mantiene la lógica de presentación, la lógica de negocio y la lógica de acceso a los datos, mientras que el servidor se encarga únicamente de la gestión de los datos.
Arquitecturas de Tres Capas
Las arquitecturas de tres capas, también conocidas como arquitecturas totalmente distribuidas, reparten las tres funciones principales de la aplicación (presentación, lógica de negocio y datos) en máquinas o servidores distintos.
Tipos de Clientes en Arquitecturas Cliente-Servidor
Cliente Delgado (Thin Client)
Un cliente delgado (o cliente liviano) es una computadora o software cliente en una arquitectura de red cliente-servidor que depende principalmente del servidor central para la mayoría de las tareas de procesamiento. Su función principal es transportar la entrada del usuario al servidor remoto y mostrar la salida generada por este.
Ventajas del Cliente Delgado
- Menores costos administrativos de TI.
Ejemplo de Cliente Delgado
Cargar el kernel de Linux en la memoria del cliente liviano.
Cliente Inteligente (Smart Client)
El cliente inteligente es un tecnicismo utilizado en el desarrollo de software. Generalmente se refiere a aplicaciones que, en este modelo, almacenan datos localmente. Esto permite realizar consultas y operaciones de la base de datos directamente en el dispositivo cliente, incluso sin conexión constante al servidor.
Ventajas del Cliente Inteligente
- Reduce la transferencia de datos a través de la red (gracias a los datos distribuidos), lo que disminuye los costos.
- Reduce la carga de trabajo de los servidores.
Cliente Robusto (Thick Client / Fat Client)
Se denomina cliente robusto (o cliente pesado/gordo) al programa cliente en una arquitectura cliente-servidor cuando la mayor carga de cómputo y procesamiento se desplaza hacia la computadora que ejecuta dicho programa.
Ventajas del Cliente Robusto
- Aprovecha la capacidad de cómputo de las computadoras que lo ejecutan, las cuales suelen estar infrautilizadas, liberando así recursos del servidor.
- Ofrece una interfaz de usuario más rica y compleja, ya que no está limitada por las características de un cliente universal o web.
Desventajas del Cliente Robusto
- Pueden surgir incompatibilidades entre diferentes versiones o sistemas operativos.
- Requiere una infraestructura más compleja para la instalación y actualización de la aplicación, a menudo de manera desatendida.