modelos de sistema (1) pontificia universidad javeriana sistemas distribuidos (2007/01)

24
Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos

Upload: maria-del-pilar-ayala-olivera

Post on 24-Jan-2016

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos de Sistema (1)

Pontificia Universidad Javeriana

Sistemas Distribuidos (2007/01)

Page 2: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Agenda Introducción Modelos arquitectónicos

Capas de Software Plataforma Middleware

Arquitecturas de sistema Modelo cliente-servidor Servicios proporcionados por múltiples servidores Servidores proxy y cachés Procesos <<de igual a igual>>

Variaciones en el modelo de cliente-servidor Código móvil Agentes móviles Computadores de red Clientes ligeros Dispositivos móviles y enlace espontáneo a red

Taller

Page 3: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Introducción Los modelos arquitectónicos en un s.d. tratan sobre

la colocación de partes y las relaciones entre ellas.

Ejs.: modelo cliente-servidor

modelo de procesos <<de igual a igual >>

En un sistema distribuido no hay tiempo global, por lo tanto toda comunicación entre procesos se realiza por medio de entrega de mensajes.

Page 4: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Introducción La comunicación entre mensajes y los procesos pueden

sufrir varios fallos y es vulnerable a los ataques de seguridad. Esos aspectos se consideran en tres modelos: Modelo de interacción: Trata de las prestaciones y de la

dificultad de poner límites temporales en un S.D.. Modelo de fallos: Trata de dar una especificación

detallada de los fallos que se pueden producir en los procesos y en los canales de comunicación. Define comunicación fiable y procesos correctos.

Modelo de seguridad: Trata de las posibles amenazas para los procesos y canales de comunicación.

Page 5: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Introducción Los sistemas distribuidos deben ser diseñados para funcionar

correctamente en un rango de circunstancias más amplio posible y considerando todas las dificultades y amenazas.

Ambiente/Problemas Modos de utilización muy variables: Las partes

componentes de los sistemas están sujetas a grandes variaciones en la carga de trabajo.

Amplio rango de entornos: Un S.D. debe acomodarse a hardware, sistemas operativos y redes heterogéneas.

Problemas internos: Relojes no sincronizados, actualizaciones conflictivas de datos, fallos de HW y SW implicando a componentes individuales de un sistema.

Amenazas externas: Ataques a la integridad y el secreto de los datos, denegación del servicio.

Page 6: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos La arquitectura de un sistema es su estructura en términos

de componentes especificados por separado. El objetivo es asegurar que la estructura satisfará con las demandas presentes y previsibles sobre él.

El modelo arquitectónico simplifica y abstrae, inicialmente, las funciones de los componentes individuales de dicho sistema y posteriormente considera: Ubicación de componentes en la R.C., buscando definir

patrones utilizables para la distribución de datos y carga de trabajo.

Las interrelaciones entre los componentes, es decir, papeles funcionales y los patrones de comunicación entre ellos.

Page 7: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos Una simplificación inicial en clasificar los procesos en:

Servidores Clientes Iguales

Esta clasificación ayuda a valores de cargas y determinar impactos de fallo en cada uno.

Se pueden construir otros sistemas dinámicos con variaciones del modelo cliente-servidor: Posibilidad de mover código (clientes descargar código

de los servidores) Algunos S.D. permiten que los computadores y

dispositivos móviles se añadan y eliminen sin incidencia, permitiendo el descubrimiento de servicios disponibles y el ofrecer sus servicios a otros.

La ubicación de los procesos esta también influenciada en prestaciones, fiabilidad, seguridad y coste.

Page 8: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos (Capas de Software) El termino arquitectura de SW se refería

inicialmente a la estructuración del SW como capas o módulos en un único computador.

Ahora se refiere en términos de los servicios ofrecidos y solicitados entre procesos localizados en el mismo o diferentes computadores.

Page 9: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos (Capas de Software)

Applications, services

Computer and network hardware

Platform

Operating system

Middleware

Page 10: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos (Capas de Software) Middleware: Capa de SW cuyo propósito es enmascarar la

heterogeneidad/complejidad y dar un modelo de programación conveniente para los programadores de aplicaciones.

Entre los middleware orientados a objetos más utilizados están: CORBA (Common Object Request Broker Architecture de

OMG). RMI (Invocación de objetos remotos en Java). DCOM (Modelo Común de Objetos Distribuidos de

Microsoft).

Page 11: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos (Capas de Software) Dependencia del middleware: Muchas aplicaciones distribuidas

dependen enteramente de los servicios proporcionados por el middleware disponible para soportar sus necesidades de comunicación y compartir datos. Por lo tanto se ha conseguido mucho en la simplificación, aunque algunos aspectos de la confiabilidad precisan soporte de aplicación.

Se puede pensar que todas las actividades de comunicación pueden abstraerse de la programación mediante la introducción de capas de middleware. Es funcionalmente correcto que las comprobaciones, mecanismos de corrección de errores y medidas de seguridad en distintos niveles, PERO es muy probable que se este duplicando: Trabajo Malgasto esfuerzo en la programación Más importante añadiendo complejidad innecesaria y realizando

cómputos redundantes.

Page 12: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos (Arquitecturas de sistema) La división de responsabilidades entre los componentes

