RMI (REMOTE METHOD INVOCATION).pptx

Embed Size (px)

Citation preview

  • 8/13/2019 RMI (REMOTE METHOD INVOCATION).pptx

    1/16

  • 8/13/2019 RMI (REMOTE METHOD INVOCATION).pptx

    2/16

    QU ES?

    RMIes un mecanismo ofrecido por Java para invocar un mtodo de manera rem

    Forma parte del entorno estndar de ejecucin de Java y proporciona un mecancomunicacin de servidores en aplicaciones distribuidas basadas exclusivament

    A travs de RMI, un programa Java puede exportar un objeto, con lo que accesible a travs de la red y el programa permanece a la espera de peticiones epartir de ese momento, un cliente puede conectarse e invocar los mtodos proporcio

  • 8/13/2019 RMI (REMOTE METHOD INVOCATION).pptx

    3/16

    Metas del Sistema RMI de JavaLas metas que se pretenden alcanzar al soportar objetos distribuidos en Java, son:

    Proporcionar invocacin remota de objetos que se encuentran en MVs difere

    Soportar llamadas a los servidores desde los applets.

    Hacer tan simple como sea posible la escritura de aplicaciones distribuidas.

    Preservar la seguridad proporcionada por el ambiente Java.

  • 8/13/2019 RMI (REMOTE METHOD INVOCATION).pptx

    4/16

    Desarrollo de Aplicaciones Distribuidas.

    Una aplicacin servidora que utiliza RMI, generalmente crea cierto nmero de obje

    permite que se creen referencias a dichos objetos y espera a que algn cliente

    manera remota los mtodos de dichos objetos. Una aplicacin cliente tpica obtiende uno o ms objetos remotos, e invoca sus mtodos por medio del sistema RM

    que se encarga de proporcionar los mecanismos mediante los cuales, tanto cl

    servidores, pueden comunicarse.

    Las funciones esenciales que deben desarrollar las aplicaciones distribuidas, son:

  • 8/13/2019 RMI (REMOTE METHOD INVOCATION).pptx

    5/16

    Localizar objetos remotos: Las aplicaciones cliente tienen dos alterna

    obtener referencias de objetos remotos. Una aplicacin puede registrar s

    remotos ante un servidor de nombres llamado rmiregistry, o la aplicac

    pasar referencias a objetos remotos como parmetro de una invocaci

    valor de retorno.

    Comunicarse con los objetos remotos: Los detalles de la comunicaci

    objetos remotos, son manejados por el sistema RMI. Para el progr

    comunicacin entre objetos se asemeja a la utilizada normalmente en

    Java.

    Cargar el cdigo de operacin que implementa a las clases que son p

    valor:Debido a que RMI permite pasar objetos Java puros como parm

    invocacin de mtodos de objetos remotos, proporciona los m

    necesarios para, por medio de un servidor HTTP o FTP cargar el cdigo

    de dichos objetos.

  • 8/13/2019 RMI (REMOTE METHOD INVOCATION).pptx

    6/16

    Stub y Skeleton.RMI utiliza cdigo auxiliar y el esqueleto objeto para la comunicacin con el objeto objeto remoto es un objeto cuyo mtodo se puede invocar desde otra JVM.

    Entendamos el taln y lo objetos esqueletos:Stub.

    El Stub es un objeto, acta como una puerta de entrada para el lado del clientepeticiones salientes se en rutan a travs de l. Reside en el lado cliente y represenremoto. Cuando la persona que llama invoca en mtodo en el objeto stub, hace lastarea:

    1.- Se inicia una conexin con una maquina virtual remota.

    2.- Se escribe y transmite los parmetros de la maquina virtual remota.

    3.- Se espera el resultado

    4.- Se lee el valor de retorno o de excepcin

    5.- Finalmente, devuelve el valor a la persona que llama.

  • 8/13/2019 RMI (REMOTE METHOD INVOCATION).pptx

    7/16

    Skeleton.

    El esqueleto es un objeto, acta como una puerta de entrada para el objeto del se

    las peticiones entrantes se en rutan a travs de el. Cuando el esqueleto recib

    entrante, hace las siguientes tareas:

    1.- Se lee el parmetro para el mtodo remoto.

    2.- Se invoca el mtodo en el objeto actual.

    3.- Se escribe y transmite el resultado a la persona que llama.

  • 8/13/2019 RMI (REMOTE METHOD INVOCATION).pptx

    8/16

  • 8/13/2019 RMI (REMOTE METHOD INVOCATION).pptx

    9/16

    Pasos para escribir el programa RMI.Aqu se dan los 6 pasos para escribir el programa RMI

    1.- Crear la interfaz remota

    2.- Proporcionar la implementacin de la interfaz remota

    3.- Compilar la clase de implementacin y crear el stub y skeleton objetos utilizando

    herramienta RMIC

    4.- Inicie el servicio de registro por la herramienta rmiregistry

    5.- Crear y activar la aplicacin remota

    6.- Crear y activar la aplicacin cliente

  • 8/13/2019 RMI (REMOTE METHOD INVOCATION).pptx

    10/16

    Ejemplo de la creacin de aplicacin RMI sen

    En este ejemplo, hemos seguido los 6 pasos para crear y ejecutar la aplicacin REn la aplicacin RMI, el cliente y el servidor interacta con la interfaz remota.

    cliente invoca mtodos en el objeto proxy, RMI enva la solicitud a la JVM remotretorno se devuelve en el objeto proxy y luego en la aplicacin cliente.

  • 8/13/2019 RMI (REMOTE METHOD INVOCATION).pptx

    11/16

    1) Crear la interfaz remota.Debemos ampliar la interfaz remota y declarar la RemoteException con todos los

    interfaz remota. Solo hay un mtodo llamado add () y se declara RemoteException.

  • 8/13/2019 RMI (REMOTE METHOD INVOCATION).pptx

    12/16

    2) Proporcionar la implementacin de la interfaz remota.

    Ahora proporcionaremos la implementacin de la interfaz remota. Para prop

    implementacin de la interfaz remota, tenemos que:

    Extender la clase UnicastRemoteObject

    O utilizar el exportObject () de la clase UnicastRemoteObject

    En este caso, se extiende la clase UnicastRemoteObject y se debe de definir un

    que declara RemoteException.

  • 8/13/2019 RMI (REMOTE METHOD INVOCATION).pptx

    13/16

    3) Crear el stub y skeleton objetos utilizando la herramienta rm

    El siguiente paso es crear stub y skeleton objetos utilizando el compilador RMI. La h

    rimc invoca el compilador RMI, crea taln y objetos esqueleto.

    4) Iniciar el servicio de registro por la herramienta rmiregistry.

    Ahora inicie el servicio de registro mediante la herramienta rmiregistry. Si no se e

    numero del puerto, se utiliza un numero de puerto predeterminado. En este ejemp

    utilizando el numero de puerto 5000.

  • 8/13/2019 RMI (REMOTE METHOD INVOCATION).pptx

    14/16

    5) Crear y ejecutar la aplicacin de servidor.

    Ahora los servicios rmi necesitan ser alojado en un proceso de servidor. La clase

    proporciona mtodos para obtener y almacenar el objeto remoto. La clase

    proporciona 5 mtodos.

    En este ejemplo vamos a enlazar el objeto remoto con el nombre Sonoo.

  • 8/13/2019 RMI (REMOTE METHOD INVOCATION).pptx

    15/16

    6) Crear y ejecutar la aplicacin cliente.

    En este ejemplo, estamos corriendo el servidor y las aplicaciones cliente, en la mism

    de manera que estamos utilizando localhost. Si desea acceder al objeto remoto

    maquina, cambiar el localhost para el nombre de host (o direccin IP) donde se eobjeto remoto.

  • 8/13/2019 RMI (REMOTE METHOD INVOCATION).pptx

    16/16