definiciones sistemas distribuidos

89
Lic. Jorge Guerra G. Sistemas distribuidos 1 Sistemas Distribuidos Lic. Jorge Guerra Guerra Abril 2009

Upload: jorge-guerra

Post on 24-May-2015

14.106 views

Category:

Technology


0 download

DESCRIPTION

Primer capitulo de Sistemas Distribuidos: definiciones y conceptos

TRANSCRIPT

Page 1: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 1

Sistemas Distribuidos

Lic. Jorge Guerra Guerra

Abril 2009

Page 2: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 2

Page 3: Definiciones Sistemas Distribuidos

Concepto informaticoLos conceptos vienen de muchas áreas

• Sistemas Operativos.• Procesamiento en Paralelo.• Sistemas en Tiempo Real.• Sistemas Multimedia Distribuidos.• Tipos de comunicaciones.• Bases de datos distribuidas.• Cliente – Servidor, Tres niveles, Internet.• Objetos, Componentes Distribuidos.• Computación Móvil.• Aplicaciones Tradicionales.

Lic. Jorge Guerra G.Sistemas distribuidos 3

Page 4: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 4

Page 5: Definiciones Sistemas Distribuidos

Evolucion de las aplicaciones

Lic. Jorge Guerra G.Sistemas distribuidos 5

Page 6: Definiciones Sistemas Distribuidos

Modelo N-capas heterogeneo

Lic. Jorge Guerra G.Sistemas distribuidos 6

Page 7: Definiciones Sistemas Distribuidos

Modelo espacial C/S

Lic. Jorge Guerra G.Sistemas distribuidos 7

Page 8: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 8

Page 9: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 9

Definición de Sistema DistribuidoUn sistema distribuido es aquel que ofrece

servicios implementados sobre una red de computadoras como si se tratara de un único sistema. Esto se logra a través de transparencias de distribución y son:Transparencia de localización.Transparencia de migración.Transparencia de replicaTransparencia de concurrencia.Transparencia de paralelismo.Transparencia de acceso.Transparencia de reubicacion.

Page 10: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 10

Un sistema distribuido es una colección de computadoras independientes que aparecen ante los usuarios del sistema como una única computadoraTanenbaumUn sistema distribuido es aquel en el que los componentes localizados en computadores, conectados en red, comunican y coordinan sus acciones únicamente mediante el paso de mensajesCoulouris

Otras definiciones

Page 11: Definiciones Sistemas Distribuidos

RetosLos retos a los cuales se enfrentan los Sistemas

Distribuidos son:• Heterogeneidad.• Extensibilidad.• Seguridad.• Escalabilidad.• Tratamiento de Fallos.• Concurrencia.• Transparencia.

Lic. Jorge Guerra G.Sistemas distribuidos 11

Page 12: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 12

¿ Por qué construir sistemas distribuidos?

• Compartir recursos

– Tanto hardware (discos, impresoras), como software (archivos, bases de datos)

• En algún caso, por economizar

– Compartir datos es esencial en muchas aplicaciones • Equipos de desarrollo comparten herramientas y datos • Aplicaciones comerciales ofrecen a usuarios acceso a datos

compartidos • Trabajo cooperativo en algunas empresas

• Existen aplicaciones inherentemente distribuidas – Por ejemplo, una cadena de supermercados con varias tiendas y

almacenes – Sistemas de reservas de billetes de líneas aéreas

Page 13: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 13

Características de los Sistemas Distribuidos

Page 14: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 14

Page 15: Definiciones Sistemas Distribuidos

Características de la transparencia en Sistemas

Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 15

Page 16: Definiciones Sistemas Distribuidos

Compartición de recursos

Lic. Jorge Guerra G.Sistemas distribuidos 16

Page 17: Definiciones Sistemas Distribuidos

Compartición de recursos (cont)

Lic. Jorge Guerra G.Sistemas distribuidos 17

Page 18: Definiciones Sistemas Distribuidos

Sistema Abierto

Lic. Jorge Guerra G.Sistemas distribuidos 18

Page 19: Definiciones Sistemas Distribuidos

Escalabilidad

