Vous êtes sur la page 1sur 54

Introducción

Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Bases de Datos Distribuidas:


Arquitectura Cliente/Servidor

M.C. Fernando Pech May

Instituto Tecnológico Superior de los Rı́os


Ing. en Sistemas Computacionales

30 de enero de 2012

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 1/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Contenido

1 Introducción

2 Paradigma Cliente/Servidor

3 Componentes de los Sistemas Cliente/Servidor

4 Modelos y tipologı́as
Clientes ligeros vs. clientes pesados
Arquitecturas 2-tier, 3-tier y n-tier

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 2/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Introducción

Con la llegada de las redes de computadoras en los primeros


años de los 70s, la industria de las computadoras y
comunicaciones empezaron a convergir
Las leyes de Moore han predecido que la velocidad de los
procesadores es del doble cada 18 meses. Para el año 2047
serı́a de un billón de veces más rápido comparado con 1997
Las computadoras estarı́an en todas partes, incluyendo el
cuerpo humano y en cası́ todas las herramientas de trabajo y
todas estarı́an interconectadas
El modelo cliente servidor surgió con la convergencia de las
computadoras y las comunicaciones

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 3/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Introducción

Una arquitectura es un conjunto de definiciones, reglas y


términos que se emplean para construir un producto
La arquitectura Cliente/Servidor es un tipo de cómputo
distribuido y cómputo cooperativo
Las partes que intervienen en esta arquitectura son el cliente
(generador de peticiones), el servidor (ofrece el servicio) y el
elemento que enlaza es la red de cómputo
Los actores establecen una comunicación entre pares, o sea de
igual a igual, dado que los clientes de una aplicación pueden
actuar como servidores de otra

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 4/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Cliente/Servidor: Propiedades

Clientes y Servidores son Procesos separados


Pueden Correr en la misma o en diferente máquina
Cada Proceso oculta su información interna
Cada proceso puede implementar su propio conjunto de reglas
del negocio
Los procesos se comunican con protocolos peer to peer

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 5/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Ventajas de la Arquitectura Cliente/Servidor

Permite un mejor aprovechamiento de la capacidad de


cómputo (reparte el trabajo)
Reduce el tráfico en la red (viajan solicitudes)
Opera bajo sistemas abiertos
Permite el uso de interfaces gráficas versátiles
Escalable

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 6/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Desventajas de la Arquitectura Cliente/Servidor

Difı́cil de construir
Puede llegar a ser menos estable
Susceptible a cargar la red
Falta de especialistas
Difı́cil de depurar (debugging)
Difı́cil de probar

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 7/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Definiendo los Componentes C/S

Servidor: Conjunto de software y hardware que responde a los


requerimientos de un cliente Tipos de Servidores
Servidor de archivos
Servidor de bases de datos
Servidor de comunicaciones
Servidor de impresión
Servidor de terminal
Servidor de aplicaciones, de imágenes, etc.

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 8/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Definiendo los Componentes C/S

Cliente. Conjunto de software y hardware que involucra los


servicios de uno o varios servidores
El Cliente oculta al servidor y la red
Detecta e intercepta peticiones de la aplicación y puede
redireccionarla
Dedicado a la sesión del usuario (inicia . . . termina)
El método más común por el cual solicita los servicios a un
servidor es por medio de RPCs1

1
Un RPC es un procedimiento que se ejecuta en otra máquina diferente a la
que hizo la invocación.
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 9/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Definiendo los Componentes C/S

Red de Cómputo: Conjunto de software y hardware que enlaza a


los clientes con los servidores.
Se clasifican en los siguientes tipos:
Redes de área local (LAN)
Redes de área metropolitana (MAN)
Redes de área amplia (WAN)
Tecnologı́as que se pueden aplicar:
Ethernet (10-100 Mbps), Token Ring (4 o 16 Mbps), FDDI
(100 Mbps), CDDI (100 Mbps), ATM (44.736 Mbps), Frame
Relay (2.048 Mbps)

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 10/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Atributos de la Comunicación

El cliente debe localizar e iniciar la comunicación con el


servidor (o servidores)
El modelo ejecuta el programa en el servidor y sólo se mandan
los resultados de I/O (tráfico = datos leı́dos o escritos)
Estilo transaccional y cooperativo

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 11/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Ejemplos Cliente-servidor

