Documente Academic
Documente Profesional
Documente Cultură
RMI es un mecanismo ofrecido por Java para invocar un mtodo de manera remota.
Forma parte del entorno estndar de ejecucin de Java y proporciona un mecanismo simple para la comunicacin de servidores en aplicaciones distribuidas basadas exclusivamente en Java.
A travs de RMI, un programa Java puede exportar un objeto, con lo que dicho objeto estar accesible a travs de la red y el programa permanece a la espera de peticiones en un puerto TCP. A partir de ese momento, un cliente puede conectarse e invocar los mtodos proporcionados por el objeto.
Las funciones esenciales que deben desarrollar las aplicaciones distribuidas, son:
Localizar objetos remotos: Las aplicaciones cliente tienen dos alternativas para obtener referencias de objetos remotos. Una aplicacin puede registrar sus objetos remotos ante un servidor de nombres llamado rmiregistry, o la aplicacin puede pasar referencias a objetos remotos como parmetro de una invocacin o como valor de retorno.
Comunicarse con los objetos remotos: Los detalles de la comunicacin entre los objetos remotos, son manejados por el sistema RMI. Para el programador, la comunicacin entre objetos se asemeja a la utilizada normalmente en programas Java. Cargar el cdigo de operacin que implementa a las clases que son pasadas por valor: Debido a que RMI permite pasar objetos Java puros como parmetros en la invocacin de mtodos de objetos remotos, proporciona los mecanismos necesarios para, por medio de un servidor HTTP o FTP cargar el cdigo y los datos de dichos objetos.
Stub y Skeleton.
RMI utiliza cdigo auxiliar y el esqueleto objeto para la comunicacin con el objeto remoto. Un 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 cliente. Todas la peticiones salientes se en rutan a travs de l. Reside en el lado cliente y representa el objeto remoto. Cuando la persona que llama invoca en mtodo en el objeto stub, hace las siguientes tarea:
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.
Skeleton.
El esqueleto es un objeto, acta como una puerta de entrada para el objeto del servidor. Todas las peticiones entrantes se en rutan a travs de el. Cuando el esqueleto recibe la solicitud entrante, hace las siguientes tareas: 1.- Se lee el parmetro para el mtodo remoto. 2.- Se invoca el mtodo en el objeto actual.
En este caso, se extiende la clase UnicastRemoteObject y se debe de definir un constructor que declara RemoteException.