Está en la página 1de 31

Sistemas Distribuidos

Unidad 2: Arquitectura de Sistemas Distribuidos

Universidad Tecnol
ogica Metropolitana

16 de septiembre de 2013

Modelo Cliente-Servidor

Arquitecturas Multicapa

Arquitectura MVC

Modelo Peer to Peer

Contenidos

Modelo Cliente-Servidor

Arquitecturas Multicapa

Arquitectura MVC

Modelo Peer to Peer

Modelo Cliente-Servidor

Modelo Cliente-Servidor

Es el modelo de comunicacion y arquitectura mas usado en la


actualidad.

El cliente inicia la comunicacion, enviando una peticion al


servidor.

El servidor calcula la respuesta y la envia al cliente.

Todo el procesamiento se centraliza en el servidor.

Los servicios se implementan generalmente usando este


modelo.

Modelo Cliente-Servidor

I
I

El cliente necesita conocer la direccion del servidor.


El cliente debe esperar por la respuesta del servidor.
I

Existen funciones primitivas de envio y recepcion no


bloqueantes.

La confiabilidad va en el protocolo usado para la


comunicacion.

El protocolo en si no esta definido por el modelo.

Ventajas

La Centralizacion facilita el control y la actualizacion de datos.

Es posible aumentar la capacidad de los clientes y servidores


por separado (Un cierto tipo de escalabilidad).

Es posible aumentar la cantidad de clientes sin que el modelo


sea el problema (el problema es el rendimiento).

Las tecnologias cliente-servidor son maduras.

Desventajas

Congestion de trafico, si una gran cantidad de peticiones se


envian al mismo tiempo, el servidor puede saturarse.

Si el servidor se cae, no se pueden satisfacer las peticiones.

A veces se puede requerir Hardware y Software especificos


para ciertos requerimientos.

El servidor no dispone de los recursos del cliente.

Otros Modelos Relacionados

Peer to Peer (lo veremos mas adelante).

Cliente-Cola-Cliente.

Contenidos

Modelo Cliente-Servidor

Arquitecturas Multicapa

Arquitectura MVC

Modelo Peer to Peer

Definicion

Las arquitecturas multicapa son arquitecturas de software en la


cual diferentes componentes de software, organizadas en capas,
proveen funcionalidad dedicada.
La arquitectura multicapa mas comun es la arquitecturas
cliente-servidor en las cuales la presentacion, la logica de
procesamiento y el almacen de datos son procesos separados
logicamente (3 capas).
I

Capa de Presentacion.

Capa de Logica de Procesamiento y/o Negocio.

Capa de Datos.

Concepto

La arquitectura multicapa es la aplicacion repetida del paradigma


cliente-servidor.
I

Un componente en una capa intermedia actual como cliente


de una capa de nivel inferior.

Y actual como servidor de una capa de nivel superior.

El numero de capas y que hace cada capa depende del criterio


del dise
nador.

Lo importante es que las capas se comunican entre si de


manera jerarquica.

Cada capa puede implementar un cierto nivel de replicacion.


Cada capa puede estar compuesta internamente de:

I
I
I

Diferentes Sistemas.
Diferentes Aplicaciones.
O Diferentes Modulos.

Contenidos

Modelo Cliente-Servidor

Arquitecturas Multicapa

Arquitectura MVC

Modelo Peer to Peer

Es un caso particular de la arquitectura multicapas, donde existen


3 capas:
I

La capa de Vista (Interfaz de Usuario).

La capa del Controlador (Logica de Negocio).

La capa de Modelo (Modelo de Datos).

Como funciona?

El usuario interactua con la Vista, la cual genera peticiones al


controlador.

El Controlador puede solicitar datos al modelo y/o responder


las peticiones de la Vista.

El Controlador es quien puede actualizar los datos del Modelo.

El Modelo puede indicarle a la Vista que debe refrescar los


datos que esta viendo el usuario.

La Vista puede solicitar datos al Modelo.

Porque?

Para separar logicamente y aislar las diferentes partes de una


aplicacion:
I

Seguridad.

Desarrollo independiente de cada modulo/capa.

Pruebas y testing independiente de cada capa.

Separacion de responsabilidades.

Ejemplo

Modelo: Una coleccion de clases Java que representan un


modelo de datos.

Vista: Una coleccion de paginas JSP que construyen la


interfaz de usuario (Web).

Controlador: Un Servlet Controlador que carga los datos desde


el Modelo, y implementa la logica de negocio. Tambien
implementa un servicio que permite que las paginas JSP
obtengan los datos del Modelo.

Contenidos

Modelo Cliente-Servidor

Arquitecturas Multicapa

Arquitectura MVC

Modelo Peer to Peer

Definicion

Las redes P2P es una arquitectura de aplicaciones distribuidas que


particionan tareas o carga de trabajo entre pares.
I

Los pares tienen el mismo privilegio y son equipotentes.

Los pares ponen una porcion de sus recursos directamente


disponibles a otros pares en una red.

Los pares son productores y consumidores de recursos.

No requieren la coordinacion de un ente central.

Por ende son 100 % descentralizadas.

Tipos

Estructuradas.
I

Los pares y recursos estan organizados siguiendo algun criterio


o algoritmo.

No Estructuradas.
I

I
I

No hay un algoritmo para organizacion o optimizacion de


conexiones de red.
P2P Puro: Nodos equipontentes.
P2P Hibrido: Existen los supernodos, los cuales cumplen la
funcion de infraestructura.
P2P Centralizado: Un servidor central sirve la funcion de
indexado.

Servicios

Descubrimiento de pares.

Solicitud y creacion de enlaces de comunicacion.

Indexado y descubrimiento de informacion y/o recursos.

Ventajas

Altisima escalabilidad.

Altamente robustas.

No hay un solo punto de falla.

Desventajas

Alto uso de ancho de banda de red.

Los paquetes de coordinacion pueden consumir ancho de


banda de red.

También podría gustarte