Cliente – Servidor. Un clásico.
Son muchas las posibilidades que tenemos hoy para desplegar un proyecto de gestión documental en una instalación con varios usuarios. Pero si hay un concepto que todos los entendidos conocen es el de una instalación cliente-servidor. Es éste un término que me persiguió en mis primeros años en la informática de gestión, a finales de los 80. Al igual que hoy es difícil pasar 2 ó 3 páginas de una revista de informática sin leer una referencia al «cloud computing» o los equipos «green», en aquellos años en los que el PC se empezaba a popularizar todas las grandes empresas ofrecian sus productos como el mejor ejemplo de instalación «cliente-servidor». Aquello me confundía mucho porque apenas estaba empezando a ver las primeras redes locales «entre pares» o «entre iguales» (p2p o peer to peer diríamos hoy, aunque refiriéndonos a redes WAN -Internet- y no LAN -locales-) y no había leído un artículo como éste que me explicara qué era aquello del «cliente-servidor».
Recordemos (o leamos la anterior entrada) que hasta la llegada del PC la instalación «típica» era un mainframe (ordenador central) con un coste enorme (tanto como el volumen del cacharro) al que se conectaban terminales «tontas». Al sustituir estas terminales por PCs con capacidad de proceso y de almacenamiento surgía esta otra arquitectura en la que el ordenador central no tenía que ser tan potente (ni tan caro, ni voluminoso) porque cada terminal realizaba parte del «trabajo». Esto puede parecer una ventaja pequeña si pensamos en unos pocos terminales. Pero si hablamos de cientos de usuarios trabajando simultáneamente se comprende fácilmente que la capacidad del ordenador central tenía que ser muy elevada, frente a esta otra «arquitectura» en la que se «traslada» gran parte del trabajo a la terminal que utiliza cada usuario, quedando el papel del ordenador central (que ahora llamamos servidor) bastante limitado.
Las ventajas de las instalaciones que usaban esta arquitectura eran evidentes respecto a los «mainframes», sobre todo en precio y necesidad (o falta de ella) de técnicos especializados en mantener aquellas carísimas y delicadas máquinas. Respecto a las instalaciones de «micro-informática» que consistían en varios PCs de bajo coste (bajo respecto a los mainframe, porque un PC corriente podía costar 4 ó 5 mil euros) unidos por un cable coaxial, la arquitectura cliente-servidor aportaba un pequeño ordenador central que actuaba como servidor de ficheros o aplicaciones. De esta forma, los usuarios compartían la base de datos de los clientes, o la contabilidad de la empresa, o los documentos de uso común entre todos. Un servidor, que solo era un poco más caro que un PC normal, aportaba seguridad a la instalación (al ser el servidor un ordenador más robusto y diseñado para un uso continuo), más velocidad (solía ser más potente que los terminales) y centralizaba la información de la empresa. Sin duda esta arquitectura era una opción ganadora, y así lo fue durante bastantes años.
Si este modelo era tan bueno, ¿por qué se cuestionó más adelante y ha sido sustituido por las arquitecturas de clientes Web y el Cloud computing?
Aunque simplificar siempre implica equivocarse un poco, creo que hay una razón por encima de todas las demás que explica el auge del modelo Web en muchas instalaciones, y el declive del modelo cliente-servidor. El mayor problema de una instalación cliente-servidor es que habitualmente hay que instalar en los ordenadores «cliente» programas específicos para acceder a los datos y las aplicaciones que residen en el servidor. Esto es lo que se llama un «cliente pesado» que es un concepto de software, no de hardware. Lo explicaré con el habitual ejemplo al que recurro cuando no sé cómo seguir.
Si instalamos un ERP o un CRM o un programa de gestión documental en una empresa (o Administración, pero eso es igual) los datos y parte del propio programa suelen residir en un servidor que, si la instalación no es muy grande, es físicamente un solo ordenador. Los usuarios utilizan PCs para conectarse al programa pero necesitan instalar, en cada uno de los puestos, un software específico para acceder. Este es el cliente pesado.
En una instalación con clientes Web los usuarios utilizan el navegador, Windows Internet Explorer, Firefox, Chrome… para acceder al programa y a los datos. No necesitan instalar software adicional. Esto es lo que se llama un cliente ligero. Y las ventajas son evidentes.
Lógicamente tienen otros problemas, sino, no quedarían instalaciones cliente-servidor. Pero eso será objeto de otra entrada.
[…] No quería acabar el año sin tratar esta arquitectura porque es la que está más de moda y si no la tratas bien te tachan rápidamente de retrógrado, obsoleto y dinosaurio prehistórico. Como no quiero ser nada de eso, aquí va la entrada correspondiente. (Como el resto de mis entradas numeradas, no leas ésta sin leer antes la anterior). […]
[…] que todos nos hacemos, o deberíamos, después de haber leído las dos entradas anteriores sobre cliente-servidor y aplicaciones Web (no dejes de hacerlo antes de leer ésta): Si las aplicaciones Web tienen tantas […]