Api Rmi

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

INSTITUTO TECNOLOGICO DE ORIZABA

MATERIA
Programación en ambiente Cliente/Servidor

PROFESOR
José Alberto Venegas García

ALUMNA
De Los Santos Aguilar Adriana

CARRERA
INGENIERIA INFORMATICA

FECHA
22/04/2021

Página 1|6
INTRODUCCION
Dentro de los complementos que nos ofrece Java como entorno de programación,
nos encontramos con las API ́s de Java RMI.
Un paquete Java es una forma de agrupar las interfaces y las clases relacionadas
en Java. Los paquetes Java son parecidos a las bibliotecas de clases existentes en
otros lenguajes.
Los paquetes Java, que proporcionan las API Java, las cuales forman parte del Java
Development Kit (JDK) de Sun Microsystems, Inc.
Nos proporciona un mecanismo para facilitar la elaboración de aplicaciones
distribuidas. Integrado dentro de la jerarquía de paquetes oficiales del lenguaje de
programación Java, se adapta perfectamente al modelo de programación de dicho
lenguaje.
Una llamada remota a método es una llamada a un método de un objeto desde un
espacio de direcciones donde éste no reside. Java permite trabajar con objetos en
ubicaciones remotas como si estuvieran en el espacio de direcciones local, es decir,
con la misma sintaxis que tiene las llamadas locales. De esta forma se consigue
una total transparencia cara al programador.

Página 2|6
API JAVA RMI
API de Java
Es una interfaz de programación de aplicaciones provistas por los creadores del
lenguaje JAVA, ya que da a los programadores los medios para desarrollar
aplicaciones java.
La API de JAVA provee un conjunto de clases para efectuar toda clase de tareas
dentro de un programa.
Interfaces y Clases RMI
La API RMI está formada por un conjunto de clases que se encuentran agrupadas
en los siguientes paquetes
 JAVA.RMI
 JAVA.RMI.SERVER
 JAVA.REMI.REGISTRY
 JAVA.RMI.ACTIVATION
 JAVA.RMI.DGC

JAVA.RMI
Este paquete proporciona la interfaz Remote y las clases MarshalledObject, Naming
y RmiSecurityManager, junto con una serie de excepciones.
La interfaz Remote, que carece de métodos, debe ser implementada por toda clase
remota para que sus métodos sean accesibles. Si no es así, Java no la reconocerá
como tal.
Mediante una instancia de la clase MarshalledObject se puede manejar el flujo de
bytes serializados de un objeto.
La clase Naming proporciona métodos para obtener y almacenar referencias de los
objetos remotos mediante URLs.
Sus métodos más habituales son:
 public static void bind(String name, Remote object)
throwsAlreadyBoundException,MalformedURLException,RemoteException
 public static void rebind(String name, Remote object) throws
RemoteException, MalformedURLException
 public static void lookup(String name) throws
NotBoundException,MalformedURLException,RemoteException

Página 3|6
El método bind() asocia un nombre a un objeto remoto mediante una URL, es decir,
lo registra. En consecuencia, ese nombre se utiliza para localizar el objeto. Las
URL’S son de la forma:
Rmi://host:port/remote_object_name
Si la especificación dada en la URL no es correcta, se producirá una excepción del
tipo MalformedURLException. El host y el puerto son opcionales, de manera que si
no se incluyen se toma el host local y el puerto por defecto asociados al servicio de
registro RMI.
La diferencia entre rebind() y bind() radica en el hecho de que el primero permite
asociar un nuevo nombre a un objeto ya registrado, cambiando el actual, mientras
que el segundo ocasionaría una excepción del tipo AlreadyBoundException.
JAVA.RMI.REGISTRY
Este paquete proporcina las interfaces Registry y RegistryHandler, asi como la clase
LocateRegistry.
La interfaz Registry define los métodos brind(), rebind(), y lookup(), asi como
unbind() y list(), de la clase Naming.
Por último, la clase LocateRegistry permite recuperar y por tanto, manejar objetos
Registry, que representan a los procesos que ejecutan el servicio de registro RMI,
a partir de una par host-puerto.
También permite crear estos objetos a partir de una puerto o puertos, y si se desea,
factorías de sockets RMI. Las factorías de sockets permiten establecer
características comunes a los sockets que se quieren crear en una aplicación
determinada.
JAVA.RMI.SERVER
Este paquete proporciona una serie de clases, interfaces y excepciones para el lado
del servidor de las aplicaciones RMI. Algunas de sus clases principales son:
 Clases ObjID: Genera identificadores de objetos que los hosts declaran como
