Cliente-servidor
La arquitectura cliente-servidor es un modelo de aplicación
distribuida en el que las tareas se reparten entre los proveedores de recursos
o servicios, llamados servidores, y los
demandantes, llamados clientes. Un cliente
realiza peticiones a otro programa, el servidor, que le da respuesta. Esta idea también se
puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es
más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.
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 arquitectura
cliente-servidor sustituye a la arquitectura monolítica en la
que no hay distribución, tanto a nivel físico como a nivel lógico.
La red cliente-servidor es
aquella red de comunicaciones en la que todos 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 este 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:
·
Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en
la comunicación (dispositivo maestro o amo).
·
Espera y recibe las respuestas del servidor.
·
Por lo general, puede conectarse a varios servidores a la vez.
· Normalmente
interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario.
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, aceptan conexiones desde un gran
número de clientes (en ciertos casos el número máximo de peticiones puede estar
limitado).
§
No es frecuente que interactúen directamente con
los usuarios finales.
Comparación de la arquitectura C/S con otras arquitecturas de red
Comparación con la arquitectura
Cliente-Cola-Cliente
Si bien la clásica arquitectura C/S requiere uno de los puntos
terminales de comunicación para actuar como un servidor, que puede ser algo más difícil de aplicar, la
arquitectura Cliente-Cola-Cliente habilita a todos los nodos para actuar como
clientes simples, mientras que el servidor actúa como una cola que va
capturando las peticiones de los clientes (un proceso que debe pasar sus
peticiones a otro, lo hace a través de una cola, por ejemplo, una consulta a
una base de datos, entonces, el segundo proceso conecta con la base de datos,
elabora la petición, la pasa a la base de datos, etc.). Esta arquitectura
permite simplificar en gran medida la implementación de software. La
arquitectura P2P originalmente se basó en el concepto
“Cliente-Cola-Cliente”.
Arquitectura cliente-servidor
En el mundo de TCP/IP las
comunicaciones entre procesos siguen una arquitectura denominada
cliente-servidor. La idea es que un proceso actúa como un servidor (proporciona
servicios a los clientes) y espera que algún cliente se conecte a él en demanda
de un servicio. Otro proceso actúa como cliente y se conecta al servidor para
obtener un servicio.
No hay comentarios:
Publicar un comentario