Lic. Jorge Guerra G.Sistemas distribuidos 19

Page 20: Definiciones Sistemas Distribuidos

Tolerancia a fallos

Lic. Jorge Guerra G.Sistemas distribuidos 20

Page 21: Definiciones Sistemas Distribuidos

Tolerancia a fallos

Lic. Jorge Guerra G.Sistemas distribuidos 21

Page 22: Definiciones Sistemas Distribuidos

Seguridad

Lic. Jorge Guerra G.Sistemas distribuidos 22

Page 23: Definiciones Sistemas Distribuidos

Ventajas e inconvenientes

Lic. Jorge Guerra G.Sistemas distribuidos 23

Page 24: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 24

Implementacion final

Page 25: Definiciones Sistemas Distribuidos

Aplicaciones

Lic. Jorge Guerra G.Sistemas distribuidos 25

Page 26: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 26

Page 27: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 27

Arquitecturas hardware

Page 28: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 28

Arquitecturas hardware

Page 29: Definiciones Sistemas Distribuidos

Arquitecturas usadas en Sistemas Distribuidos

Arquitectura basada en capasArquitectura basada en objetosArquitectura centrada en datos compartidosArquitectura basada en eventos

Lic. Jorge Guerra G.Sistemas distribuidos 29

Page 30: Definiciones Sistemas Distribuidos

Arquitectura basada en capas

Lic. Jorge Guerra G.Sistemas distribuidos 30

Page 31: Definiciones Sistemas Distribuidos

Arquitectura basada en objetos

Lic. Jorge Guerra G.Sistemas distribuidos 31

Page 32: Definiciones Sistemas Distribuidos

Arquitectura basada en eventos

Lic. Jorge Guerra G.Sistemas distribuidos 32

Page 33: Definiciones Sistemas Distribuidos

Arquitectura basada en datos compartidos

Lic. Jorge Guerra G.Sistemas distribuidos 33

Page 34: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 34

Page 35: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 35

Page 36: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 36

Page 37: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 37

Page 38: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.

Paradigmas de Computacion en Red

Basado en la distribución de recursos, know-how (el codigo que procesa los recursos) y el procesador donde el codigo se ejecuta, los paradigmas de computación de red puede ser clasificadas como:

Paradigma Cliente-ServidorParadigma Código-por-demandaParadigma Agente Móvil

Page 39: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.

Paradigma Cliente-Servidor

Client

Server

know-how

Servidor tiene todo: el know-how, el

procesador y los recursos

Cliente necesita inteligencia para

descubrir al servidor que provee el servicio

que se necesita.

Page 40: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.

Paradigma Cliente-Servidor

Client

Server

know-how

Ejemplos: RPC, CORBA, XML Web-Services

etc.

Page 41: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.

Paradigma Código-por-demanda

Server

know-howClient

Cliente tiene el procesador y los

recursos. No tiene el know-how

Servidor envía el know-how sobre el cliente.

Page 42: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.

Paradigma Código-por-demanda

Server

know-howClient

Page 43: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.

Paradigma Código-por-demanda

Server

Client know-how

know-how

Page 44: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.

Paradigma Código-por-demanda

Server

Client know-how

know-how

Java Applets son un buen ejemplo

de este paradigma.

Page 45: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.

Paradigma Agente Móvil

Host Host

Cada host en esta red tiene un alto

grado de flexibilidad en poseer el know-how, los recursos y los procesadores

Page 46: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.

Paradigma Agente Móvil

Host Host

Page 47: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.

Paradigma Agente Móvil

Host Host

Agente

know-how

Know-how en la forma de agentes móviles no esta unido a un único

host pero esta disponible en toda la red

Page 48: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.

Paradigma Agente Móvil

Host Host

Agente

know-howred

Page 49: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.

Paradigma Agente Móvil

Host Host

red

Agente

know-how

Page 50: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.

Paradigma Agente Móvil

Host Host

Agente

know-how

Page 51: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.

Concepto de Agente MovilUn agente móvil es un objeto el cual puede

moverse autónomamente a lo largo de la red de un host a otro con su código y estado de ejecución y realizar ciertas tareas a nombre de un usuario .