remotos, proporcionando métodos para la creación de los mismos.
 Clase RemoteObject: Implementa la clase java.lang.object para objetos
remotos y la interfaz java.rmi.Remote.
 Clase RemoteServer: Hereda de Remotebject. Es la clase raíz de la que
heredan todas las implementaciones de objetos cuyos métodos son
accesibles remotamente.
 Clase RemoteStub.- Hereda de RemoteObject. Es la clase raíz de la que
heredan todos los stubs de los clientes.

Página 4|6
 Clase RMIClassLoader.- Incluye métodos estáticos para permitir la carga
dinámica de clases remotas. Si un cliente o servidor de una aplicación RMI
necesita cargar una clase desde un host remoto, llama a esta clase.
 Clase RMISocketFatory.- Usada por RMI para obtener sockets cliente y
servidor para las llamadas RMI.
 Clase UnicastRemoteObject.- Subclase de RemoteServer. Incluye la
implementación por defecto de los objetos remotos. Permite llamar a los
métodos remotos mediante conexiones TCP por el puerto especificado. Si se
necesitan objetos remotos con un funcionamiento más específico, se puede
extender esta clase para lograrlo. Una clase que herede
de UnicastRemoteObject debe incluir un constructor que soporte
excepciones del tipo RemoteException.
Algunas de sus principales interfaces son:
 Interfaz RemoteRef.- Usada por los objetos RemoteStub para referirse a
objetos remotos. Incluye métodos para llamar a los métodos de objetos
remotos.
 Interfaz RMIClientSocketFactory.- Usada por RMI para obtener sockets
clientes para las llamadas RMI.
 Interfaz RMIFailureHandler.- Especifica los métodos que se encargan de
manejar los fallos derivados de la creación de ServerSockets.
 Interfaz RMIServerSocketFactory.- Usada por RMI para obtener sockets
servidores para las llamadas RMI.
 Interfaz ServerRef.- Extiende la interfaz RemoteRef y es implementada por
los objetos remotos para poder acceder a sus objetos RemoteStub.
 Interfaz Unreferenced.- Usada para que los objetos remotos puedan recibir
mensajes de aviso cuando no existan más clientes con referencias a ellos.

JAVA.RMI.ACTIVATION
Permite activar remotamente objetos, desactivarlos cuando ya no se trabaje con
ellos y reactivarlos cuando sea necesario. Entre activación y desactivación
conservan su estado.
JAVA.RMI.DGC
Este paquete contiene clases, interfaces y excepciones para la recolección de
basura.

Página 5|6
Bibliografía
Hernandez, L. (s.f.). API RMI. Obtenido de API RMI:
http://www.iuma.ulpgc.es/users/lhdez/inves/pfcs/memoria-domingo/node6.html

Marinez, L. (11 de Diciembre de 2015). API DE JAVA RMI. Obtenido de API DE JAVA RMI:
https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnxwY3NsdX
ptYXxneDoxZGFjMjJlZjE4MWQzMjVh

Montalvo, O. (15 de Marzo de 2016). El API Java RMI. Obtenido de El API Java RMI:
https://prezi.com/qf6n99reovi1/32-el-api-java-rmi/

Página 6|6

También podría gustarte