+ All Categories
Home > Documents > Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura...

Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura...

Date post: 22-Sep-2018
Category:
Upload: dinhmien
View: 226 times
Download: 0 times
Share this document with a friend
54
Introducci´ on 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´ ogico 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
Transcript
Page 1: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 2: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 3: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 4: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 5: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 6: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 7: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 8: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 9: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 10: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 11: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 12: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 13: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 14: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 15: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 16: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 17: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 18: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 19: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 20: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 21: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 22: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 23: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 24: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 25: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 26: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 27: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 28: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 29: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 30: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 31: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 32: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 33: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 34: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 35: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 36: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 37: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 38: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 39: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 40: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 41: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 42: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 43: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 44: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 45: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 46: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 47: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 48: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 49: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 50: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 51: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 52: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 53: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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

Page 54: Bases de Datos Distribuidas: Arquitectura …fpech/ddb/files/slides/cliente.pdf · Una arquitectura es un conjunto de de niciones, reglas y t erminos que se emplean para construir

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


Recommended