¿Cuál es la función principal de un sistema cliente-servidor?

La función principal de un sistema cliente-servidor es crear una división de trabajo entre un servidor centralizado y las computadoras individuales que ejecutan tu software. Este modelo tiene varios beneficios que ayudan a tu pequeño negocio a crear y comercializar aplicaciones de datos y procesamiento intensivo en el competitivo mercado del software.

Fundamentos

El concepto fundamental detrás de un sistema cliente-servidor es economizar el ancho de banda y desempeño mediante la creación de un servidor que almacene toda la información de un sistema y un software cliente que acceda a los datos desde el servidor. El software cliente solicita únicamente lo que necesita de forma inmediata al servidor, y éste último responde a dichas peticiones a medida que lleguen. Este sistema también crea una capa de seguridad al permitir que un servidor solamente responda a peticiones que un cliente determinado esté autorizado a solicitar en cualquier momento.

Hardware

El modelo cliente-servidor permite que tu pequeño negocio pueda crear software al que pueda acceder una amplia variedad de hardware. Cuando consolidas la totalidad de los datos de la aplicación y las tareas de procesamiento intensivo en tus propios servidores de gran potencia, aligeras las cargas de procesamiento y memoria en las computadoras individuales que ejecuten el software cliente. Esta división de trabajo te permite vender software poderoso que puede ejecutarse en computadoras con hardware de gama baja, expandiendo tu base de clientes potenciales.

Sistemas operativos

Si bien el sistema operativo Windows de Microsoft actualmente tiene la mayor parte del mercado de sistemas operativos de escritorio, esto no significa que sea el único sistema operativo. Cuando tu software divide su trabajo entre un servidor centralizado y clientes de software individuales, tú puedes vender tu software para Windows, OS X e incluso Linux simplemente escribiendo de nuevo el software cliente. Solamente necesitas programar una vez el sistema del servidor en sí mismo y luego simplemente programar las diferentes versiones de tu software cliente para crear una interfaz con la única versión del software de tu servidor.

Implementaciones

Puedes ver las aplicaciones de dividir la función de un software entre servidores y clientes a lo largo del mundo tecnológico. Los juegos de computadora multijugador usan un servidor centralizado para rastrear todos los datos relacionados con un juego y solamente hacen que los clientes individuales trabajen con los datos que le conciernen a cada jugador de forma inmediata. El software de acceso remoto permite que los empleados trabajen desde cualquier lugar sin requerir que tengan una copia completa de su disco duro de trabajo en sus computadoras portátiles o computadoras del hogar. El software de transmisión de música almacena la biblioteca de música completa del servicio y solamente envía al software cliente los datos de la canción que esté reproduciendo en ese momento. Este modelo se está volviendo cada vez más común a medida que más clientes usan teléfonos inteligentes, cuya memoria limitada y poder de cómputo depende de servidores poderosos y centralizados para ejecutar aplicaciones de datos intensivas de manera eficiente.