telnet
FTP
NFS
X Window System
World Wide Web
...

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 12/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Contenido

1 Introducción

2 Paradigma Cliente/Servidor

3 Componentes de los Sistemas Cliente/Servidor

4 Modelos y tipologı́as
Clientes ligeros vs. clientes pesados
Arquitecturas 2-tier, 3-tier y n-tier

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 13/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Paradigma Cliente-Servidor

Patrón arquitectónico para el desarrollo de sistemas distribuidos


Distribuye una aplicación entre 2 o más componentes
especializados cuya ejecución se distribuye entre 1 o más
equipos
Define dos tipos de entidades diferenciadas (asimétricas) que
se responsabilizan de acciones diferentes: clientes y servidores
Especifica 2 tipos de procesos con roles diferenciados

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 14/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Paradigma Cliente-Servidor

Define un modelo de interacción basado en el concepto de


servicio implementado sobre un diálogo petición-respuesta
Cliente inicia el diálogo mediante el envı́o de peticiones
Servidor presta el servicio y responde las peticiones recibidas

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 15/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Paradigma Cliente-Servidor

Especifica el modo en que se sincronizan los procesos


Cliente (parte activa)
demanda servicios a los servidores
se asume que cada petición deberá obtener respuesta
diseñado para soportar la interacción con el usuario final
Servidor (parte pasiva)
espera las peticiones de los clientes
procesa esas peticiones y envı́a una respuesta
diseño orientado a maximizar la eficiencia

Posibilidad de aplicar el patrón cliente-servidor en múltiples niveles


de abstracción dentro de un mismo sistema distribuidos

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 16/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Contenido

1 Introducción

2 Paradigma Cliente/Servidor

3 Componentes de los Sistemas Cliente/Servidor

4 Modelos y tipologı́as
Clientes ligeros vs. clientes pesados
Arquitecturas 2-tier, 3-tier y n-tier

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 17/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Componentes de los Sistemas Cliente/Servidor

Una aplicación cliente servidor se basa en el modelo de


solicitud-respuesta
El caso más simple corresponde a la situación en la cual una
aplicación (el cliente) solicita un recurso y otra (el servidor) la
atiende para brindarle el servicio de ser posible

Modelo Simple de interacción Cliente-Servidor

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 18/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Componentes de los Sistemas Cliente/Servidor

Un ejemplo de aplicación cliente servidor corresponde a los


denominados Sitios de Conversación (Chat)

Modelo cliente servidor para un Chat

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 19/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Componentes de los Sistemas Cliente/Servidor

Procesos básicos que se ejecutan durante la operación del Chat:

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 20/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Componentes de los Sistemas Cliente/Servidor

Bajo este esquema cada vez que el servidor recibe un nuevo


texto, dado que se produce un cambio en el “pizarrón”, se
envı́an a los clientes activos los cambios y en consecuencia
todos pueden leer lo que los demás escriben de manera local
en sus terminales, incluyendo sus propios textos.

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 21/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Componentes de los Sistemas Cliente/Servidor

Es lógico esperar que si el servidor se apaga o se desconecta


de la red, entonces los clientes perderán contacto y para
reanudarlo requieren que la rutina vuelva a comenzar
Este es uno de los cuellos de botella tı́picos de los sistemas
cliente-servidor, cuando falla la aplicación servidora o bien el
enlace de red, el sistema estero falla, a pesar que los clientes
estén arriba
Esto se debe a que la aplicación es fuertemente dependiente
de la parte servidora

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 22/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Componentes de los Sistemas Cliente/Servidor

Las aplicaciones de esta clase se conforman al menos de tres


partes:

El servidor El Enlace El Cliente


Elementos básicos de un Sistema Cliente Servidor

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 23/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Componentes de los Sistemas Cliente/Servidor

Cuando en el sistema opera un solo servidor y un solo cliente


se dice que tenemos una Aplicación Cliente Servidor Simple
Este modelo se puede desarrollar incluso en una misma
estación de trabajo
En particular es el caso de una DBMS que se ejecuta en una
máquina y en la misma máquina se ejecuta un programa que
interactúa con el DBMS realizando una o varias tareas
En éste ejemplo podemos identificar como “servidor”al DBMS
y como “cliente”a la aplicación del usuario

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 24/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Componentes de los Sistemas Cliente/Servidor

a) Caracterı́sticas de los clientes


