Your SlideShare is downloading. ×
Sistemas distribuidos
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Sistemas distribuidos

10,495
views

Published on

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
10,495
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
324
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Ing. Raúl Jaziel torres torres
    Matrícula: 1162800
    Sistemas Distribuidos
  • 2. Introducción
    A lo largo del tiempo, se ha pretendido lograr que el
    procesamiento de la información no se haga en un solo
    equipo, sino que mas bien se haga en diferentes incluso
    que estén en lugares lejanos.
    Es así como nacieron los sistemas distribuidos, en esta
    presentación conoceremos las principales plataformas
    que trabajan como sistemas distribuidos.
    Al finalizar se escogerá una sola para implementar el
    proyecto propuesto, mostrando las razones por las cuales
    se eligió .
  • 3. Definición Sistemas Distribuidos
    Un sistema distribuido se define como una colección de computadores
    autónomos conectados por una red, y con el software distribuido
    adecuado para que el sistema sea visto por los usuarios como una
    única entidad capaz de proporcionar facilidades de computación.
    Entre las plataformas en las cuales se pueden implementar esta
    metodología están:
    Sockets
    CORBA
    RMI
    DCOM
    SERVLETS
    Java Beans
  • 4. Sockets
    Son puntos o mecanismos de comunicación entre procesos que
    permiten que un proceso que se ejecuta en un ordenador, hable (emita
    o reciba información) con otro proceso, incluso estando estos
    procesos en distintas máquinas de una red.
    Las implementaciones de sockets soportan los siguientes protocolos
    de comunicaciones:
    Dominio Unix
    Dominio Internet (TCP/IP)
    Dominio Xerox NS
    La comunicación entre procesos a través de sockets se basa en la
    filosofía CLIENTE-SERVIDOR
  • 5. Sockets
    El mecanismo de comunicación vía sockets tiene los
    siguientes pasos: 
    El proceso servidor crea un socket con nombre y espera la conexión.  
     El proceso cliente crea un socket sin nombre. 
    El proceso cliente realiza una petición de conexión al socket servidor. 
    El cliente realiza la conexión a través de su socket mientras el   proceso servidor mantiene el socket servidor original con su nombre. 
  • 6. CORBA
    Es un middlewaremarco de trabajo estándar y abierto
    de objetos distribuidos que permite a los componentes
    en la red interoperar en un ambiente común independiente de la
    plataforma, lenguaje de desarrollo, sistema operativo o el tipo
    de red que se este utilizando.
    Trabaja con 2 pilares fundamentales, que son: ORB (Object
    RequestBroker), que es un componente software que dirige la
    comunicación entre objetos CORBA, y el segundo es el IDL, que
    se encarga de definir las interfaces de los componentes de la
    aplicación sobre los que se construyen las aplicaciones CORBA
  • 7. CORBA
    Tres de las principales diferencias entre el modelo de
    objetos de CORBA y los modelos tradicionales radican
    en la forma semi-transparente de distribuir los objetos
    en CORBA, el tratamiento de las referencias a objetos y
    el uso de los llamados adaptadores de objetos (como el
    BOA -Basic ObjectAdapter-).
    Para un cliente CORBA, una llamada a un método
    remoto es exactamente igual a una llamada a un
    método local.
  • 8. RMI
    Es el sistema de invocación remota de métodos, que
    permite a un objeto que se está ejecutando en una
    Máquina Virtual Java (VM) llamar a métodos de otro
    objeto que está en otra VM diferente. RMI proporciona
    comunicación remota entre programas escritos en Java
    Las aplicaciones RMI normalmente comprenden dos
    programas separados: un servidor y un cliente. RMI
    proporciona el mecanismo por el que se comunican y se
    pasan información del cliente al servidor y viceversa
  • 9. RMI
    Cuando se utiliza RMI para desarrollar aplicaciones distribuida,
    se deben seguir los siguientes pasos:
    Diseñar e implementar los componentes de la aplicación: Lo primero es definir la arquitectura de la aplicación y determinar los componentes que seran objetos locales y los que seran remotos.
    Compilar fuentes y generar los Stubs: Este es un proceso de dos pasos. En el primer paso, se utiliza el compilador javac para compilar los ficheros fuentes de Java, los cuales contienen las implementaciones de las interfaces remotas, las clases del servidor, y del cliente. En el segundo paso es utilizar el compilador rmic para crear los stubs de los objetos remotos. RMI utiliza una clase stub del objeto remoto como un proxy en el cliente para que los clientes puedan comunicarse con un objeto remoto particular
  • 10. RMI
    Hacer accesible las Clases a través de la Red: Los ficheros de clases Java con sus interfaces remotas, los stubs y otras clases que necesitamos descargar en los clientes, deben estar accesible a través de un servidor Web.
    Ejecutar la Aplicación: Se debe ejecutar o lanzar el registro de objetos remotos y luego el servidor y el cliente.
  • 11. DCOM
    El Modelo de Objeto Componente Distribuido, es un protocolo que
    permite a componentes de software comunicarse de una manera
    segura, eficiente y confiable con otros componentes, localizados en
    otro computador de una red Microsoft.
    La arquitectura DCOM esta basada en:
    Objeto DCOM: Es un componente que soporta una o mas interfaces.
    Interface DCOM: no es mas que un grupo predefinido de funciones relacionadas.
    Clase DCOM : Es aquella que implementa una o mas interfaces.
    Servidor DCOM: Provee la estructura necesaria alrededor de un objeto para hacerlo disponible a los clientes.
  • 12. DCOM
    Para implementar DCOM se pueden seguir estos pasos, usando
    como lenguaje de programación el lenguaje Java.
    Crear el IDL DCOM (y ODL) para su objeto
    Generar GUIs para sus interfaces IDL
    Crear el archivo de typelibrary
    Crear los wrappers java para las clases DCOM en Java
    Implementar sus clases DCOM en Java
    Compilar su implementación
    Registrar su clase Java
    Escribir el Código Cliente
    Compilar el Cliente
    Registrar el Cliente
    Iniciar el cliente
  • 13. SERVLETS
    Son módulos que extienden los servidores orientados
    a  petición-respuesta, como los servidores web
    compatibles con Java.
    Los Servlets son un sustituto eficaz de los CGI ‘s ya que
    proveen la forma de generar documentos dinámicos
    que son fáciles de escribir y ejecutar. También evitan el
    problema de desarrollar la programación según la
    plataforma utilizada.
  • 14. SERVLETS
    La interfaz ServletRequest permite al servlet acceder a
    información como, los nombres de parámetros pasados
    por el cliente, el protocolo usado por el cliente, y los
    nombres de los hosts remotos que hacen la solicitud y el
    servidor que la recibe.
    Esta interfaz permite a los servlets el acceso a métodos
    que permiten manejar la presentación de la respuesta
    como salida en el navegador, a través de los cuales
    consiguen los datos desde el cliente que usa protocolos
    como HTTP POST , etc.
  • 15. Java Beans
    Un Java Bean o Bean es un componente hecho en
    software que se puede reutilizar y que puede ser
    manipulado de forma visual por una herramienta de
    programación en lenguaje Java.
    Para tal manipulación se define una interfaz en el
    momento de diseño, a través de la cual se puede
    interrogar al componente y conocer sus propiedades y
    los tipos de eventos o sucesos que puede generar como
    respuesta a diversas acciones.
  • 16. Las características de los Java Beans son:
    Introspection: Permite analizar a la herramienta de programación o IDE como trabaja el Bean
    Customization: El programador puede alterar la apariencia y la conducta del Bean.
    Events: Informa al IDE de los sucesos que puede generar en respuesta a las acciones del usuario o del sistema, y también los sucesos que puede manejar.
    Properties: Una propiedad es un atributo del JavaBean que afecta a su apariencia o a su conducta
    Persistence: Se puede guardar el estado de los Beans que han sido personalizados por el programador, cambiando los valores de sus propiedades
  • 17. Arquitectura Elegida para el Proyecto
    La arquitectura que elegí para que en dado caso se
    implementara el proyecto propuesto como sistema
    distribuido es: Sockets
    Las razones por las cuales elegí esta arquitectura son:
    Fácil implementación
    Se tiene un mayor control sobre la comunicación
    Consume menos ancho de banda
    Es mas seguro
  • 18. Implementación
    Como vimos en la presentación la implementación
    de sockets se hacen mediante 4 pasos que son:
    El proceso servidor crea un socket con nombre y espera la conexión. 
     El proceso cliente crea un socket sin nombre. 
    Para estos primeros dos pasos tenemos que escoger el
    tipo de socket y el dominio sobre el cual se quiere
    implementar este.
  • 19. Implementación
    Entre los diferentes tipos que existen y dominios elegí
    los siguientes:
    SOCK_STREAM: Sirve para establecer comunicaciones
    confiables en modo conectado ningún dato transmitido se
    pierde, los datos llegan en el orden que han sido
    transmitidos). En eldominioInternet está asociado al protocolo
    TCP.
    AF_INET: Protocolos de Internet, donde el cliente y el servidor
    pueden estar en cualquier máquina de la red Internet.
  • 20. Implementación
    Los pasos que siguen son:
    3) El proceso cliente realiza una petición de conexión al socket  servidor. 
    4) El cliente realiza la conexión a través de su socket mientras el   proceso servidor mantiene el socket servidor original con su nombre. 
    En el servidor se haría asi la llamada:
    intsocket ( intdominio, inttipo, intprotocolo ) crea un
    socket sin nombre de un dominio, tipo y protocolo específico 
    dominio   : AF_INET,  
    tipo      : SOCK__STREAM 
    protocolo : 0 ( protocolo por defecto ) 
  • 21. Implementación
    intbind ( intdfServer, structsockaddr* direccServer, intlongDirecc ) 
    intlisten ( intdfServer, intlongCola ) 
    Intaccept ( intdfServer, structsockaddr* direccCliente, int* longDireccCli) 
    En el cliente se seguirían las siguientes instrucciones:
    intsocket ( intdominio, inttipo, intprotocolo )  
    intconnect ( intdfCliente, structsockaddr* direccServer, intlongDirecc ) 
  • 22. Implementación
    Por último en esta tabla se muestra las llamadas que se
    producirían en el sistema:

×