definiciones sistemas distribuidos

Post on 24-May-2015

14.106 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Primer capitulo de Sistemas Distribuidos: definiciones y conceptos

TRANSCRIPT

Lic. Jorge Guerra G.Sistemas distribuidos 1

Sistemas Distribuidos

Lic. Jorge Guerra Guerra

Abril 2009

Lic. Jorge Guerra G.Sistemas distribuidos 2

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

Lic. Jorge Guerra G.Sistemas distribuidos 4

Evolucion de las aplicaciones

Lic. Jorge Guerra G.Sistemas distribuidos 5

Modelo N-capas heterogeneo

Lic. Jorge Guerra G.Sistemas distribuidos 6

Modelo espacial C/S

Lic. Jorge Guerra G.Sistemas distribuidos 7

Lic. Jorge Guerra G.Sistemas distribuidos 8

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.

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

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

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

Lic. Jorge Guerra G.Sistemas distribuidos 13

Características de los Sistemas Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 14

Características de la transparencia en Sistemas

Distribuidos

Lic. Jorge Guerra G.Sistemas distribuidos 15

Compartición de recursos

Lic. Jorge Guerra G.Sistemas distribuidos 16

Compartición de recursos (cont)

Lic. Jorge Guerra G.Sistemas distribuidos 17

Sistema Abierto

Lic. Jorge Guerra G.Sistemas distribuidos 18

Escalabilidad

Lic. Jorge Guerra G.Sistemas distribuidos 19

Tolerancia a fallos

Lic. Jorge Guerra G.Sistemas distribuidos 20

Tolerancia a fallos

Lic. Jorge Guerra G.Sistemas distribuidos 21

Seguridad

Lic. Jorge Guerra G.Sistemas distribuidos 22

Ventajas e inconvenientes

Lic. Jorge Guerra G.Sistemas distribuidos 23

Lic. Jorge Guerra G.Sistemas distribuidos 24

Implementacion final

Aplicaciones

Lic. Jorge Guerra G.Sistemas distribuidos 25

Lic. Jorge Guerra G.Sistemas distribuidos 26

Lic. Jorge Guerra G.Sistemas distribuidos 27

Arquitecturas hardware

Lic. Jorge Guerra G.Sistemas distribuidos 28

Arquitecturas hardware

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

Arquitectura basada en capas

Lic. Jorge Guerra G.Sistemas distribuidos 30

Arquitectura basada en objetos

Lic. Jorge Guerra G.Sistemas distribuidos 31

Arquitectura basada en eventos

Lic. Jorge Guerra G.Sistemas distribuidos 32

Arquitectura basada en datos compartidos

Lic. Jorge Guerra G.Sistemas distribuidos 33

Lic. Jorge Guerra G.Sistemas distribuidos 34

Lic. Jorge Guerra G.Sistemas distribuidos 35

Lic. Jorge Guerra G.Sistemas distribuidos 36

Lic. Jorge Guerra G.Sistemas distribuidos 37

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

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.

Lic. Jorge Guerra G.

Paradigma Cliente-Servidor

Client

Server

know-how

Ejemplos: RPC, CORBA, XML Web-Services

etc.

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.

Lic. Jorge Guerra G.

Paradigma Código-por-demanda

Server

know-howClient

Lic. Jorge Guerra G.

Paradigma Código-por-demanda

Server

Client know-how

know-how

Lic. Jorge Guerra G.

Paradigma Código-por-demanda

Server

Client know-how

know-how

Java Applets son un buen ejemplo

de este paradigma.

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

Lic. Jorge Guerra G.

Paradigma Agente Móvil

Host Host

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

Lic. Jorge Guerra G.

Paradigma Agente Móvil

Host Host

Agente

know-howred

Lic. Jorge Guerra G.

Paradigma Agente Móvil

Host Host

red

Agente

know-how

Lic. Jorge Guerra G.

Paradigma Agente Móvil

Host Host

Agente

know-how

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 .

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.

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.

Modelo de Cluster

Lic. Jorge Guerra G.Sistemas distribuidos 54

Lic. Jorge Guerra G.Sistemas distribuidos 55

Cluster Computing

Lic. Jorge Guerra G.Sistemas distribuidos 56

Lic. Jorge Guerra G.Sistemas distribuidos 57

Modelo de GRID

Lic. Jorge Guerra G.Sistemas distribuidos 58

Lic. Jorge Guerra G.Sistemas distribuidos 59

Lic. Jorge Guerra G.Sistemas distribuidos 60

Lic. Jorge Guerra G.Sistemas distribuidos 61

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

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

Lic. Jorge Guerra G.Sistemas distribuidos 64

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

Lic. Jorge Guerra G.Sistemas distribuidos 66

Lic. Jorge Guerra G.Sistemas distribuidos 67

Desarrollo Web

Lic. Jorge Guerra G.Sistemas distribuidos 68

Desarrollos Web

Implementacion

Lic. Jorge Guerra G.Sistemas distribuidos 69

Lic. Jorge Guerra G.Sistemas distribuidos 70

Lic. Jorge Guerra G.Sistemas distribuidos 71

View

Controller

Model

Use

r

Modelo Vista Controlador

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

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

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

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

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

Lic. Jorge Guerra G.Sistemas distribuidos 77

Java

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

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

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

Lic. Jorge Guerra G.Sistemas distribuidos 81

Lic. Jorge Guerra G.Sistemas distribuidos 82

Lic. Jorge Guerra G.Sistemas distribuidos 83

Lic. Jorge Guerra G.Sistemas distribuidos 84

Lic. Jorge Guerra G.Sistemas distribuidos 85

Lic. Jorge Guerra G.Sistemas distribuidos 86

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.

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

- -

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

top related