Você está na página 1de 13

19/04/2017

1
19/04/2017

UNIDAD 4: DISEO Y DESARROLLO DE


SISTEMAS DISTRIBUIDOS

MTI PATRICIA ERNDIRA BENAVIDES MURATALLA


SISTEMAS DE CMPUTO DISTRIBUIDOS

AGENDA
4.1 Elementos de un sistema distribuido
4.2 Aplicaciones cliente/servidor
4.3 Sistemas distribuidos en la web
4.4 Sistemas distribuidos basados en coordinacin
4.5 Herramientas de desarrollo
4.5.1 CORBA
4.5.2 RMI

2
19/04/2017

Componentes de un Sistema Distribuido


El desarrollo de un sistema distribuido complejo requiere el uso de las
siguientes funciones y servicios:

Sistemas de
Servicios de Memoria
Servicios de ficheros y
sincronizacin y compartida
comunicacin. nombrado
coordinacin. distribuida.
distribuido.

Gestin de Servicio de
procesos. seguridad.

Estas funcionalidades se plasman en elementos concretos del sistema:


componentes, protocolos, algoritmos, soporte hardware/software, ...

Servicios de Comunicacin
Modelos de interaccin:
Cliente/servidor: (2-niveles, 3-niveles o n-niveles)
Peer-to-peer: Equilibrio de roles.
Unicast (de uno a uno ) vs Multicast (de uno a muchos).
Fiabilidad.
Sncronos vs Asncronos.
Tecnologas de comunicacin:
Paso de mensajes: Sockets.
Llamada a procedimientos remotos: RPC (Remote Procedure Call, es un
programa que utiliza una computadora para ejecutar cdigo en otra mquina
remota sin tener que preocuparse por las comunicaciones entre ambas).
Tecnologas de objetos distribuidos: CORBA.
Cdigo mvil: Entornos de agentes.

3
19/04/2017

Sistemas de Ficheros Distribuidos

Identificacin, localizacin y acceso a


elementos del entorno distribuido.

Comprende:

Sistemas de ficheros distribuidos.


Servicios de nombres: DNS, COS-Naming
(CORBA).
Servicios de directorio.

Servicios de Sincronizacin y Coordinacin

Comprende los conceptos de:


Tiempo en entornos distribuidos: Sincronizacin de relojes y
relojes lgicos.
Concurrencia y Paralelismo: Exclusin mutua e interbloqueos.
Algoritmos distribuidos: Eleccin de lder, coordinacin, ...
Transacciones.
Afecta a otros servicios:
Nombrado e identificacin.
Seguridad y fiabilidad.
Comunicaciones.

4
19/04/2017

Memoria Compartida Distribuida (DSM)

Hardware:
Memoria fsicamente compartida.
Memoria distribuida (lgicamente compartida).
Acceso uniforme vs acceso no uniforme.
Distributed Shared Memory:
Basada en pginas.
Basada en variables compartidas.
Basada en objetos.
Modelos de consistencia.

Gestin de Procesos

Taxonoma de los procesos:


Niveles de granularidad.
Congelacin de procesos (persistencia).
Migracin de procesos (estado/cdigo).

Planificacin de procesos:
Planificacin interna: Procesos y threads (hilos).
Planificacin global.
Migracin y equilibrado de carga.
Aprovechamiento de mquinas inactivas.

5
19/04/2017

Servicio de Seguridad

Tipologa de los ataques:


Privacidad y confidencialidad.
Autenticacin.
Denegacin de servicio.

Modelos y herramientas de seguridad:


Cifrado: clave pblica y privada.

Sistemas Operativos
Distribuidos
11

Desarrollos Web
Caso particular de desarrollo
Cada pgina puede desencadenar
cliente servidor con
la solicitud de numerosos
representacin remota, en la cual
peticiones adicionales para
disponemos de un protocolo
finalizar el proceso de
standard: HTTP y un middleware
representacin remota.
denominado WebServer.

Se dispone de un lenguaje
standard de definicin y
formateo de pginas: HTML

12

6
19/04/2017

Incrustacin de la lgica de aplicacin en el servidor Web:


CGI: Common Gateware Interface

Cada peticin HTTP genera un nuevo proceso, el cual analiza la solicitud y genera un
resultado. Cada proceso corresponde a una transaccin.
Es flexible, ideal para pequeas aplicaciones de uso reducido
No escala adecuadamente

Plug-ins

Cada peticin HTTP es resuelta por el componente adecuada, dentro del mismo proceso
del Web-Server.
Mejor rendimiento
Compromete la seguridad y fiabilidad del servidor Web

Servidor especializado

Facilidad de desarrollo
Buen rendimiento
Rigidez de configuracin
13

Cliente - Servidor

Definicin:
Sistema donde el cliente es una mquina que solicita un
determinado servicio y se denomina servidor a la
mquina que lo proporciona. Los servicios pueden ser:
Ejecucin de un determinado programa.
Acceso a un determinado banco de informacin.
Acceso a un dispositivo de hardware.
Es un elemento primordial, la presencia de un medio
fsico de comunicacin entre las mquinas, y depender
de la naturaleza de este medio la viabilidad del sistema.

