Tendencias en la Programaci - PowerPoint PPT Presentation

1 / 58
About This Presentation
Title:

Tendencias en la Programaci

Description:

Un sistema de computaci n est formado por una ... HTTP fue creado en 1992 por Tim Berners-Lee, reemplazando en gran medida los sistemas Gopher. ... – PowerPoint PPT presentation

Number of Views:71
Avg rating:3.0/5.0
Slides: 59
Provided by: ldcUs4
Category:

less

Transcript and Presenter's Notes

Title: Tendencias en la Programaci


1
Tendencias en la Programación en Ambientes
DistribuidosInfociencias 2003
Prof. Yudith Cardinale Universidad Simón
Bolívar Octubre 2003
2
Contenido
  • Introducción y Definiciones
  • Modelo de Objetos Corba y DCOM
  • Modelo de Componentes Enterprise JavaBeans
  • Computación Ubicua Sistemas P2P
  • y Metasistemas
  • Comunicación por Pase de Mensajes MPI y RMI
  • Caso de Estudio SUMA CORBA Java MPI

3
1. Introducción
Prof. Yudith Cardinale Universidad Simón Bolívar
4
Introducción
Un sistema de computación está formado por una
plataforma de hardware, una plataforma de
software y un conjunto de usuarios y
aplicaciones
5
Introducción
aplicaciones
librerías de comunicación
servicios especializados
sistemas de archivos
sistema de operación
memoria
procesadores
medios de almacenamiento
dispositivos de E/S
medios de interconexión
6
Introducción
Elementos de hardware de un sistema de
computación
  • Procesadores
  • Sólo 1
  • Muchos
  • Tradicionales o segmentados (pipelines)
  • Memoria
  • Ram (compartida o distribuida)
  • Cachés de instrucciones y de datos

7
Introducción
Elementos de hardware de un sistema de
computación (cont.)
  • Dispositivos de E/S
  • Discos
  • De respaldo
  • Impresoras, scanners y otros
  • Medios de interconexión
  • Especializado (buses de alta velocidad y
    conmutadores)
  • Genéricos
  • Cableados par trenzado, fibra óptico, coaxial.
  • Inalámbricos microondas, satélite, laser.

8
Introducción
Elementos de software de un sistema de
computación
  • Sistema de operación
  • Monousuarios
  • Multiusuarios, multitareas
  • Paralelos
  • Distribuidos
  • Servicios especilizados
  • Sistemas de archivos
  • Soporte de transacciones
  • Multimedios (voz y vídeo)
  • Bases de datos
  • Seguridad
  • Acceso remoto

9
Introducción
Los usuarios y las aplicaciones utilizan los
recursos de hardware y de información del sistema
de computación, para fines particulares.

aplicaciones
secuenciales
concurrentes
paralelas
distribuidas
orientadas por objetos
10
Introducción Arquitecturas de hardware
Hardware Recursos físicos que componen el
sistema de computación.
  • Sistemas centralizados
  • Computadores personales
  • Estaciones de trabajo
  • Mainframes
  • Sistemas paralelos
  • Computadores vectoriales
  • Computadores paralelos
  • Supercomputadores
  • Sistemas distribuidos
  • Clusters
  • Redes
  • Computational Grids (Metasistemas)

11
Introducción Arquitecturas de software
Software Conjunto de componentes que
administran y acceden los recursos físicos y de
información de un sistema de computación
LINUX
WINDOWS
UNIX
INTRANETS
REDES
Cliente/Servidor
INTERNET
Sistemas de Operación Distribuidos
Middleware
WEB
Software abierto
12
Introducción
Sistemas Distribuidos
Sistemas de Cómputo compuestos por un gran
número de CPUs, conectados mediante una red de
alta velocidad Colección de computadores
independientes que aparecen ante el usuario como
una sola máquina
13
Introducción
Modelo Cliente/Servidor
Máquina local
Máquina remota

