Modelo Cliente-Servidor
Modelo Cliente-Servidor
Modelo Cliente-Servidor
En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores,
aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la
gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño
del sistema.
La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se
ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos
específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del
correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica
seguirá siendo la misma.
Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en
diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el
grado de distribución del sistema.
La red cliente-servidor es una red de comunicaciones en la cual los clientes están conectados a un
servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los
pone a disposición de los clientes cada vez que estos son solicitados. Esto significa que todas las
gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los
requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso
público y los que son de uso restringido, los archivos que son de sólo lectura y los que, por el
contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente en caso
de que se esté utilizando en una red mixta.
Características
En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus características
son:
Al receptor de la solicitud enviada por el cliente se conoce como servidor. Sus características son:
Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un
papel pasivo en la comunicación (dispositivo esclavo).
Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente.
Por lo general, acepta las conexiones de un gran número de clientes (en ciertos casos el
número máximo de peticiones puede estar limitado).
El Cliente y el Servidor pueden actuar como una sola entidad y también pueden actuar
como entidades separadas, realizando actividades o tareas independientes.
Las funciones de Cliente y Servidor pueden estar en plataformas separadas, o en la misma
plataforma.
Cada plataforma puede ser escalable independientemente. Los cambios realizados en las
plataformas de los Clientes o de los Servidores, ya sean por actualización o por reemplazo
tecnológico, se realizan de una manera transparente para el usuario final.
Otro tipo de arquitectura de red se conoce como arquitectura del par-a-par porque cada nodo o
caso del programa es un “cliente” y un “servidor” y cada uno tiene responsabilidades equivalentes.
Ambas arquitecturas están en uso amplio.
Ventajas
Centralización del control: los accesos, recursos y la integridad de los datos son
controlados por el servidor de forma que un programa cliente defectuoso o no autorizado
no pueda dañar el sistema. Esta centralización también facilita la tarea de poner al día
datos u otros recursos (mejor que en las redes P2P)..
Escalabilidad: se puede aumentar la capacidad de clientes y servidores por separado.
Cualquier elemento puede ser aumentado (o mejorado) en cualquier momento, o se
pueden añadir nuevos nodos a la red (clientes y/o servidores).
Fácil mantenimiento: al estar distribuidas las funciones y responsabilidades entre varios
ordenadores independientes, es posible reemplazar, reparar, actualizar, o incluso
trasladar un servidor, mientras que sus clientes no se verán afectados por ese cambio (o
se afectarán mínimamente). Esta independencia de los cambios también se conoce como
encapsulación.
Existen tecnologías, suficientemente desarrolladas, diseñadas para el paradigma de C/S
que aseguran la seguridad en las transacciones, la amigabilidad de la interfaz, y la facilidad
de empleo.
Desventajas