¿Qué es la arquitectura cliente-servidor?

NUCBA
3 min readMay 27, 2021

Sus usos en programación

La arquitectura cliente-servidor es un modelo de diseño de software. Acá, las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes.

Un ejemplo de cliente es Chrome, que es ejecutado en nuestra computadora. En cambio, el servidor es aquel lugar al que pide datos para mostrar al usuario.

En la base de datos los datos están almacenados de forma remota y persistente (no se van a perder porque salgamos del sitio, ya que no están en nuestra máquina).

Mientras que del lado cliente, el lenguaje por defecto es JS. A su vez, del lado del servidor existen diversos lenguajes en que se puede programar: PHP, Java, Ruby, Python, y también pueden crearse servidores con JavaScript, usando Node.

¿Qué hay detrás de la arquitectura cliente/servidor?

La capacidad para separar la lógica de la aplicación de la gestión de la base de datos y repartirlas en dos CPUs, permite a los sistemas cliente disponer de más potencia que, a su vez, les permitirá ejecutar los nuevos entornos gráficos, proporcionando al usuario un acceso más sencillo e intuitivo a la información que necesita. Al mismo tiempo, están disponibles toda una serie de nuevas prestaciones a nivel de gestores de bases de datos en cuanto a informática distribuida.

Gran parte del interés por el downsizing y la informática distribuida se deriva del hecho de que muchas empresas desean implementar aplicaciones, que antes residían obligatoriamente en mainframes, en sistemas más pequeños y que están resultando más rápidos, flexibles y, sobre todo, económicos. Pero antes de entrar en un proceso de downsizing, es necesario conocer las garantías existentes en cuanto a la integridad de la información y a la posibilidad de desarrollar aplicaciones sofisticadas.

Los PCs y las LANs tienen la reputación de no tener los niveles de seguridad ofrecidos por los sistemas mainframe. La arquitectura cliente/servidor es una solución que combina la docilidad del PC o estación de trabajo, con la integridad, seguridad y robustez del entorno mainframe. Las bases de datos ubicadas en LANs de PCs utilizan implementaciones del lenguaje SQL, el lenguaje estándar utilizado en los mainframes. Una vez que los usuarios se encuentran en un entorno cliente/servidor, tienen la libertad necesaria para crear una arquitectura de aplicaciones económica, flexible, transportable y abierta a la evolución.

Las ventajas del lenguaje SQL en arquitecturas cliente/servidor

Una ventaja importante del lenguaje SQL es su eficacia en entornos de red, lo que implica una mejora en el rendimiento del gestor de base de datos. Cuando se emplean servidores de archivos tradicionales, al estilo de las redes clásicas de PCs, una gran parte del archivo de datos viaja por la red desde el servidor de archivos a la máquina cliente. Al utilizar en el servidor un gestor de bases de datos SQL, sólo los datos implicados en la consulta (query) -normalmente un fragmento de tabla o tablas- viajan a la máquina cliente.

Fuente: Equipo de Mentores de @Nucba.

https://nucba.com.ar/

--

--

NUCBA

Programación Full Stack | Diseño UX UI | Datos