Petición del servicio
Cliente
Servidor
Respuesta
Todos los servicios sobre Internet funcionan bajo
este esquema El medio de envío para la
petición/respuesta es la red Un servidor debe
poder manejar varios usuarios concurrentemente
14
Introducción
Servicio HTTP ejemplo del modelo
Cliente/Servidor
Los navegadores se comunican con los servidores
Web por medio del protocolo HTTP (Hyper Text
Transfer Protocol, RFC 2616). HTTP es un
protocolo suficientemente ligero y rápido para
ser utilizado en un sistema colaborativo de
información de medios distribuidos. Es un
protocolo genérico orientado a objetos, por lo
cual se puede utilizar para diversos tipos de
aplicaciones. HTTP fue creado en 1992 por Tim
Berners-Lee, reemplazando en gran medida los
sistemas Gopher.

15
Introducción
Servicio HTTP Cómo funciona?

http//www.ldc.usb.ve/yudith
GET /yudith HTTP/1.0 Accept text/plain Accept
text/html User-Agent Netscape Communicator 4.76
HTTP/1.0 200 OK Server Apache/2.0.16 Content-type
text/html Last-Modified Thu Jul 7 002533
2001 Content-Length 2003 lthtmlgtltbodygt ... lt/bodygt
lt/htmlgt
16
Introducción
Servicio HTTP PROXIES
17
Introducción
Servicio HTTP CGI o ASP o Servlets
http//www.ldc.usb.ve/cgi-bin/hello.pl
GET /cgi-bin/hello.pl HTTP/1.0 Accept
text/plain Accept text/html User-Agent Netscape
Communicator 4.76
El servidor crea un nuevo proceso y coloca los
valores apropiados en las variables de
ambiente. Se pasan los parámetros por stdin o por
argumentos según el método del POSTSe ejecuta la
aplicación CGI, los resultados se toman de stdout.
18
Introducción
Servicios proporcionados por múltiples servidores
cliente
servidor
Servicio
servidor
cliente
servidor
Por distribución o por réplicas Web cada
servidor web administra sus propios recursos.
Con un navegador un usuario accede a cualquier
servicio. NIS (Network Information Service) en
una LAN. Posee réplicas del archivo de
contraseñas.
19
Introducción
Procesos de igua a igual
Aplic. Código de coordin.
Aplic. Código de coordin.
Aplic. Código de coordin.
Todos los procesos desempeñan tareas
semejantes. La sincronización y comunicación es
responsabilidad de los procesos.
20
2. Modelos de Objetos Distribuidos
CORBA y DCOM
Prof. Yudith Cardinale Universidad Simón Bolívar
21
Modelos de Objetos Distribuidos
CORBA Modelo de Objetos Distribuidos
CORBA (Common Object Request Broker
Architecture) es un estándar para construir
objetos distribuidos. Propuesto por el Object
Management Group (OMG)
22
Modelos de Objetos Distribuidos
OMG (1989)
  • Es un consorcio internacional que promueve el
    desarrollo de software orientado por objetos
  • El objetivo del OMG es proveer un marco de
    arquitectura común para permitir la interacción
    de objetos en plataformas heterogéneas y
    distribuidas.
  • Inicialmente estuvo conformado por 8
    compañías 3Com Corpotation, American Airlines,
    Canon Inc., Data General, Hewlett-Packard,
    Philips Telecommunications N.V., Sun Microsystems
    y Unisys Corporation. Actualmente hay más de 500
    miembros

23
Modelos de Objetos Distribuidos
OMA Object Management Architecture. Modelo
conceptual y arquitectura de referencia para
construir aplicaciones.
APP. Objects
Object Request Broquer (ORB)
Object Services
24
Modelos de Objetos Distribuidos
Enfoque CORBA
In args
CLIENT
OBJECTS
OPERATION()
out args return value
DII
IDL STUBS
DSI
ORB INTERFACE
IDL SKELETON
OBJECT ADAPTER
ORB CORE
GIOP/IIOP
25
Modelos de Objetos Distribuidos
Enfoque CORBA
Client
REQUEST
DII
IDL Stub
ORB Core
Object Implementation
DSI
IDL Sk
ORB Interface
Object Adapter
ORB Core
26
Modelos de Objetos Distribuidos
Enfoque CORBA
HTTP
ORB
CORBA BUS
CORBA BUS
ORB
ORB
ORB
ORB
ORB
ORB
Oracle
Illustra
mSQL
NOWs
MPP
27
Modelos de Objetos Distribuidos
Enfoque CORBA Interoperabilidad
Objects A
Objects B
Objects with another ORB
POA
Special Adap
ORB core
Gateway
28
Modelos de Objetos Distribuidos
ORB
Enfoque CORBA Servicios y Facilidades
Services
Trader
Naming

