Arquitectura de Los Sistemas Distribuidos 2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 24

ARQUITECTURAS CLIENTE – SERVIDOR

En una arquitectura cliente-servidor, una aplicación se


modela como un conjunto de servicios proporcionados por
los servidores y un conjunto de clientes que usan estos
servicios.

* Los clientes necesitan conocer qué servidores están


disponibles, pero normalmente no conocen la existencia de
otros clientes.
* Clientes y servidores son procesos diferentes.
* Varios procesos servidores pueden ejecutarse sobre un
único procesador servidor; por lo tanto, no hay
necesariamente una correspondencia 1:1 entre procesos y
procesadores en el sistema.
ARQUITECTURAS CLIENTE-SERVIDOR
La figura muestra la arquitectura física de un sistema con seis
computadores cliente y dos computadores servidor
ARQUITECTURAS CLIENTE-SERVIDOR

Esa arquitectura FISICA puede ejecutar los


procesos cliente y servidor que se
muestran en la figura siguiente.
• Acá, Cuando hablamos de clientes y
servidores, nos referimos a los procesos
lógicos, en vez de a las computadoras
físicas sobre las que se ejecutan, como
era el caso anterior.
ARQUITECTURAS CLIENTE-SERVIDOR

El diseño de sistemas cliente-servidor debería reflejar la estructura


lógica de la aplicación que se está desarrollando.
* Una forma de ver una aplicación se ilustra en la Figura siguiente,
que muestra una aplicación estructurada en tres capas.
* La capa de presentación está relacionada con la presentación de la
información al usuario y con toda la interacción con él.
La capa de procesamiento de la aplicación está relacionada con la
implementación de la lógica de la aplicación.
* La capa de gestión de datos está relacionada con todas las
operaciones sobre la base de datos.
CAPAS DE LAS APLICACIONES CS
ARQUITECTURAS CLIENTE - SERVIDOR
La arquitectura cliente-servidor más simple se denomina
arquitectura cliente-servidor de dos capas.
* Se organiza como un servidor (o múltiples servidores
idénticos) y un conjunto de clientes.
* Como se ilustra en la Figura siguiente, las arquitecturas
cliente/servidor de dos capas pueden ser de dos tipos:
1. Modelo de cliente ligero (thin-client). Acá todo el
procesamiento de las aplicaciones y la gestión de los datos
se lleva a cabo en el servidor.
* El cliente simplemente es responsable de la capa de
presentación del software.
ARQUITECTURAS CLIENTE – SERVIDOR

2. Modelo de cliente rico (fat-client). En este


modelo, el servidor solamente es responsable de
la gestión de los datos.

*El software del cliente implementa la lógica de


la aplicación y las interacciones con el usuario
del sistema.
ARQUITECTURAS CLIENTE – SERVIDOR
Clientes Livianos y Pesados
MODELO CLIENTE LIGERO/POBRE/DELGADO

Una arquitectura de dos capas con clientes ligeros es la más


simple que se utiliza cuando los sistemas heredados
centralizados, evolucionan a una arquitectura cliente-
servidor.
* La interfaz de usuario para estos sistemas se migra a PC’s,
y la aplicación en sí misma actúa como un servidor y
maneja todo el procesamiento de la aplicación y gestión de
datos.
* Un modelo de cliente ligero también puede
implementarse cuando los clientes son dispositivos de red
sencillos en lugar de PC’s o estaciones de trabajo.
* El dispositivo de red ejecuta un navegador de Internet y la
interfaz de usuario es implementada a través de ese
sistema.
MODELO CLIENTE LIGERO/POBRE/DELGADO

Una gran desventaja del modelo de cliente ligero es


que ubica una elevada carga de procesamiento,
tanto en el servidor como en la red.
* El servidor es responsable de todos los cálculos y
esto puede implicar la generación de un tráfico
significativo en la red entre el cliente y el servidor.
* Los dispositivos de computación modernos
disponen de una gran cantidad de potencia de
procesamiento, que es desperdiciada en la
aproximación de cliente ligero, liviano o pobre.
MODELO CLIENTE RICO/GORDO/PESADO

El modelo de cliente rico, pesado o gordo hace uso de


esta potencia de procesamiento disponible y distribuye,
tanto el procesamiento de la lógica de la aplicación, como
la presentación al cliente.
* El servidor es esencialmente de transacciones.
* Gestiona todas las transacciones de la base de datos.
* Ejemplo: arquitectura de los sistemas bancarios ATM
(cajeros automáticos), en donde cada Cajero es un cliente
y el servidor es un mainframe que procesa la
cuenta del cliente en la base de datos.
MODELO CLIENTE RICO/GORDO/PESADO