7
19/04/2017

Cliente Servidor: Categora de servidores

Servidores de archivos.-
Proporciona archivos para clientes. Si los archivos no fueran tan grandes y
los usuarios que comparten esos archivos no fueran muchos, esto sera una
gran opcin de almacenamiento y procesamiento de archivos.
El cliente solicita los archivos y el servidor los ubica y se los enva

Servidores de Base de Datos.-


Son los que almacenan gran cantidad de datos estructurados, se
diferencian de los de archivos pues la informacin que se enva est ya
resumida en la base de datos.
Ejemplo: El Cliente hace una consulta, el servidor recibe esa consulta (SQL) y
extrae solo la informacin pertinente y enva esa respuesta al cliente.

Cliente Servidor: Categora de servidores

Servidores de Software de Grupo.-


El software de grupo es aquel, que permite organizar el trabajo de un grupo.
El servidor gestiona los datos que dan soporte a estas tareas.
Por ejemplo: almacenar las listas de correo electrnico. El Cliente puede
indicarle, que se ha terminado una tarea y el servidor se lo enva al resto del
grupo.

Servidores WEB.-
Son los que guardan y proporcionan Pginas HTML. El cliente desde un browser o
link hace un llamado de la pgina y el servidor recibe el mensaje y enva la
pgina correspondiente.
Servidores de correo.-
Gestiona el envo y recepcin de correo de un grupo de usuarios (el servidor no
necesita ser muy potente). El servidor solo debe utilizar un protocolo de correo.

8
19/04/2017

Clasificacin Cliente - Servidor

Representacin distribuida
La interaccin con el usuario se realiza en el servidor, el cliente
hace de pasarela entre el usuario y el servidor.

Base de datos Terminal fsico


Lgica de aplicacin
Interface de usuario

Clasificacin Cliente - Servidor

Representacin Remota
La lgica de la aplicacin y la base de datos se encuentran en el
servidor. El cliente recibe y formatea los datos para interactuar con el
usuario.

Base de datos Terminal inteligente


Lgica de aplicacin Interface bsico de usuario
Interfase avanzado de usuario

9
19/04/2017

Clasificacin Cliente - Servidor


Lgica Distribuida
El cliente se encarga de la interaccin con el usuario y de algunas
funciones triviales de la aplicacin. Por ejemplo controles de
rango de campos, campos obligatorios, etc. Mientras que el resto
de la aplicacin, junto con la base de datos, estn en el servidor.

Base de datos Ordenador de sobremesa


Lgica de aplicacin Lgica bsica de aplicacin
Interface de usuario

Clasificacin Cliente - Servidor

Gestin Remota de Datos


El cliente realiza la interaccin con el usuario y ejecuta la
aplicacin y el servidor es quien maneja los datos.

Base de datos Ordenador de sobremesa


Lgica de aplicacin
Interfase de usuario

10
19/04/2017

Clasificacin Cliente - Servidor


Base de Datos Distribuidas
El cliente realiza la interaccin con el usuario, ejecuta la
aplicacin, debe conocer la topologa de la red, as como la
disposicin y ubicacin de los datos. Se delega parte de la
gestin de la base de datos al cliente.

Base de datos
Ordenador de sobremesa
Distribucin de datos
Base de datos Lgica de aplicacin
Interface de usuario

Clasificacin Cliente - Servidor

Cliente servidor a tres niveles


El cliente se encarga de la interaccin con el usuario, el
servidor de la lgica de aplicacin y la base de datos
puede estar en otro servidor.

Base de datos
Lgica de aplicacin Ordenador de sobremesa
Interface de usuario

11
19/04/2017

Objetos Distribuidos

Tecnologas orientadas a los objetos distribuidos:


Las tres tecnologas importantes y ms usadas en este mbito
son:

RMI: Remote Invocation Method.


Fue el primer framework para crear sistemas distribuidos de Java.
El sistema de Invocacin Remota de Mtodos (RMI) de Java permite, a
un objeto que se est ejecutando en una Mquina Virtual Java (VM),
llamar a mtodos de otro objeto que est en otra VM diferente.
Esta tecnologa est asociada al lenguaje de programacin Java, es decir,
que permite la comunicacin entre objetos creados en este lenguaje.

Objetos Distribuidos

DCOM.- Distributed Component Object


Model.
El Modelo de Objeto Componente Distribuido, esta
incluido en los sistemas operativos de Microsoft.
Es un juego de conceptos e interfaces de programa,
en el cual los objetos de programa del cliente,
pueden solicitar servicios de objetos de programa
servidores en otros ordenadores dentro de una red.
Esta tecnologa esta asociada a la plataforma de
productos Microsoft.

12
19/04/2017

Objetos Distribuidos

CORBA.- Common Object


Request Broker Architecture.-
Tecnologa introducida por el Grupo
de Administracin de Objetos OMG,
creada para establecer una
plataforma para la gestin de
objetos remotos independiente del
lenguaje de programacin.

Dudas // preguntas

13