Page 52: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 52

Nuevos Paradigmas de SD Cluster Computing:

Dedicados a tareas específicas:Altas prestaciones.Alta disponibilidad.

Sistema homogéneo (a menudo dedicado):Nodos PCs.LAN (de propósito general o específicas).

Problemática: Grado de acoplamiento, servicios distribuidos. Grid Computing:

Aprovechamiento de recursos creando un uniprocesador virtual. Restringido a una serie de tareas. Diferentes ámbitos:

Desde intradepartamentales.Hasta intercorporativos.

Problemática: Coordinación, seguridad, carácter dinámico.

Page 53: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 53

Cluster Computing La idea del Cluster Computing es simple: Un grupo de

ordenadores independientes se conectan entre sí. Los elementos conectantes son cables y un software especial de cluster.

Ya que los distintos ordenadores se complementan, por ejemplo en el caso de Failover o balanceo de cargas. Falla uno, los demás se encargan de su trabajo. Para un ordenador sólo ésto es imposible. De ésta forma se garantiza la alta disponibilidad las 24 horas del día. Igualmente se facilita la administración. La unión "clusterizada" de ordenadores es como un único punto de control, que podrá ser administrado sin ningún problema de forma remota.

Page 54: Definiciones Sistemas Distribuidos

Modelo de Cluster

Lic. Jorge Guerra G.Sistemas distribuidos 54

Page 55: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 55

Cluster Computing

Page 56: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 56

Page 57: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 57

Page 58: Definiciones Sistemas Distribuidos

Modelo de GRID

Lic. Jorge Guerra G.Sistemas distribuidos 58

Page 59: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 59

Page 60: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 60

Page 61: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 61

Page 62: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 62

Desarrollos WebCaso particular de desarrollo cliente servidor con

representación remota, en la cual disponemos de un protocolo standard: HTTP y un servidor denominado WebServer.

Cada página puede desencadenar la solicitud de numerosos peticiones adicionales para finalizar el proceso de representación remota.

Se dispone de un lenguaje standard de definición y formateo de páginas: HTML

Page 63: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 63

Desarrollos Web Incrustación de la lógica de aplicación en el servidor Web:

CGI: Common Gateware InterfaceCada petición HTTP genera un nuevo proceso, el cual analiza la

solicitud y genera un resultado. Cada proceso corresponde a una transacción.

Es flexible, ideal para pequeñas aplicaciones de uso reducidoNo escala adecuadamente

Plug-insCada petición HTTP es resuelta por el componente adecuada, dentro

del mismo proceso del Web-Server.Mejor rendimientoCompromete la seguridad y fiabilidad del servidor Web

Servidor especializadoFacilidad de desarrolloBuen rendimientoRigidez de configuración

Page 64: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 64

Page 65: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 65

Desarrollos WebTipos de plug-ins

HTML incrustado en códigoSe centran en la lógicaSon fácilmente de optimizablesEjemplos: servlets, Perl, Python

Código incrustado en HTMLSe centran en el interface de usuarioSon fáciles de crear y modificarNo requieren grandes formalismosNo necesitan una gran formaciónEjemplos: ASP, JSP, PHP

Page 66: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 66

Page 67: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 67

Desarrollo Web

Page 68: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 68

Desarrollos Web

Page 69: Definiciones Sistemas Distribuidos

Implementacion

Lic. Jorge Guerra G.Sistemas distribuidos 69

Page 70: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 70

Page 71: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 71

View

Controller

Model

Use

r

Modelo Vista Controlador

Page 72: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 72

Nuevos tipos de dispositivosDispositivos que acceden hoy a internet:

Internet Explorer, Netscape, Set Top Box, Móviles WAP, PDAs Palm Pilot, Windows CE, ...

Previsiones para los próximos años:2.002 el 50% de las transacciones habituales se

podrán realizar desde dispositivos móviles2.003 el 80% de los usuarios realizarán algún tipo

de transacción desde dispositivos móviles2.004 los se querrán realizar el 100% de las

transacciones desde dispositivos móviles2.005 Se esperan más de 1.000 millones de

