Post on 22-Sep-2018
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor
M.C. Fernando Pech May
Instituto Tecnologico Superior de los RıosIng. en Sistemas Computacionales
30 de enero de 2012
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 1/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Contenido
1 Introduccion
2 Paradigma Cliente/Servidor
3 Componentes de los Sistemas Cliente/Servidor
4 Modelos y tipologıasClientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 2/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Introduccion
Con la llegada de las redes de computadoras en los primerosanos de los 70s, la industria de las computadoras ycomunicaciones empezaron a convergir
Las leyes de Moore han predecido que la velocidad de losprocesadores es del doble cada 18 meses. Para el ano 2047serıa de un billon de veces mas rapido comparado con 1997
Las computadoras estarıan en todas partes, incluyendo elcuerpo humano y en cası todas las herramientas de trabajo ytodas estarıan interconectadas
El modelo cliente servidor surgio con la convergencia de lascomputadoras y las comunicaciones
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 3/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Introduccion
Una arquitectura es un conjunto de definiciones, reglas yterminos que se emplean para construir un producto
La arquitectura Cliente/Servidor es un tipo de computodistribuido y computo cooperativo
Las partes que intervienen en esta arquitectura son el cliente(generador de peticiones), el servidor (ofrece el servicio) y elelemento que enlaza es la red de computo
Los actores establecen una comunicacion entre pares, o sea deigual a igual, dado que los clientes de una aplicacion puedenactuar como servidores de otra
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 4/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Cliente/Servidor: Propiedades
Clientes y Servidores son Procesos separados
Pueden Correr en la misma o en diferente maquina
Cada Proceso oculta su informacion interna
Cada proceso puede implementar su propio conjunto de reglasdel 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
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Ventajas de la Arquitectura Cliente/Servidor
Permite un mejor aprovechamiento de la capacidad decomputo (reparte el trabajo)
Reduce el trafico en la red (viajan solicitudes)
Opera bajo sistemas abiertos
Permite el uso de interfaces graficas versatiles
Escalable
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 6/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos 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
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Definiendo los Componentes C/S
Servidor: Conjunto de software y hardware que responde a losrequerimientos de un cliente Tipos de Servidores
Servidor de archivos
Servidor de bases de datos
Servidor de comunicaciones
Servidor de impresion
Servidor de terminal
Servidor de aplicaciones, de imagenes, etc.
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 8/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Definiendo los Componentes C/S
Cliente. Conjunto de software y hardware que involucra losservicios de uno o varios servidores
El Cliente oculta al servidor y la red
Detecta e intercepta peticiones de la aplicacion y puederedireccionarla
Dedicado a la sesion del usuario (inicia . . . termina)
El metodo mas comun por el cual solicita los servicios a unservidor es por medio de RPCs1
1Un RPC es un procedimiento que se ejecuta en otra maquina diferente a laque hizo la invocacion.
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 9/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Definiendo los Componentes C/S
Red de Computo: Conjunto de software y hardware que enlaza alos clientes con los servidores.Se clasifican en los siguientes tipos:
Redes de area local (LAN)
Redes de area metropolitana (MAN)
Redes de area 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), FrameRelay (2.048 Mbps)
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 10/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Atributos de la Comunicacion
El cliente debe localizar e iniciar la comunicacion con elservidor (o servidores)
El modelo ejecuta el programa en el servidor y solo se mandanlos resultados de I/O (trafico = datos leıdos o escritos)
Estilo transaccional y cooperativo
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 11/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos 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
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Contenido
1 Introduccion
2 Paradigma Cliente/Servidor
3 Componentes de los Sistemas Cliente/Servidor
4 Modelos y tipologıasClientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 13/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Paradigma Cliente-Servidor
Patron arquitectonico para el desarrollo de sistemas distribuidos
Distribuye una aplicacion entre 2 o mas componentesespecializados cuya ejecucion se distribuye entre 1 o masequipos
Define dos tipos de entidades diferenciadas (asimetricas) quese 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
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Paradigma Cliente-Servidor
Define un modelo de interaccion basado en el concepto deservicio implementado sobre un dialogo peticion-respuesta
Cliente inicia el dialogo mediante el envıo de peticionesServidor presta el servicio y responde las peticiones recibidas
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 15/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Paradigma Cliente-Servidor
Especifica el modo en que se sincronizan los procesosCliente (parte activa)
demanda servicios a los servidoresse asume que cada peticion debera obtener respuestadisenado para soportar la interaccion con el usuario final
Servidor (parte pasiva)
espera las peticiones de los clientesprocesa esas peticiones y envıa una respuestadiseno orientado a maximizar la eficiencia
Posibilidad de aplicar el patron cliente-servidor en multiples nivelesde abstraccion dentro de un mismo sistema distribuidos
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 16/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Contenido
1 Introduccion
2 Paradigma Cliente/Servidor
3 Componentes de los Sistemas Cliente/Servidor
4 Modelos y tipologıasClientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 17/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Componentes de los Sistemas Cliente/Servidor
Una aplicacion cliente servidor se basa en el modelo desolicitud-respuesta
El caso mas simple corresponde a la situacion en la cual unaaplicacion (el cliente) solicita un recurso y otra (el servidor) laatiende para brindarle el servicio de ser posible
Modelo Simple de interaccion Cliente-Servidor
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 18/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Componentes de los Sistemas Cliente/Servidor
Un ejemplo de aplicacion cliente servidor corresponde a losdenominados Sitios de Conversacion (Chat)
Modelo cliente servidor para un Chat
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 19/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Componentes de los Sistemas Cliente/Servidor
Procesos basicos que se ejecutan durante la operacion del Chat:
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 20/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Componentes de los Sistemas Cliente/Servidor
Bajo este esquema cada vez que el servidor recibe un nuevotexto, dado que se produce un cambio en el “pizarron”, seenvıan a los clientes activos los cambios y en consecuenciatodos pueden leer lo que los demas escriben de manera localen sus terminales, incluyendo sus propios textos.
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 21/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Componentes de los Sistemas Cliente/Servidor
Es logico esperar que si el servidor se apaga o se desconectade la red, entonces los clientes perderan contacto y parareanudarlo requieren que la rutina vuelva a comenzar
Este es uno de los cuellos de botella tıpicos de los sistemascliente-servidor, cuando falla la aplicacion servidora o bien elenlace de red, el sistema estero falla, a pesar que los clientesesten arriba
Esto se debe a que la aplicacion es fuertemente dependientede la parte servidora
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 22/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Componentes de los Sistemas Cliente/Servidor
Las aplicaciones de esta clase se conforman al menos de trespartes:
El servidor El Enlace El ClienteElementos basicos de un Sistema Cliente Servidor
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 23/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Componentes de los Sistemas Cliente/Servidor
Cuando en el sistema opera un solo servidor y un solo clientese dice que tenemos una Aplicacion Cliente Servidor Simple
Este modelo se puede desarrollar incluso en una mismaestacion de trabajo
En particular es el caso de una DBMS que se ejecuta en unamaquina y en la misma maquina se ejecuta un programa queinteractua con el DBMS realizando una o varias tareas
En este ejemplo podemos identificar como “servidor”al DBMSy como “cliente”a la aplicacion del usuario
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 24/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Componentes de los Sistemas Cliente/Servidor
a) Caracterısticas de los clientes
Componente del sistema que interactua 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 prestacionesfallo 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 demascomponentes)
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 25/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos 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 multiple clientesfallos en el servidor son crıticos e invalidan el sistemael num. de clientes (peticiones) puede ser muy variable yaumentar si se requiereevitar comprometer la seguridad de los recursos o datosgestionados y de los clientes
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 26/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Componentes de los Sistemas Cliente/Servidor
c) Caracterısticas del middleware
Componente del sistema que da unidad y abstrae laspeculiaridades de las plataformas (hardware y S.O.) declientes y servidor
Gestiona los aspecto de bajo nivel para ofrecer un interfazcomun y coherente para el desarrollo de clientes y servidores
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 27/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Componentes de los Sistemas Cliente/Servidor
c) Caracterısticas del middleware (cont. . . )
Misiones principales
soporte al envıo/recepcion de mensajesadaptacion del formato de la informacion intercambiada(marshaling/aplanamiento)localizacion y acceso transparente a recursos/servicios:nombrado, direccionamientosoporte al paradigma de abstraccion: stubs/skeletons en RPC,RMI, CORBA, etcotros servicios: seguridad, replicacion, control concurrencia, . . .
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 28/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos 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,autorizacion/permisos, ficheros distribuidos, . . .servicios de red: librerıas, pila de transporte TCP/IP, . . .servicios especıfico (abstraccion)s: acceso a datos, portmapper,ORB, . . .
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 29/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Componentes de los Sistemas Cliente/Servidor
c) Caracterısticas del middleware (cont. . . )
Aproximaciones (de menor a mayor nivel de abstraccion)
middleware de paso de mensajes: interfaz de sockets (esquemapeticion-respuesta)middleware de invocacion de metodos remota: RPC (llamadasa funciones)middleware de objetos distribuidos: RMI, CORBA (interaccionentre objetos)
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 30/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Contenido
1 Introduccion
2 Paradigma Cliente/Servidor
3 Componentes de los Sistemas Cliente/Servidor
4 Modelos y tipologıasClientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 31/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologıas
Esquema abstracto de aplicaciones distribuidas genericas (capas)corresponde con las funciones tıpicas en un sistema
Capa de presentacion (interfaz de usuario)
interacciona con el usuario, presenta los datos y recibe lasentadas
Capa de aplicacion/negocio (logica de aplicacion)
responsable de las tareas propias de la aplicacion concretaaplica las reglas de negocio sobre los datos y las entradas deusuario
Capa de datos (almacenamiento y acceso a datos)
responsable de la gestion y almacenamiento permanente de losdatos
Cada tipo de sistema cliente-servidor distribuye esas capas demodo distinto entre los componentes cliente y servidor
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 32/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologıas
Esquema abstracto de aplicaciones distribuidas genericas (capas)corresponde con las funciones tıpicas en un sistema
Capa de presentacion (interfaz de usuario)
interacciona con el usuario, presenta los datos y recibe lasentadas
Capa de aplicacion/negocio (logica de aplicacion)
responsable de las tareas propias de la aplicacion concretaaplica las reglas de negocio sobre los datos y las entradas deusuario
Capa de datos (almacenamiento y acceso a datos)
responsable de la gestion y almacenamiento permanente de losdatos
Cada tipo de sistema cliente-servidor distribuye esas capas demodo distinto entre los componentes cliente y servidor
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 32/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologıas
Esquema abstracto de aplicaciones distribuidas genericas (capas)corresponde con las funciones tıpicas en un sistema
Capa de presentacion (interfaz de usuario)
interacciona con el usuario, presenta los datos y recibe lasentadas
Capa de aplicacion/negocio (logica de aplicacion)
responsable de las tareas propias de la aplicacion concretaaplica las reglas de negocio sobre los datos y las entradas deusuario
Capa de datos (almacenamiento y acceso a datos)
responsable de la gestion y almacenamiento permanente de losdatos
Cada tipo de sistema cliente-servidor distribuye esas capas demodo distinto entre los componentes cliente y servidor
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 32/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Modelos y tipologıas
Esquema abstracto de aplicaciones distribuidas genericas (capas)corresponde con las funciones tıpicas en un sistema
Capa de presentacion (interfaz de usuario)
interacciona con el usuario, presenta los datos y recibe lasentadas
Capa de aplicacion/negocio (logica de aplicacion)
responsable de las tareas propias de la aplicacion concretaaplica las reglas de negocio sobre los datos y las entradas deusuario
Capa de datos (almacenamiento y acceso a datos)
responsable de la gestion y almacenamiento permanente de losdatos
Cada tipo de sistema cliente-servidor distribuye esas capas demodo distinto entre los componentes cliente y servidor
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 32/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Clientes ligeros vs. clientes pesados
Clasificacion dependiendo de las responsabilidades asignadas alcliente
Cliente ligero (thin client)
No implementa ningun aspecto de la logica de aplicacion
Simplemente actua como intermediario entre usuario yservidor
recoge entradas y las envıa al servidorpresenta 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
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Clientes ligeros vs. clientes pesados
Cliente ligero (thin client, cont. . . )
Aumenta la complejidad del servidor (mayoresresponsabilidades)
Ejemplo: clientes basados en navegadores web (JSP, ASP,. . . )
capa de presentacion repartida entre servidor (genera HTML“al vuelo”) y cliente (navegador)
En ultimos anos surgen clientes ligeros ricos (tecnologıasAJAX) clientes basados en navegadores web + soporte deinteracciones complejas (javascript, carga XML asıncrono, . . . )
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 34/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Clientes ligeros vs. clientes pesados
Cliente pesado (fat client)
Implementa la mayor parte de la logica de aplicacion
Realiza procesamiento sobre datos de usuario antes decomunicar con servidor
Requiere equipos con capacidad de proceso y/oalmacenamiento de datos
Servidor sencillo (responsabilidades mınimas, gestion datos)
Ejemplo: aplicacion cliente contra servidor de base de datos
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 35/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Clientes ligeros vs. clientes pesados
Cliente hıbrido
Implementacion de logica de aplicacion repartida entre clientey servidor
Ejemplo: aplicacion cliente contra servidor de base de datoscon procedimientos almacenados
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 36/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Arquitecturas 2-tier, 3-tier y n-tier
Clasificacon en funcion de la ubicacion fısica de las distintasfuncionalidades
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
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
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 lomismo sucede con el servidor
Un unico servidor atiende a multiples clientes
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 38/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Arquitecturas 2-tier, 3-tier y n-tier
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 39/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Arquitecturas 2-tier, 3-tier y n-tier
Modelo tradicional: 2-tier (cliente-servidor en 2 niveles, cont. . . )
Problemas
escasa escalabilidad en servidores de logica de negociocompleja o con grandes bases de datos (difıcil replicacion, etc)rigidez: modificaciones en la logica de aplicacion suponengrandes cambios en la totalidad de clientesdifıcil evolucion del servidor
Limitacion principal: alto acoplamiento/dependencia delcliente respecto del servidor
Clientes ligeros, pesados o hıbridos
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 40/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
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
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Arquitecturas 2-tier, 3-tier y n-tier
Modelo 3-tier (cliente-servidor en 3 niveles, cont. . . )
Extension del modelo tradicional que pretende aumentar eldesacoplamiento entre servidor y clientes
Introduce un nivel intermedio (separa servidor en 2componentes)
cliente dedicado casi exclusivamente a interfaz de usuarioservidor comparte con nivel intermedio la logica de laaplicacionel reparto preciso depende del modelo concreto seguido
En este modelo se separa la logica de la aplicacion de lainterfase ubicada en el lado del cliente y del DBMS situado enel lado del servidor
Clientes ligeros o hıbridos
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 42/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
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 serverSi las aplicaciones que se ejecutan en el server se operan condiferentes lenguajes (tipo interprete)Se manejan sistemas de BD heterogeneosHay muchas transacciones por unidad de tiempoHay muchos usuarios conectados simultaneamenteExiste mucha comunicacion entre las aplicaciones
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 43/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Arquitecturas 2-tier, 3-tier y n-tier
Modelos n-tier o multi-tier (cliente-servidor en n niveles)
Generalizacion del modelo 3-tier (anade nuevas capas)
La logica de aplicacion se reparte en diferentes capas/nivelesubicadas entre el cliente y los datos
Las capas intermedias se proporcionan servicios entre si
cada nivel se comunica solo con los niveles contiguos a travesde interfaces bien definidos
Estructura tıpica en sistemas basados en componentesdistribuidos (objetos distribuidos)
Clientes ligeros o hıbridos
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 44/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Arquitecturas 2-tier, 3-tier y n-tier
Modelos n-tier o multi-tier (cliente-servidor en n niveles, cont. . . )
Se utiliza principalmente cuando:
La operacion se realiza mediante la colaboracion de variosservidores de software en el lado del server o bien los clientesacceden a varios servicios segun sea su necesidadSe tiene una arquitectura compleja compuesta por variosservicios serializados que de manera conjunta resulten algunosproblemas especıficos
Ejemplos de esta arquitectura:
Sistemas de acceso a BD mediante interfases WEBSistemas que utilizan Proxies y FirewallsSistemas de manejo remoto de archivos con derecho aejecucion
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 45/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Arquitecturas 2-tier, 3-tier y n-tier
Modelos n-tier o multi-tier (cliente-servidor en n niveles, cont. . . )
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 46/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Arquitecturas 2-tier, 3-tier y n-tier
Beneficios de las arquitecturas multinivel
Elementos crıticos de la logica de negocio ubicados en nivelmedio
mas cercanos a la capa de datos → eficiencia de accesosolo los datos realmente necesarios llegan al cliente
Mayor flexibilidad y modularidad
Escalabilidad: facilita anadir recursos para soportar mayornum. de clientes
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 47/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Arquitecturas 2-tier, 3-tier y n-tier
Beneficios de las arquitecturas multinivel (cont. . . )
Extensibilidad: facilita anadir nuevas funcionalidades alsistema sin afectar a los clientes existentes
Seguridad: facilidad para propagar autenticacion y permisos atraves de las distintas capas
Facilidades de desarrollo y administracion:
reusabilidad de componentesaislamiento frente a cambios en otras capasindependencia frente a cambios en base de datos
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 48/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Arquitecturas 2-tier, 3-tier y n-tier
Desventajas de las arquitecturas multinivel
Complejidad: mayor num. de elementos hardware y software adefinir, gestionar y mantener
interacciones complejas entre componentesdificultad para detectar, asilar y coregir fallos
Coste de comunicaciones: mayor latencia y consumo de anchode banda (atravesar capas distribuidas por la red)
Coste de mantenimiento: al crecer las capas aumenta el costede instalacion y mantenimiento
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 49/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Arquitecturas 2-tier, 3-tier y n-tier
2-capas no pueden crecer
3-capas crean niveles de servicio y minimizan el trafico de lared
Multi-capas no tienen lımite de crecimiento
Se recomienda un sistema cliente/servidor de 3-capas cuando:
Se tienen muchas clases o aplicacionesLas aplicaciones estan en distintos lenguajesExisten 2 diferentes SMBDSe planean modificar o mejorar las aplicacionesAlta sobrecarga de transacciones o usuarios
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 50/51
IntroduccionParadigma Cliente/Servidor
Componentes de los Sistemas Cliente/ServidorModelos y tipologıas
Clientes ligeros vs. clientes pesadosArquitecturas 2-tier, 3-tier y n-tier
Arquitecturas 2-tier, 3-tier y n-tier
Habilidades para desarrollar aplicaciones Cliente/Servidor
Diseno de Bases de Datos
Procesamiento de transacciones
Diseno de interfaces graficas
Experiencia en sistemas de comunicacion
Experiencia en Internet
Objetos distribuidos e infraestructura de componentes
M.C. Fernando Pech May ITSR
Bases de Datos Distribuidas:Arquitectura Cliente/Servidor 51/51