Security
Persistence
WorkFlow
Vertical Facilities
System Management
Standard Interfaces i.e. Frameworks
HPcc?
Horizontal Facilities
..
Oil Gas
Imagery
Banking
DMSO Modeling and simulation
Manufacturing


29
Modelos de Objetos Distribuidos
DCOM Distributed Component Object Model
  • Qué es
  • Protocolo que permite a componentes de software
    comunicarse directamente sobre una red de una
    manera eficiente, confiable y segura.
  • Es el CORBA para el mundo Microsoft

30
Modelos de Objetos Distribuidos
DCOM Distributed Component Object Model
31
Modelos de Objetos Distribuidos
DCOM Distributed Component Object Model
32
3. Modelos de Componentes Distribuidos
Prof. Yudith Cardinale Universidad Simón Bolívar
33
Modelos de Componentes
Enterprise Java Beans Modelo de Componentes
Distribuidos
  • Qué es
  • Modelo de componentes que simplifica el
    desarrollo de middlewares proveyendo soporte
    automático de servicios como transacciones,
    seguridad, conectividad a base de datos y otros.
  • Provee facilidades para desarrollar servicios
    Web.
  • Ideal para desarrollar soluciones para ambientes
    con Sistemas de Operación y hardware
    heterogéneos.

34
Modelos de Componentes
Enterprise Java Beans Arquitectura
35
Modelos de Componentes
Enterprise Java Beans Arquitectura
36
Modelos de Componentes
Enterprise Java Beans Clientes
37
Modelos de Componentes
Enterprise Java Beans Clientes
38
4. Computación Ubicua
Prof. Yudith Cardinale Universidad Simón Bolívar
39
Computación Ubicua
  • Dónde se aplica el concepto de ubicuidad
  • Se ofrece la misma imagen desde cualquiera de
    los lugares de trabajo (la misma interfaz está en
    todas partes)
  • Los procesos se ejecutan en alguna plataforma
    elegida por el sistema (el hardware está en todas
    partes)
  • No necesariamente disjuntas
  • Sistemas conformados por sistemas

40
Computación Ubicua
Metasistemas Un mundo infinito de recursos
  • Qué es
  • Infraestructura de hardware y software que
    provee alto desempeño y alta disponibilidad
  • Colección de recursos (personas, computadores,
    instrumentos y bases de datos) conectados por una
    red de alta velocidad.
  • Mecanismo para que los usuarios puedan usar
    recursos distribuidos geográficamente de forma
    transparente, creando la ilusión de un sistema de
    computación integrado.

41
Computación Ubicua
Metasistemas Otros términos usados son
Computational Grids, Metacomputación, Sistemas
de Metacomputación
  • Qué es (cont.)
  • Distinguible de una simple colección de
    computadores por un nivel de software el
    middleware, el cual transforma una colección de
    recursos independientes en una única y coherente
    máquina virtual.
  • El middleware es el software que se conoce como
    software de metasistemas está por encima de los
    recursos físicos y por debajo de las
    aplicaciones.

42
Computación Ubicua
Metasistemas
  • Aplicaciones
  • Supercomputación distribuida simulación
    interactiva distribuida (entrenamiento y
    planificación), simulación de procesos físicos
    complejos (cosmología, modelamiento del
    clima,...)
  • High-Throughput computing despacho de gran
    número de tareas acopladas o independientes
    aprovechando CPUs ociosos (Condor)
  • Computación por demanda satisfacen
    requerimientos de recursos a corto plazo (NEOS y
    NetSolve)