ATM son las siglas en inglés que corresponden a


cajero automático. Es una computadora
especializada que le permite administrar su dinero
de manera conveniente. ... Habitualmente puede
acceder a la mayoría de los servicios en
un ATM operado por su propio banco.
MODELO CLIENTE RICO/GORDO/PESADO
MODELO CLIENTE RICO/GORDO/PESADO

El hardware de los cajeros automáticos realiza una gran


cantidad de procesamiento relacionado con el cliente y
asociado a la transacción.
* Los cajeros automáticos no se conectan directamente
con la base de datos de clientes sino con un monitor de
teleproceso.
* Un monitor de teleproceso o gestor de transacciones
es un sistema middleware que organiza las
comunicaciones con los clientes remotos y serializa las
transacciones de los clientes para su procesamiento en la
base de datos.
* El uso de transacciones serializadas significa que el
sistema puede recuperarse de los defectos sin
corromper los datos del sistema.
MODELO CLIENTE RICO/GORDO/PESADO

Aunque el modelo de cliente rico distribuye el


procesamiento de forma más efectiva que un
modelo de cliente ligero, la gestión del sistema es
más compleja.
* La funcionalidad de la aplicación se expande entre
varias computadoras.
* Cuando la aplicación software tiene que ser
modificada, esto implica la reinstalación en cada
computadora cliente.
* Esto puede significar un costo importante si hay
cientos de clientes en el sistema.
MODELO CLIENTE RICO/GORDO/PESADO
Sistema Cliente – Servidor de Cajeros Automáticos (ATM)
MODELO CLIENTE
SERVIDOR DE 2 CAPAS

El problema con una aproximación cliente-servidor


de dos capas es que las tres capas lógicas
presentación procesamiento de la aplicación y
gestión de los datos deben asociarse con dos
computadoras: el cliente y el servidor.
* Aquí puede haber problemas con la escalabilidad y
rendimiento si se elige el modelo de cliente ligero, o
problemas con la gestión del sistema si se usa el
modelo de cliente rico.
MODELO CLIENTE
SERVIDOR DE 3 CAPAS
Para evitar estos problemas, una aproximación alternativa es
usar una arquitectura cliente-servidor de tres capas.
* Aquí, la presentación, el procesamiento de la aplicación y la
gestión de los datos son procesos lógicamente separados que
se ejecutan sobre procesadores diferentes.
MODELO CLIENTE
SERVIDOR DE 3 CAPAS
Un sistema bancario por Internet es un ejemplo de una
arquitectura cliente-servidor de tres capas.
* La base de datos de clientes del banco (usualmente
ubicada sobre una computadora mainframe) proporciona
servicios de gestión de datos; un servidor web proporciona
los servicios de aplicación tales como facilidades para
transferir efectivo, generar estados de cuenta, pagar
facturas, y así sucesivamente.
* La propia computadora del usuario con un navegador de
Internet es el cliente.
MODELO CLIENTE
SERVIDOR DE 3 CAPAS

El sistema es escalable, porque es relativamente fácil añadir


nuevos servidores web, a medida que el número de clientes crece.
* El uso de una arquitectura de tres capas permite optimizar la
transferencia de información entre el servidor web y el servidor de
la base de datos.
* Las comunicaciones entre estos sistemas pueden usar protocolos
de comunicación de bajo nivel muy rápidos.
* Para recuperar información de la base de datos se utiliza un
middleware eficiente que soporte consultas a la base de datos en
SQL (Structured Query Language).
MODELO CLIENTE SERVIDOR DE 3 CAPAS
Figura de Modelo de Arquitectura Cliente – Servidor
de 3 Capas (Sistema Bancario en Internet)
Modelo Cliente - Servidor
Resumen del uso de diferentes arquitecturas Cliente-Servidor
SERVICIOS PROXY Y CACHE
Las cachés pueden estar en cada cliente o en un servidor
proxy que puede compartirse desde varios clientes.
Los navegadores mantienen una caché de las páginas
visitadas recientemente, y de otros recursos web, en el
sistema local de ficheros
del cliente; utilizan una petición HTTP para comprobar si
dichas páginas han sido actualizadas.
Los servidores proxy para el web proporcionan una caché
compartida de recursos web a las máquinas cliente de uno
o más sitios.

También podría gustarte