Está en la página 1de 6

Sistemas Distribuidos

Introduccin

Contenido Introduccin

Introduccin a los Sistemas Distribuidos


Jaime E. Daz Snchez Ing. Sistemas CIP 73304 jdiazunt@yahoo.com

Sistemas Multiprocesadores

Esquema Cliente/Servidor
Ingeniera del Software Aplicaciones Web
Docente: Ing. Jaime E. Daz Snchez Sistemas Distribuidos - Introduccin, 2

Introduccin
La computacin, por decirlo de una manera, se ha vuelto en un proceso o fenmeno distribuido, ms que centralizado. Para utilizar los ciclos del procesador de un computador central desde un terminal remoto, ese terminal necesita estar conectada al computador central mediante una lnea de comunicacin.

Arquitecturas Secuenciales y Paralelas


FLYNN introdujo un esquema para clasificar la

arquitectura de un computador basndose en cmo la mquina relaciona sus instrucciones con los datos a procesar:
Un flujo de una instruccin (SI) Un flujo de mltiples instrucciones (MI) Operando sobre un solo dato (SD) Operando sobre mltiples datos (MD)

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 3

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 4

Sistemas Multiprocesadores
Hay dos esquemas para construir estos sistemas: Cuando los procesadores comparten memorias y reloj y la comunicacin se lleva a cabo a travs de la memoria compartida. Cuando no comparten memoria ni reloj y cada uno tiene su memoria local y la comunicacin es a travs de las lneas de comunicacin.

Sistemas Multiprocesadores
Motivos de implementacin: Rendimiento y potencia de clculo. Tolerancia a fallas. Flexibilidad. Crecimiento modular. Especializacin funcional. Coste/rendimiento.

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 5

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 6

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos

Introduccin

Sistemas Multiprocesadores
Clasificacin segn relacin procesadores-memoria: Fuertemente acoplados. Dbilmente acoplados.

Sistemas Multiprocesadores
Dos conceptos debe ser tomados en cuenta en la interconexin de procesadores: Escalabilidad: se refiere a la capacidad de una determinada arquitectura para expandirse con el fin de

Clasificacin de los acceso a memoria: Acceso Uniforme a Memoria (UMA). Acceso No Uniforme a Memoria (NUMA). Acceso No Remoto a Memoria (NORMA).

soportar un mayor nmero de procesadores. Contencin: se refiere a la dificultad del paso de datos en el medio compartido.

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 7

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 8

Sistemas Multiprocesadores
CPU Cach CPU Cach CPU Cach CPU Cach

Sistemas Operativos
Memorias M M M M

Supervisores separados.

Maestro/esclavos. Simtrico.

C CPU C

Conmutador

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 9

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 10

Esquema Cliente/Servidor
En un Esquema Cliente/Servidor, se denomina cliente la mquina que solicita un determinado servicio y se denomina servidor la mquina que lo proporciona. El servicio puede ser la ejecucin de un determinado algoritmo, el acceso a determinado banco de informacin o el acceso a un dispositivo de hardware. Se clasifican los sistemas cliente servidor de acuerdo al nivel de abstraccin del servicio que se ofrece. Se distinguen tres componentes bsicos de software: Interaccin con el usuario, Lgica de Aplicacin y Repositorio de datos.
Docente: Ing. Jaime E. Daz Snchez Sistemas Distribuidos - Introduccin, 11

Clasificacin
Representacin distribuida: La interaccin con el usuario se realiza bsicamente en el servidor. El cliente funciona como sistema de acceso a los elementos de hardware (e.g. pantalla y teclado).

Base de datos Lgica de aplicacin Interface de usuario


Docente: Ing. Jaime E. Daz Snchez

Terminal fsico

Sistemas Distribuidos - Introduccin, 12

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos

Introduccin

Clasificacin
Representacin remota: Los datos se envan sin formatear, y es el cliente el responsable de formatear los datos y realizar las acciones de interaccin con el usuario. En este caso, la aplicacin y la base de datos se encuentran en el servidor

Clasificacin
Lgica distribuida: En el cliente se llevan a cabo la interaccin con el usuario y la parte ms trivial de la lgica de la aplicacin. En este caso, se realizan controles bsicos de rango de campos, campos obligatorios, etc, mientras que el grueso de la lgica permanece en el servidor.

