Professional Documents
Culture Documents
Claudio Cubillos
Escuela de Ingeniera Informtica
Pontificia Universidad Catlica de Valparaso, Chile
claudio.cubillos@ucv.cl
Arquitectura cliente/servidor
CLIENTE
Presentacin Administracin
de datos
SERVIDOR
... Arquitectura cliente/servidor
vArquitectura de 2 capas:
SERVIDOR
Presentacin
Administracin
de datos
vArquitectura de 3 capas:
Lgica del
Administracin Presentacin
Negocio
de datos
... Arquitectura cliente/servidor
Cliente Web:
S.O.: Mac OS
Navegador: Safari
vUso de
herramienta
XAMPP para
lado Servidor
Cmo hemos llegado hasta aqu?
Lgica de la Presentacin
Soporte para mltiples clientes Distribution/replicacin de los Datos
Lgica de la Aplicacin
Lgica de la aplicacin separada Todas las combinaciones
Adm. de Recursos
Un juego de cajas y flechas
v Cada cuadro representa una parte del
sistema. Cada flecha es una conexin
entre dos partes del sistema.
v Cuanto ms cajas, ms modular es el
sistema: ms oportunidades para la
distribucin y el paralelismo. Esto
permite encapsulacin, diseo basado
en componentes, la reutilizacin.
v A ms cajas, a ms flechas: ms
sesiones (conexiones) deben
No existe problema en el diseo del mantenerse, ms coordinacin es
sistema que no pueda ser resuelto necesaria. El sistema se vuelve ms
agregando un nivel de complejo de controlar y gestionar.
indireccionamiento. v A ms cajas, mayor ser el nmero de
No existe problema de rendimiento decisiones de contexto y pasos
que no pueda ser resuelto intermedios que pasar antes de llegar a
los datos. El rendimiento se resiente
mediante la eliminacin de un nivel considerablemente.
de indireccionamiento.
v Los diseadores de sistemas tratan de
equilibrar la capacidad de los equipos
implicados y las ventajas y desventajas
de las diferentes arquitecturas.
Arquitectura (1): Completamente Centralizado
Arquitectura de 1 capa v La capa de presentacin, lgica de
aplicacin y gestin de recursos se
construye como una entidad
monoltica.
v Usuario/programas acceden al
sistema a travs de terminales de
pantalla,
pero lo que se muestra y cmo
aparece es controlado por el
servidor.
Servidor llamadas terminales tontas.
v Esta era la arquitectura tpica de las
aplicaciones de mainframe,
ofreciendo varias ventajas:
flujo de control sin decisiones de
contexto (todo sucede dentro del
sistema),
todo est centralizado; gestin y
control de los recursos es ms fcil,
diseo altamente optimizado al
eliminar la separacin entre las
capas.
Arquitectura (2): sistema a 2 capas
v Al hacerse las computadoras ms
poderosas, la capa de presentacin
se mueve al cliente. Esto tiene
varias ventajas:
Los clientes son independientes
entre s: se puede tener varias
capas de presentacin dependiendo
de lo que cada cliente quiere hacer.
Servidor Se puede aprovechar la potencia de
clculo en la mquina cliente
teniendo capas de presentacin
ms sofisticadas. Esto tambin
ahorra recursos de la mquina
servidor.
Se introduce el concepto de API
(Application Program Interface).
Una interfaz para invocar el sistema
desde el exterior.
El administrador de recursos slo
tiene un cliente: la lgica de la
aplicacin. Esto ayuda mucho con
el rendimiento ya que no hay
conexiones y sesiones para
mantener.
Middleware
v El Middleware es un nivel de
clientes indireccin entre los clientes y las
dems capas del sistema.
Middleware v Se introduce una capa adicional de
la lgica de negocio que abarca
todos los sistemas subyacentes.
Lgica de aplicacin v De esta manera, un sistema
middleware:
Adm. de recursos simplifica el diseo de los clientes
mediante la reduccin del nmero
de interfaces,
proporciona un acceso transparente
a los sistemas subyacentes,
acta como plataforma para la
middleware funcionalidad inter-sistema y la
lgica de aplicacin de alto nivel, y
se encarga de localizar los
recursos, el acceso a ellos, y la
recoleccin de resultados.
Server A Server B
Arquitectura (3): sistema a 3 capas
v En un sistema de tres niveles, las tres
capas estn completamente separadas.
v Para algunos, un sistema basado en
middleware es una arquitectura de 3
capas. Esto es un poco simplista, pero es
correcto conceptualmente ya que los
sistemas subyacentes pueden ser
tratados como cajas negras.
v Los sistemas de 3 niveles tienen las
mismas ventajas que un sistema de
middleware y tambin sus desventajas.
v En la prctica, las cosas no son tan
simples como parecen hay varias
capas ocultas que no son
necesariamente triviales; ej. los
wrappers.