43
Computación Ubicua
Metasistemas
  • Aplicaciones (cont.)
  • Computación con datos intensivos sintetizan
    información a partir de datos en repositorios
    distribuidos, librerías digitales y bases de
    datos
  • Computación colaborativa permite interacción
    hombre-hombre, generalmente las aplicaciones
    están estructuradas en términos de un espacio
    virtual compartido.

44
Computación Ubicua
Metasistemas
  • Qué ofrecen
  • Colaboración más efectiva, agrupando
    co-investigadores en el mismo espacio virtual.
  • Incremento de la capacidad de cómputo local.
  • Productividad mejorada a través de un ambiente
    de programación considerablemente más simple.

45
Computación Ubicua
Metasistemas
  • Qué ofrecen (cont.)
  • Ahorro, los recursos en cuestión pueden ser muy
    costosos.
  • Espacio de objetos (Archivos) persistentes
    compartido.
  • Ejecución remota transparente.

46
Computación Ubicua
Metasistemas Se presupone que hay control sobre
el acceso a los servidores
  • Qué ofrecen (cont.)
  • Rendimiento
  • Transparencia
  • Tolerancia a fallas
  • Seguridad

47
Computación Ubicua
Peer-to-Peer computing Cómputo intensivo
descentralizado
  • Sistemas y aplicaciones que emplean recursos
    distribuidos para realizar funciones críticas de
    manera descentralizada
  • Cómputo distribuido
  • Almacenamiento y compartimiento de datos
  • Comunicación y colaboración
  • Servicios en plataformas heterogéneas

48
Computación Ubicua
Peer-to-Peer computing Se presupone que los
nodos participantes no tienen control sobre el
acceso a los mismos
  • Qué ofrecen
  • Cooperación
  • Independencia de localidad
  • Rodeo de controles
  • Anonimato

49
Computación Ubicua
Peer-to-Peer computing Ejemplos de sistemas
Sistemas para cómputo distribuido
Proyecto académico para búsqueda de señales
provenientes de otros mundos
Producto para aplicaciones de negocios
colaborativos (comercio basado en p2p) e
incorpora múltiples tipos de dispositivos entre
peers (PDAs, celulares, chips especializados,
comunicación basada en eventos)
MAGI
Proyecto de software abierto que provee servicios
para p2p encontrar peers, compartir archivos,
encontrar contenido en sitios remotos, crear un
grupo de peers, monitorear actividades y
comunicación segura.
50
Computación Ubicua
Peer-to-Peer computing Ejemplos de sistemas
  • Sistemas para comunicación
  • Provee espacios virtuales compartidos para la
    interacción de pequeños grupos. Los usuarios que
    comparten un espacio pueden chatear,
    comunicarse por voz, enviar mensajes
    instantáneos, actualizar un calendario o plan de
    eventos, compartir un archivo, etc.
  • Sistemas para compartir información
  • Intercambio de música mp3. Creció
    considerablemente al punto de que fueron
    demandados por compañías editoras de discos... y
    perdieron.
  • Servidor centralizado para mantenimiento de
    información de ubicación
  • El intercambio de información se hace
    directamente entre clientes

groove
51
Computación Ubicua
Peer-to-Peer computing Ejemplos de sistemas
  • Sistemas para compartir información (cont.)
  • Intercambio de
    archivos, principalmente mp3. Incluyeron
    secretamente un módulo de cómputo, hecho por
    Brilliant Digital para hacer cómputo distribuido.
  • Compartimiento, búsqueda y copiado de archivos
  • entre usuarios en Internet en forma
    descentralizada
  • Los clientes son servidores al mismo tiempo.
  • Aprende sobre los nodos conectados al vecino
  • Descubrimiento de la red (ping y pong)

52
4. Comunicación por Pase de Mensajes
Prof. Yudith Cardinale Universidad Simón Bolívar
53
Comunicación por pase de mensajes
54
Comunicación por pase de mensajes
55
5. Caso de Estudio SUMA
CORBA


Prof. Yudith Cardinale Universidad Simón Bolívar
56
Application
Computational Grid
57
  • Construído sobre tecnologías estándares,
    flexibles,
  • portables y bien conocidas.

58
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com