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.
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
contratar un servicio de redes, se debe tener en cuenta la velocidad de
conexión que le otorga al cliente y el tipo de cable que utiliza , por
ejemplo : cable de cobre ronda entre 1 ms y 50 ms.
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 con las redes de pares
Las redes de pares,
también conocidas como redes par-a-par o peer-to-peer (abreviados con
las siglas P2PM)
son otro tipo de arquitectura 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”.
Arquitecturas
multicapas
La
arquitectura cliente/servidor genérica tiene dos tipos de nodos en la
red: clientes y servidores. Consecuentemente,
estas arquitecturas genéricas se refieren a veces como arquitecturas de dos
niveles o dos
capas.
Algunas redes
disponen de tres tipos de nodos:
§
Clientes
que interactúan con los usuarios finales.
§
Servidores
de aplicación que procesan los datos para los clientes.
§
Servidores
de la base de datos que almacenan los datos para los servidores de aplicación.
Esta configuración se
llama una arquitectura de tres-capas.
§
Ventajas
de las arquitecturas n-capas:
La
ventaja fundamental de una arquitectura n-capas comparado con una arquitectura de dos
niveles (o una tres-capas con una de dos niveles) es que separa hacia fuera el
proceso, eso ocurre para mejorar el balance la carga en los diversos
servidores; es más escalable.
§
Desventajas
de las arquitecturas de la n-capas:
§
Pone
más carga en la red, debido a una mayor cantidad de tráfico de la red.
§
Es
mucho más difícil programar y probar el software que en
arquitectura de dos niveles porque tienen que comunicarse más dispositivos para
terminar la transacción de un usuario.
Ventajas
No hay comentarios:
Publicar un comentario