Guia 3 Distribuida

Embed Size (px)

DESCRIPTION

distribucion

Citation preview

UNIVERSIDAD CENTROAMERICANAFacultad de Ciencia, Tecnologa y AmbienteIngeniera en Sistemas y Tecnologas de la Informacin

Programacion Distribuida (Gua de Ejercicios #3: Informacin de Estado Global (Servicios) Utilizando el Paradigma Cliente - Servidor)

Integrantes: Anibal Robleto Jason Martnez Garcia

Managua, 17 de julio de 2015

Ejercicios

1. En el contexto de la computacin distribuida, describa el paradigma cliente-servidor. Por qu es especialmente apropiado este paradigma para los servicios de red?

Es un patrn arquitectnico para el desarrollo de sistemas distribuidos. Este tipo de arquitectura distribuye una aplicacin entre 2 o ms componentes especializados (capas de abstraccin) cuya ejecucin se distribuye entre 1 o ms equipos. (Entorno distribuido).Define dos tipos de entidades diferenciadas (asimtricas) que se responsabilizan de acciones diferentes: clientes y servidores con roles distintos. Un modelo de interaccin que se basa en el concepto de servicio implementado sobre un dilogo: peticin-respuesta.

Es un modelo de sistema en el que dicho sistema se organiza como un conjunto de servicios y servidores asociados, ms unos clientes que acceden y usan los servicios. En que posee una arquitectura distribuida que puede hacer uso efectivo de los sistemas en red con muchos procesadores distribuidos. Tambin es flexible ya que es fcil aadir un nuevo servidor e integrarlo con el resto del sistema

2. Describa la arquitectura de software de tres niveles para el software cliente-servidor. Explique brevemente las funcionalidades de cada nivel en cada lado. Por qu es ventajoso encapsular la lgica de distintos niveles en mdulos de software separados?Es una arquitectura de diseo software para separar los componentes de aplicacin en tres niveles, interfaz de usuario, lgica de control y lgica de negocio.Es una especializacin de un modelo de capas, con la diferencia que se usa para entornos web como patrn por excelencia. Ejemplo: Struts, Spring, Asp.NET MVC... Etc.MVC, (por sus siglas en ingls) es un patrn de arquitectura de software usado principalmente en aplicaciones que manejan gran cantidad de datos y transacciones complejas donde se requiera una mejor separacin de conceptos para que el desarrollo est estructurado de una mejor manera, facilitando la programacin en diferentes capas de manera paralela e independiente.MVC sugiere la separacin del software en 3 estratos Modelo, Vista y Controlador, los cuales sern explicados en breve.

Modelo-vista-controlador en aplicaciones cliente-servidor

En la arquitectura de tres capas (en general, en la arquitectura multicapa) el cliente implementa la lgica de presentacin (cliente fino), el servidor(es) de aplicacin implementan la lgica de negocio y los datos residen en uno (o varios) servidor(es) de bases de datosUna arquitectura multicapa se define por tanto por las siguientes tres capas de componentes:

Un componente front-end que es el responsable de proporcionar la lgica de presentacin.

Un componente back-end que proporciona acceso a servicios dedicados, tales como un servidor de bases de datos. Llamada tambin capa de Aplicacin es la que se encarga del flujo de eventos (datagramas,paquetes,datos,etc)

Un componente que hace las funciones de capa intermediaria (middl tier) que permite a los usuarios compartir y controlar la lgica del servicio mediante su aislamiento de la aplicacin real. Se basa en la transicin, peticin y envi del mensaje al cliente o al servidor

3. Compile ServidorContador.java y ClienteContador.java. Ejecute el servidor y, a continuacin, varias veces un cliente. Se incrementa el contador con cada cliente?

Sin conexinServidor al momento de iniciarlo

Cliente 1

Cliente 2

Cliente 3

Cliente 4

Servidor al finalizar

Con conexinServidor al momento de iniciarlo

Cliente 1Servidor recibiendo peticiones y dando respuestas

Cliente 2

Cliente 3

Cliente 4

Servidor una vez que ha recibido muchas peticiones y respuesta y ha hecho uso de su contador

Base de datos

Ha como podemos ver el contador se incrementa el nmero de mensajes que se enviaron desde el servidor (respuesta) y tambin se incrementa el nmero de peticiones que ha recibido el servidor, entonces hay una comunicacin entre varios clientes y el servidor (solicitud/respuesta).Se trata de un servidor con estado?. Si es as, qu tipo de informacin deEstado mantiene (global o de sesin)?.El sistema presente estados donde influye en la historia del Uso del protocolo, Uso de su interfaz (statefull), EtcY posee un tipo de informacin de estado global ya que: Los mensajes pueden afectar los parmetros de la comunicacin Tpicamente, cuando los parmetros son de sesin. Cuando hay informacin almacenada que afecta a los clientes futuros del sistema , por ejemplo: Archivos, secuenciadores base de datos etc