Componente del sistema que interactúa con el usuario
No comparte sus recursos con otros clientes (en general)
No tiene restricciones especiales respecto a rendimiento,
fiabilidad y escalabilidad
no requiere equipos de altas prestaciones
fallo en un cliente no afecta al resto del sistema
Debe dar soporte a restricciones relativas a ergonomı́a
(facilidad de uso) y seguridad (evitar comprometer los demás
componentes)

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 25/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Componentes de los Sistemas Cliente/Servidor

b) Caracterı́sticas de los servidores


Componente del sistema que presta servicios al cliente
Gestiona y comparte sus recursos con los clientes que sirve
Suele tener restricciones especiales respecto a redimiento,
fiabilidad, escalabilidad y seguridad
capacidad suficiente para atender múltiple clientes
fallos en el servidor son crı́ticos e invalidan el sistema
el núm. de clientes (peticiones) puede ser muy variable y
aumentar si se requiere
evitar comprometer la seguridad de los recursos o datos
gestionados y de los clientes

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 26/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Componentes de los Sistemas Cliente/Servidor

c) Caracterı́sticas del middleware


Componente del sistema que da unidad y abstrae las
peculiaridades de las plataformas (hardware y S.O.) de
clientes y servidor
Gestiona los aspecto de bajo nivel para ofrecer un interfaz
común y coherente para el desarrollo de clientes y servidores

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 27/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Componentes de los Sistemas Cliente/Servidor

c) Caracterı́sticas del middleware (cont. . . )


Misiones principales
soporte al envı́o/recepción de mensajes
adaptación del formato de la información intercambiada
(marshaling /aplanamiento)
localización y acceso transparente a recursos/servicios:
nombrado, direccionamiento
soporte al paradigma de abstracción: stubs/skeletons en RPC,
RMI, CORBA, etc
otros servicios: seguridad, replicación, control concurrencia, . . .

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 28/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Componentes de los Sistemas Cliente/Servidor

c) Caracterı́sticas del middleware (cont. . . )


Combina e integra
servicios de bajo nivel (S.O.): seguridad,
autorización/permisos, ficheros distribuidos, . . .
servicios de red: librerı́as, pila de transporte TCP/IP, . . .
servicios especı́fico (abstracción)s: acceso a datos, portmapper,
ORB, . . .

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 29/51
Introducción
Paradigma Cliente/Servidor
Componentes de los Sistemas Cliente/Servidor
Modelos y tipologı́as

Componentes de los Sistemas Cliente/Servidor

c) Caracterı́sticas del middleware (cont. . . )


Aproximaciones (de menor a mayor nivel de abstracción)
middleware de paso de mensajes: interfaz de sockets (esquema
petición-respuesta)
middleware de invocación de métodos remota: RPC (llamadas
a funciones)
middleware de objetos distribuidos: RMI, CORBA (interacción
entre objetos)

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 30/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Contenido

1 Introducción

2 Paradigma Cliente/Servidor

3 Componentes de los Sistemas Cliente/Servidor

4 Modelos y tipologı́as
Clientes ligeros vs. clientes pesados
Arquitecturas 2-tier, 3-tier y n-tier

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 31/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Modelos y tipologı́as
Esquema abstracto de aplicaciones distribuidas genéricas (capas)
corresponde con las funciones tı́picas en un sistema

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 32/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Modelos y tipologı́as
Esquema abstracto de aplicaciones distribuidas genéricas (capas)
corresponde con las funciones tı́picas en un sistema
Capa de presentación (interfaz de usuario)
interacciona con el usuario, presenta los datos y recibe las
entadas

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 32/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Modelos y tipologı́as
Esquema abstracto de aplicaciones distribuidas genéricas (capas)
corresponde con las funciones tı́picas en un sistema
Capa de presentación (interfaz de usuario)
interacciona con el usuario, presenta los datos y recibe las
entadas
Capa de aplicación/negocio (lógica de aplicación)
responsable de las tareas propias de la aplicación concreta
aplica las reglas de negocio sobre los datos y las entradas de
usuario

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 32/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Modelos y tipologı́as
Esquema abstracto de aplicaciones distribuidas genéricas (capas)
corresponde con las funciones tı́picas en un sistema
Capa de presentación (interfaz de usuario)
interacciona con el usuario, presenta los datos y recibe las
entadas
Capa de aplicación/negocio (lógica de aplicación)
responsable de las tareas propias de la aplicación concreta
aplica las reglas de negocio sobre los datos y las entradas de
usuario
Capa de datos (almacenamiento y acceso a datos)
responsable de la gestión y almacenamiento permanente de los
datos
Cada tipo de sistema cliente-servidor distribuye esas capas de
modo distinto entre los componentes cliente y servidor
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 32/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Clientes ligeros vs. clientes pesados