Base de datos Lgica de aplicacin Interface avanzado Docente: de usuario Ing. Jaime E. Daz Snchez

Terminal inteligente Intarface bsico de usuario


Sistemas Distribuidos - Introduccin, 13

Base de datos Lgica de aplicacin

Computadora Personal Lgica bsica de aplicacin Interface de usuario


Sistemas Distribuidos - Introduccin, 14

Docente: Ing. Jaime E. Daz Snchez

Clasificacin
Administracin remota de datos: Tanto la interaccin con el usuario como la aplicacin residen en el cliente, siendo el servidor el depositario de los datos.

Clasificacin
B.D. Distribuidas: El cliente debe conocer la topologa de la red, as como la disposicin y ubicacin de los datos. En este caso, se delega parte de la administracin de la base de datos a los clientes.
Base de datos

Base de datos Computadora Personal Lgica de aplicacin Interface de usuario


Docente: Ing. Jaime E. Daz Snchez Sistemas Distribuidos - Introduccin, 15

Base de datos

Computadora Personal Distribucin de datos Lgica de aplicacin Interface de usuario


Docente: Ing. Jaime E. Daz Snchez Sistemas Distribuidos - Introduccin, 16

Clasificacin
Cliente servidor a tres niveles (three tier): La aplicacin se distribuye en los tres niveles: aplicacin, datos e interface de usuario

Ingeniera del Software: Aspectos a tener en cuenta


Protocolos de comunicaciones
Un buen protocolo permite que se pueda pasar, sin un coste adicional de rediseo o codificacin, de una arquitectura centralizada a una distribuida, y viceversa: Pipes, RPC, SQL Remoto,
HTTP, X11, etc.

Middleware:
Es conjunto de herramientas que permite administrar y coordinar los mecanismos de comunicacin, independizando el servicio y su
Base de datos Lgica de aplicacin Computadora Personal Interface de usuario
Sistemas Distribuidos - Introduccin, 17

implementacin del S.O. y protocolos de comunicaciones. El Modelo tradicional es el Monitor de teleproceso y el Modelo OO es CORBA.
Docente: Ing. Jaime E. Daz Snchez Sistemas Distribuidos - Introduccin, 18

Docente: Ing. Jaime E. Daz Snchez

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos

Introduccin

Ingeniera del Software: Aspectos a tener en cuenta


Fase de anlisis:
Prcticamente no hay diferencias respecto a un S.I. tradicional Se debe definir la poltica de empresa: fat client o fat server. Se debe definir el coste en comunicaciones que puede asumir la organizacin.

Ingeniera del Software: Aspectos a tener en cuenta


Implementacin B.D. Distribuidas:
No hay entornos puramente distribuidos. Debe analizarse, tabla a tabla, qu distribuir, qu centralizar y cmo hacerlo: Tabla nica Tablas con rplica simtrica on-line Tablas con rplica simtrica off-line Tabla maestra ms copias instantneas Tabla maestra ms copias instantneas actualizables Especial atencin a las secuencias Especial atencin a los conflictos de rplica

Fase de diseo:
El diseo de entidades, en raras ocasiones se vern stas afectadas. Aparecern nuevos conjuntos de datos en los Diagramas: la informacin que debe viajar entre nodos.

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 19

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 20

Ingeniera del Software: Aspectos a tener en cuenta


Diseo de procesos:
Se debern tener en cuenta, no tan slo los procesos de rplica y su periodicidad, sino el ancho de banda que consuman, mxime si implican tarifacin por paquetes transmitidos: Pipes y sockets, middleware o protocolos propietarios. Analizados los consumos de ancho de banda y tiempo estimado de proceso, se deber replantear la idoneidad de ubicacin de cada proceso Extremar las pruebas cuando se requiera disear e implementar protocolos de comunicacin

Ingeniera del Software: Aspectos a tener en cuenta


Fase de pruebas: Debido a la complejidad del sistema, sern necesarias varias fases:
Pruebas de funcionalidad de la aplicacin. Se puede llevar a cabo sobre mquinas de desarrollo y estaciones de trabajo de forma paralela Pruebas de carga del servidor Pruebas de integridad de datos. Son especialmente importantes en el caso de bases de datos distribuidas Pruebas transaccionales Pruebas de red

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 21

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 22

