Publicado el 24 de Marzo del 2021
794 visualizaciones desde el 24 de Marzo del 2021
185,0 KB
10 paginas
Creado hace 20a (02/03/2005)
Tema 2: EL MODELO CLIENTE/SERVIDOR
E. U. Informática en Segovia
Departamento de Informática
Universidad de Valladolid
Definición de sistemas cliente/servidor (1)
• Clientes y servidores: entidades lógicas separadas por una red para
lograr cierta tarea. Diferencias con otro software distribuido:
• Servicio: relación cliente/servidor entre procesos que se ejecutan
en máquinas distintas diferenciados en función de la idea de
servicio:
Servidor: proveedor de servicios
Cliente: consumidor de servicios
• Recursos compartidos: servidor puede dar servicio a más de un
cliente y regular su acceso a recursos compartidos
• Asimetría de protocolos:
Relación de muchos a uno
El cliente comienza el diálogo solicitando servicio; el servidor espera
solicitudes
• Localización transparente: el software cliente/servidor enmascara
la localización del servidor
• Independencia del hardware
SD_TE02_20050225
EUI-SG/INFOR.UVA.ES
2
s
o
d
i
u
b
i
r
t
s
i
D
s
a
m
e
t
s
i
S
s
o
d
i
u
b
i
r
t
s
i
D
s
a
m
e
t
s
i
S
Definición de sistemas cliente/servidor (2)
Más características:
• Intercambio de mensajes: clientes y los servidores son procesos
débilmente acoplados que interaccionan mediante paso de
mensajes
• Encapsulación de servicios: posible actualización de servidores si
no se modifica el protocolo
• Escalabilidad: relación cliente/servidor entre procesos que se
ejecutan en máquinas distintas diferenciados en función de la idea
de servicio:
Horizontal: añadir clientes sin que el servicio se vea demasiado
afectado
Vertical: se puede cambiar el servidor o distribuir el servicio por
múltiples servidores
• Integridad: datos centralizados en el servidor => mantenimiento
de integridad sencillo
SD_TE02_20050225
EUI-SG/INFOR.UVA.ES
3
Tecnología cliente/servidor(1)
• Servidores de ficheros: los clientes hacen solicitudes de ficheros al
servidor: forma de compartir ficheros en una red (repositorios de
documentos, imágenes, programas, etc.)
• Servidores de bases de datos: aplicaciones del cliente mandan
solicitudes SQL al servidor. El servidor devuelve el resultado de la
consulta.
• Servidores de transacciones: el cliente invoca procedimientos
remotos o transacciones (conjunto de instrucciones SQL) sobre la
base de datos. Los datos intercambiados son:
Cliente -> servidor: solicitud
Servidor -> cliente: mensaje de resultado
• Servidores groupware: intercambio de información
semiestructurada: texto, imágenes, u otros (Lotus Notes o
Microsoft Exchange). Cada vez más se usa e-mail
SD_TE02_20050225
EUI-SG/INFOR.UVA.ES
4
s
o
d
i
u
b
i
r
t
s
i
D
s
a
m
e
t
s
i
S
s
o
d
i
u
b
i
r
t
s
i
D
s
a
m
e
t
s
i
S
Tecnología cliente/servidor(2)
• Servidores de aplicaciones de objetos:
Aplicación cliente/servidor: conjunto de objetos de comunicación.
Los objetos del cliente usan un Object Request Broker (ORB). El
cliente invoca un método remoto, el ORB localiza una instancia de
la clase del objeto en el servidor, invoca el método y devuelve el
resultado al objeto del cliente.
CORBA (Common Object Request Broker Arquitecture)
• Servidores de aplicaciones web:
World Wide Web: arquitectura cliente/servidor (los clientes
solicitan documentos a los servidores). La solicitud es por nombre
y el protocolo es HTTP
Hay objetos web y toda clase de aplicaciones nuevas
SD_TE02_20050225
EUI-SG/INFOR.UVA.ES
5
Modelo de cliente grueso/fino
• Modelo de cliente grueso: funcionalidad en el cliente. Servidores
de ficheros o de bases de datos, (el cliente conoce la organización
de los datos en el servidor)
• Modelo de servidor grueso: funcionalidad en el servidor. Minimiza
la carga del cliente y de la red. En el cliente interfaz de usuario
que interacciona con el servidor mediante llamadas remotas
A menudo complementarios: aplicación con servicios de ficheros,
base de datos, transacciones y objetos.
SD_TE02_20050225
EUI-SG/INFOR.UVA.ES
6
s
o
d
i
u
b
i
r
t
s
i
D
s
a
m
e
t
s
i
S
s
o
d
i
u
b
i
r
t
s
i
D
s
a
m
e
t
s
i
S
Arquitecturas cliente/servidor de 2, 3 ó N
niveles (1)
Arquitecturas 2-tier, 3-tier y N-tier
Clasificación lógica
• 2 niveles: lo visto hasta ahora. Ej: servidor de páginas web
Cliente (navegador) <-> http <-> Servidor (documentos)
• 3 niveles: parte de la lógica de la aplicación en un nivel
intermedio. Ej: acceso a base de datos a través de web
Cliente web : petición
Servidor web: recoge consulta y es cliente del servidor de base de
datos
Servidor de base de datos
Ventajas principales:
Encapsulación => flexibilidad, escalabilidad...
Seguridad
SD_TE02_20050225
EUI-SG/INFOR.UVA.ES
7
Arquitecturas cliente/servidor de 2, 3 ó N
niveles (2)
• N niveles: descomposición del nivel intermedio en un grupo de
componentes que interactúan. Ej: portales de compra en Internet
Ventajas principales:
Desarrollo más fácil y
flexible
Reutilización de
componentes
Encapsulamiento =>
aplicaciones más seguras
Mejora continua del servicio
SD_TE02_20050225
EUI-SG/INFOR.UVA.ES
8
s
o
d
i
u
b
i
r
t
s
i
D
s
a
m
e
t
s
i
S
s
o
d
i
u
b
i
r
t
s
i
D
s
a
m
e
t
s
i
S
Configuraciones cliente/servidor típicas
Tres bloques básicos en una arquitectura cliente/servidor:
cliente, servidor, middleware
Ejemplos de configuraciones:
• Arquitecturas cliente/servidor en la misma máquina. Ej: sistema
de gestión de una consulta de un médico con un solo ordenador =>
alta escalabilidad
• Arquitecturas cliente/servidor con servidor único. Ej: sistemas
basados en LAN con un servidor y varios clientes (terminales)
• Arquitecturas cliente/servidor con varios servidores.
Varios servidores con funciones distintas
Duplicación de servidores para robustez frente a fallos o para aumento
de rendimiento más fácil y flexible
• Arquitecturas cliente/servidor en la cual cada máquina que es un
cliente y un servidor completo
SD_TE02_20050225
EUI-SG/INFOR.UVA.ES
9
Elementos de arquitecturas
cliente/servidor
• Tres bloques básicos en una arquitectura cliente/servidor:
Cliente: incluye sistema operativo (OS) sobre con interfaz gráfico de
usuario (GUI) o interfaz orientado a objetos de usuario (OOUI)
Servidor: ejecuta software especializado
Middleware: software distribuido para interacciones entre cliente y
servidor
Desde la API del cliente usada para invocar el servicio, la transmisión
de la solicitud y la respuesta hasta el sistema que informa al servidor
No incluye el software que proporciona el servicio ni el interfaz de
usuario en el cliente. Parte en el cliente y parte en el servidor
El middleware incluye:
• Protocolos de transporte, como TCP/IP, IPX...
• NOS's (Sistemas operativos de red), como RPC, Samba...
• Middleware específico para el servicio como HTTP, ORB...
• Responsable del buen funcionamiento, especialmente en N niveles
• DSM (Distributed System Management): agentes que envían
información desde todos los nodos de la red cliente/servidor para
su recogida y presentación
SD_TE02_20050225
EUI-SG/INFOR.UVA.ES
10
s
o
d
i
u
b
i
r
t
s
i
D
s
a
m
e
t
s
i
S
s
o
d
i
u
b
i
r
t
s
i
D
s
a
m
e
t
s
i
S
Características del servidor:
funciones del servidor
• Esperar peticiones de clientes (mensajes). A veces sesión por
cliente y otras conjunto dinámico de sesiones
• Atender solicitudes simultáneas => concurrencia. Sin riesgo para la
integridad de los recursos compartidos
• Prioridades en la atención de las solicitudes
• Capacidad de lanzar tareas en segundo plano no relacionadas con
el servicio Ejemplo: un servidor de ftp aprovecha las horas de la
noche para actualizar un mirror
• Robustez: crítica en servidores
• Escalabilidad y extensibilidad
SD_TE02_20050225
EUI-SG/INFOR.UVA.ES
11
Características del servidor:
requisitos del SO del servidor (1)
Distinguimos en un SO servicios básicos (“de serie”) y servicios
extendidos:
SERVICIOS BÁSICOS:
• Alto nivel de concurrencia (tanto de tareas como en cada tarea)
• Task preemption: fin de las tareas “voluntario” => peligro. Mejor
slots de tamaño fijo
• Prioridades
• Mecanismos de concurrencia (semáforos, monitores)
• Mecanismos de comunicación entre procesos. Redireccionamiento
transparente
• Threads
• Sistema de ficheros multiusuario de altas prestaciones: muchos
ficheros abiertos simultáneamente y protección de integridad
• Sistema eficaz de gestión de memoria: manipulación de objetos y
programas grandes. Sistema de intercambio ágil con el disco
• Extensibilidad sin recompilar o (idealmente) rearrancar
SD_TE02_20050225
EUI-SG/INFOR.UVA.ES
12
s
o
d
i
u
b
i
r
t
s
i
D
s
a
m
e
t
s
i
S
s
o
d
i
u
b
i
r
t
s
i
D
s
a
m
e
t
s
i
S
Características del servidor:
requisitos del SO del servidor (2)
SERVICIOS EXTENDIDOS:
• Soporte para distintos protocolos de comunicación => servicio a clientes
• Extensiones para acceso transparente a recursos compartidos (ficheros,
distintos
impresoras...)
video, gráficos...
por su nombre)
• Recursos de manipulación de BLOBs (Binary Large OBjects): imágenes,
• Sistema de directorio global o páginas amarillas (localización de recursos
• Servicios de autenticación (un cliente es quien dice ser) y autorización (un
cliente puede hacer lo que está haciendo)
• Gestión del sistema: configuración, monitorización, generación de alertas,
distribución y manipulación de paquetes de software para los clientes,
identificación de virus o intrusos...
• Sincronización temporal entre clientes y servidor
• Servicios de bases de datos y de transacciones
• Servicios de internet: HTTP, SSL, firewalls, DNS...
• Servicios orientados a objetos
SD_TE02_20050225
EUI-SG/INFOR.UVA.ES
13
Características del servidor:
evolución de los servidores (1)
Segmento muy heterogéneo:
• desde servidores simples de impresora
• hasta servidores de
Comentarios de: Tema 2: EL MODELO CLIENTE/SERVIDOR (0)
No hay comentarios