Clasificación dependiendo de las responsabilidades asignadas al


cliente
Cliente ligero (thin client)
No implementa ningún aspecto de la lógica de aplicación
Simplemente actúa como intermediario entre usuario y
servidor
recoge entradas y las envı́a al servidor
presenta datos y resultados del servidor
Mı́nimos requisitos respecto a recursos hardware

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 33/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Clientes ligeros vs. clientes pesados

Cliente ligero (thin client, cont. . . )


Aumenta la complejidad del servidor (mayores
responsabilidades)
Ejemplo: clientes basados en navegadores web (JSP, ASP,
...)
capa de presentación repartida entre servidor (genera HTML
“al vuelo”) y cliente (navegador)
En últimos años surgen clientes ligeros ricos (tecnologı́as
AJAX) clientes basados en navegadores web + soporte de
interacciones complejas (javascript, carga XML ası́ncrono, . . . )

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 34/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Clientes ligeros vs. clientes pesados

Cliente pesado (fat client)


Implementa la mayor parte de la lógica de aplicación
Realiza procesamiento sobre datos de usuario antes de
comunicar con servidor
Requiere equipos con capacidad de proceso y/o
almacenamiento de datos
Servidor sencillo (responsabilidades mı́nimas, gestión datos)
Ejemplo: aplicación cliente contra servidor de base de datos

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 35/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Clientes ligeros vs. clientes pesados

Cliente hı́brido
Implementación de lógica de aplicación repartida entre cliente
y servidor
Ejemplo: aplicación cliente contra servidor de base de datos
con procedimientos almacenados

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 36/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Arquitecturas 2-tier, 3-tier y n-tier

Clasificacón en función de la ubicación fı́sica de las distintas


funcionalidades
Ejemplo Modelo tradicional: 2-tier (cliente-servidor en 2 niveles)
Servidores de Archivos
Servidores de Bases de datos con store procedures

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 37/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Arquitecturas 2-tier, 3-tier y n-tier

Modelo tradicional: 2-tier (cliente-servidor en 2 niveles, cont. . . )


Un cliente se localiza en un sitio fı́sico bien definido y lo
mismo sucede con el servidor
Un único servidor atiende a múltiples clientes

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 38/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Arquitecturas 2-tier, 3-tier y n-tier

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 39/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Arquitecturas 2-tier, 3-tier y n-tier

Modelo tradicional: 2-tier (cliente-servidor en 2 niveles, cont. . . )


Problemas
escasa escalabilidad en servidores de lógica de negocio
compleja o con grandes bases de datos (difı́cil replicación, etc)
rigidez: modificaciones en la lógica de aplicación suponen
grandes cambios en la totalidad de clientes
difı́cil evolución del servidor
Limitación principal: alto acoplamiento/dependencia del
cliente respecto del servidor
Clientes ligeros, pesados o hı́bridos

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 40/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Arquitecturas 2-tier, 3-tier y n-tier

Ejemplo Modelo 3-tier (cliente-servidor en 3 niveles)


Servidor de aplicaciones web

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 41/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Arquitecturas 2-tier, 3-tier y n-tier


Modelo 3-tier (cliente-servidor en 3 niveles, cont. . . )
Extensión del modelo tradicional que pretende aumentar el
desacoplamiento entre servidor y clientes
Introduce un nivel intermedio (separa servidor en 2
componentes)
cliente dedicado casi exclusivamente a interfaz de usuario
servidor comparte con nivel intermedio la lógica de la
aplicación
el reparto preciso depende del modelo concreto seguido
En este modelo se separa la lógica de la aplicación de la
interfase ubicada en el lado del cliente y del DBMS situado en
el lado del servidor
Clientes ligeros o hı́bridos
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 42/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Arquitecturas 2-tier, 3-tier y n-tier

Modelo 3-tier (cliente-servidor en 3 niveles, cont. . . )