del sistema (aplicaciones, servidores y otros procesos) y la ubicación de los componentes en los computadores en la red.

Sus implicaciones fundamentales están en las prestaciones, fiabilidad y seguridad del sistema redundante.

Las convenciones son: Procesos (elipses) Computadores (Rectángulos) Mensajes etiquetas como invocación o resultado

(Flechas).

Page 13: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos (Arquitecturas de sistema)

Modelo cliente-servidor:

Server

Client

Client

invocation

result

Serverinvocation

result

Process:Key:

Computer:

Un servidor a su vez puede ser cliente de otro servidor.

Page 14: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos (Arquitecturas de sistema) Servicios proporcionados por múltiples servidores: Los servicios pueden implementarse

como distintos procesos de servidor en computadores separados interaccionando, cuando es necesario, para proporcionar un servicio a los procesos clientes. Los servidores pueden dividir el conjunto de objetos en los que está basado el servicio y distribuírselos entre ellos mismos, o pueden mantener copias replicadas de ellos en varias máquinas.

Server

Server

Server

Service

Client

Client

Page 15: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos (Arquitecturas de sistema) Servidores proxy y cachés: Un caché es un almacén de objetos de

datos utilizados recientemente, y se encuentra más próximo que los objetos en sí.

Client

Proxy

Web

server

Web

server

serverClient

Page 16: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos (Arquitecturas de sistema) Procesos <<de igual a igual>>: Todos los procesos desempeñan tareas

semejantes, interactuando cooperativamente como iguales para realizar una actividad distribuida o cómputo sin distinción entre clientes y servidores.

Coordination

Application

code

Coordination

Application

code

Coordination

Application

code

Page 17: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos (Variaciones en el modelo de Cliente-Servidor)

Se pueden considerar diferentes variaciones dependiendo de: Uso de código móvil y agentes móviles. Las necesidades de los usuarios de computadoras de

bajo costo y con recursos de hw limitados, que son muy sencillos de manejar.

El requisito de añadir o eliminar de una forma conveniente dispositivos móviles.

Page 18: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos (Variaciones en el modelo de Cliente-Servidor)

Código Móvil: Ejemplo más conocido son los applets.

a) client request results in the downloading of applet code

Web server

ClientWeb serverApplet

Applet code

Client

b) client interacts with the applet

Page 19: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos (Variaciones en el modelo de Cliente-Servidor) Agentes móviles: Un agente móvil es un

programa en ejecución (código + datos) que se traslada de un computador a otro en la red utilizando una tarea para alguien.Ejemplo: Recolectar información, y retornar

eventualmente los resultados.

Page 20: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos (Variaciones en el modelo de Cliente-Servidor) Computadores de red: En las computadoras “normales”

gran parte del código y de los datos activos están ubicados localmente. Pero la gestión de archivos de aplicación y el mantenimiento de sw de base local precisa un esfuerzo técnico considerable.

El “computador de red” es una solución a este problema desacargando el sistema operativo y cualquier aplicación de software desde un servidor de archivos remotos.

Page 21: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos (Variaciones en el modelo de Cliente-Servidor)

Clientes ligeros: El término cliente ligero se refiere a una capa de aplicación que soporta una interfaz de usuario basada en ventanas sobre un computador local del usuario mientras se ejecutan programas de aplicación en un computador remoto.

ThinClient

ApplicationProcess

Network computer or PCCompute server

network

Page 22: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos (Variaciones en el modelo de Cliente-Servidor) Dispositivos móviles y enlace espontáneo a red: Debido

a la difusión de dispositivos móviles es necesario contemplar estos dispositivos entre los entornos de red y los beneficios de los servicios locales y remotos según se mueven.

Las características esenciales de la conexión a red espontánea son: Conexión fácil a la red local. Integración fácil con servicios locales.

Page 23: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos (Variaciones en el modelo de Cliente-Servidor) Para usuarios móviles se presentan problemas diferentes. Éstos ven limitada su conectividad cuando viajan, y la

naturaleza espontánea de su conexión incrementa los problemas de seguridad. Conectividad limitada: El tema es si se puede dar

soporte a un usuario que está desconectado. Seguridad y privacidad: Intentos de conexiones no

supervisadas. Además su los usuarios pueden acceder a los datos mientras se mueven puede exponer los datos, que se suponen permanecen detrás del cortafuegos de la intranet, o pueden abrir la intranet a ataques del exterior.

Page 24: Modelos de Sistema (1) Pontificia Universidad Javeriana Sistemas Distribuidos (2007/01)

Modelos arquitectónicos (Variaciones en el modelo de Cliente-Servidor) Servicios de detección: La pregunta a resolver es ¿cómo pueden

conectarse los clientes a los servicios que necesitan para completar sus tareas habituales?. Lo que se necesita es aceptar y almacenar detalles de los servicios que están disponibles en la red y responder a las consultas de los clientes sobre los mismos. Es así como un servicio de descubrimiento ofrece dos interfaces: Servicio de admisión: Acepta solicitudes de ingreso de los

servidores y almacena sus detalles en la b.d. del servicio de descubrimiento.

Servicio de búsqueda: Acepta consultas relacionadas con los servicios disponibles, y busca en la b.d. aquellos servicios registrados que coincidan con las consultas.