usuarios móviles de internet

Page 73: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 73

Nuevos tipos de dispositivosProblema a resolver:

Necesidad de adaptar el interface de usuario a cada tipo de dispositivo

Medidas a tomar:Separar la lógica de aplicación del interface de usuarioUtilizar métodos estándar de comunicación entre la

lógica de aplicación y el interface de usuarioUso de herramientas que permitan adaptar rápidamente

las aplicaciones a los nuevos tipos de dispositivos que irán apareciendo

Page 74: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 74

Nuevos tipos de dispositivosTendencia actual

Navegador

Web Server

Páginas HTML

Servidor Aplicaciones Lógica de negocio

DatosBase de datos

Interface de usuario

Gestor comunicaciones

UsuarioMóvil

WAP Server

Páginas WML

SQL

XML

- -

Wml binariohttp

Page 75: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 75

Nuevos tipos de dispositivosVariante de los fabricantes BBDD

Navegador

Web Server

Páginas HTML

Lógica de negocio

DatosBase de datos

Interface de usuario

Gestor comunicaciones

UsuarioMóvil

WAP Server

Páginas WML

XML

- -

Wml binariohttp

Page 76: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 76

Nuevos tipos de dispositivosVariante de los fabricantes pasarelas

Navegador

Web Server

Páginas HTMLLógica de negocio

DatosBase de datos

Interface de usuario

Gestor comunicaciones

UsuarioMóvil

WAP Server

Reglas de traducción WML

SQL

- -

Wml binariohttp

Interface de usuario

Page 77: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 77

Java

Page 78: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 78

Arquitectura I-MODE

PacketNetwork(PDC-P)

CommunicationNetwork

(PDC)

iModeServer

GroupwareServerPSTN

Info.Provider

HTTP/TCP/IP Leased Line

Internet

Info.Provider

Info.Provider

PC

PC

HTTP/TCP/IP

Page 79: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 79

WMLBrowser

J2ME

RTOS

Invoke

Opción 1: WML nativo Interacciona con java:•Limitaciones en es stack•Limita las interdependencias

XML or XHTML Browser

J2ME

RTOS

Opción 2: Java browser• Integración mayor•El navegado puede actualizarse dinámicamente

Coexistencia Java-WAP

Page 80: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 80

Wireless Telephony Application Interface

Web ServerWeb Server

CGIScripts,

Etc...

WM

L D

eck

sw

ith

WM

L S

crip

t

Content

WAP GatewayWAP Gateway

WML Encoder

WML ScriptCompiler

ProtocolConversion

ClientClient

WML

WML Script

WTAI

HTTP WTP

Arquitectura WAP

Page 81: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 81

Page 82: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 82

Page 83: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 83

Page 84: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 84

Page 85: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 85

Page 86: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 86

Page 87: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 87

Presente de las aplicaciones distribuidas – J2EE y .NET

J2EE (Java 2 Enterprise Edition) J2EE es un grupo de especificaciones que permiten la creación de aplicaciones empresariales distribuidas.

Cubre toda una serie de aspectos como: acceso a base de datos, directorios distribuidos, acceso a métodos remotos (RMI/CORBA), correo electrónico, interfaces Web (JSP y Servlets).

Microsoft .NET es la alternativa de Microsoft a J2EE, cubre aspectos similares y de una forma similar pero desde el mundo Microsoft.

Ambas plataformas tienen amplio soporte de Servicios Web.

Page 88: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 88

Estándares de mercadoEstrategia Java

Navegador

Web Server

Lógica de negocio

Datos

Gestor comunicaciones

UsuarioMóvil

WAP ServerWml binariohttp

Interface de usuarioPáginas JSP / Servlets / Java Beans

Enterprise Java Beans

Base de datos

SQL

RMI

- -

Page 89: Definiciones Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 89

Estándares de mercadoEstrategia .NET

Navegador

Web Server

Lógica de negocio

Datos

Gestor comunicaciones

UsuarioMóvil

WAP ServerWml binariohttp

Interface de usuarioPáginas ASP

OBJETO COM +

Base de datos

SQL

XML

- -

Visual Basic