Este modelo se aplica en los siguientes casos:
Cuando se ofrecen muchos servicios en el lado del server
Si las aplicaciones que se ejecutan en el server se operan con
diferentes lenguajes (tipo intérprete)
Se manejan sistemas de BD heterogéneos
Hay muchas transacciones por unidad de tiempo
Hay muchos usuarios conectados simultáneamente
Existe mucha comunicación entre las aplicaciones

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 43/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Arquitecturas 2-tier, 3-tier y n-tier

Modelos n-tier ó multi-tier (cliente-servidor en n niveles)


Generalización del modelo 3-tier (añade nuevas capas)
La lógica de aplicación se reparte en diferentes capas/niveles
ubicadas entre el cliente y los datos
Las capas intermedias se proporcionan servicios entre si
cada nivel se comunica sólo con los niveles contiguos a través
de interfaces bien definidos
Estructura tı́pica en sistemas basados en componentes
distribuidos (objetos distribuidos)
Clientes ligeros o hı́bridos

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 44/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Arquitecturas 2-tier, 3-tier y n-tier

Modelos n-tier ó multi-tier (cliente-servidor en n niveles, cont. . . )


Se utiliza principalmente cuando:
La operación se realiza mediante la colaboración de varios
servidores de software en el lado del server o bien los clientes
acceden a varios servicios según sea su necesidad
Se tiene una arquitectura compleja compuesta por varios
servicios serializados que de manera conjunta resulten algunos
problemas especı́ficos
Ejemplos de esta arquitectura:
Sistemas de acceso a BD mediante interfases WEB
Sistemas que utilizan Proxies y Firewalls
Sistemas de manejo remoto de archivos con derecho a
ejecución

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 45/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Arquitecturas 2-tier, 3-tier y n-tier

Modelos n-tier ó multi-tier (cliente-servidor en n niveles, cont. . . )

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 46/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Arquitecturas 2-tier, 3-tier y n-tier

Beneficios de las arquitecturas multinivel


Elementos crı́ticos de la lógica de negocio ubicados en nivel
medio
más cercanos a la capa de datos → eficiencia de acceso
sólo los datos realmente necesarios llegan al cliente
Mayor flexibilidad y modularidad
Escalabilidad: facilita añadir recursos para soportar mayor
núm. de clientes

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 47/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Arquitecturas 2-tier, 3-tier y n-tier

Beneficios de las arquitecturas multinivel (cont. . . )


Extensibilidad: facilita añadir nuevas funcionalidades al
sistema sin afectar a los clientes existentes
Seguridad: facilidad para propagar autenticación y permisos a
través de las distintas capas
Facilidades de desarrollo y administración:
reusabilidad de componentes
aislamiento frente a cambios en otras capas
independencia frente a cambios en base de datos

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 48/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Arquitecturas 2-tier, 3-tier y n-tier

Desventajas de las arquitecturas multinivel


Complejidad: mayor núm. de elementos hardware y software a
definir, gestionar y mantener
interacciones complejas entre componentes
dificultad para detectar, asilar y coregir fallos
Coste de comunicaciones: mayor latencia y consumo de ancho
de banda (atravesar capas distribuidas por la red)
Coste de mantenimiento: al crecer las capas aumenta el coste
de instalación y mantenimiento

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 49/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Arquitecturas 2-tier, 3-tier y n-tier

2-capas no pueden crecer


3-capas crean niveles de servicio y minimizan el tráfico de la
red
Multi-capas no tienen lı́mite de crecimiento
Se recomienda un sistema cliente/servidor de 3-capas cuando:
Se tienen muchas clases o aplicaciones
Las aplicaciones están en distintos lenguajes
Existen 2 diferentes SMBD
Se planean modificar o mejorar las aplicaciones
Alta sobrecarga de transacciones o usuarios

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 50/51
Introducción
Paradigma Cliente/Servidor Clientes ligeros vs. clientes pesados
Componentes de los Sistemas Cliente/Servidor Arquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologı́as

Arquitecturas 2-tier, 3-tier y n-tier

Habilidades para desarrollar aplicaciones Cliente/Servidor


Diseño de Bases de Datos
Procesamiento de transacciones
Diseño de interfaces gráficas
Experiencia en sistemas de comunicación
Experiencia en Internet
Objetos distribuidos e infraestructura de componentes

M.C. Fernando Pech May ITSR


Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 51/51

Vous aimerez peut-être aussi