Desarrollos Web
Caso particular de desarrollo cliente servidor con representacin remota, en la cual disponemos de un protocolo standard: HTTP y un middleware denominado WebServer. Cada pgina puede desencadenar la solicitud de numerosos peticiones adicionales para finalizar el proceso de representacin remota. Se dispone de un lenguaje standard de definicin y formateo de pginas: HTML
Docente: Ing. Jaime E. Daz Snchez Sistemas Distribuidos - Introduccin, 23

Desarrollos Web
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

Pginas ASP: Caso particular de CGI


Entorno propietario Microsoft Aspectos de rendimiento bastante mejorados

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 24

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos

Introduccin

Desarrollos Web
Incrustacin de la lgica de aplicacin en el servidor Web
Servlets: Ejecucin de aplicaciones Java en el servidor que procesan la peticin y generan la pgina de respuesta
No generan un proceso adicional por cada peticin Utilizan un lenguaje de alto nivel (Java)

Desarrollos Web
Esquema general
Navegador

HTTP Parmetros Web Server proceso

Procesos CGI Servidor CORBA Base de datos Servlet


CORBA

Objetos CORBA:
Permite la integracin de objetos CORBA con el servidor Web, creando una estructura cliente servidor multinivel Es la solucin ms generalista y adaptable Permite fcil, flexible y eficiente integracin con BBDD
Docente: Ing. Jaime E. Daz Snchez Sistemas Distribuidos - Introduccin, 25

Conector CORBA Mquina virtual Java

RMI

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 26

Nuevos tipos de dispositivos


Dispositivos que acceden hoy a internet:
Internet Explorer, Netscape, Set Top Box, Mviles WAP, PDAs Palm Pilot, Windows CE, ...

Nuevos tipos de dispositivos


Problema a resolver:
Necesidad de adaptar el interface de usuario a cada tipo de dispositivo

Previsiones para los prximos aos:


2002 el 50% de las transacciones habituales se podrn realizar desde dispositivos mviles 2003 el 80% de los usuarios realizarn algn tipo de transaccin desde dispositivos mviles 2004 los se querrn realizar el 100% de las transacciones desde dispositivos mviles 2005 Se esperan ms de 1.000 millones de usuarios mviles de internet
Docente: Ing. Jaime E. Daz Snchez Sistemas Distribuidos - Introduccin, 27

Medidas a tomar:
Separar la lgica de aplicacin del interface de usuario Utilizar mtodos estndar de comunicacin entre la lgica de aplicacin y el interface de usuario Uso de herramientas que permitan adaptar rpidamente las aplicaciones a los nuevos tipos de dispositivos que irn apareciendo

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 28

Nuevos tipos de dispositivos


Tendencia actual
Navegador
http

Nuevos tipos de dispositivos


Variante de los fabricantes BBDD

Mvil
Wml binario

Usuario Administrador de comunicaciones Interface de usuario

Navegador
http

Mvil
Wml binario

Usuario Administrador de comunicaciones Interface de usuario

Web Server
-

WAP Server
-

Web Server
-

WAP Server
-

Pginas HTML
XML

Pginas WML

Pginas HTML
XML

Pginas WML

Servidor Aplicaciones
SQL

Lgica de negocio Lgica de negocio Datos

Base de datos

Base de datos

Datos

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 29

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 30

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos

Introduccin

Nuevos tipos de dispositivos


Variante de los fabricantes pasarelas
Navegador
http

Estrategia a seguir
Valorar la durabilidad temporal de las tecnologas a
Usuario Administrador de comunicaciones Interface de usuario Interface de usuario Lgica de negocio

Mvil
Wml binario

aplicar Separar, en el diseo e implementacin de la aplicacin, las capas de lgica de aplicacin e interface de usuario Prestar mucha atencin a los dispositivos Examinar con lupa los atajos ofrecidos por los fabricantes nuevos tipos de

Web Server
-

WAP Server
-

Reglas de traduccin WML Pginas HTML


SQL

Base de datos

Datos

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 31

Docente: Ing. Jaime E. Daz Snchez

Sistemas Distribuidos - Introduccin, 32

Docente: Ing. Jaime E. Daz Snchez

También podría gustarte