MENU
|
JAVA RMI v/s JAVA
Existen algunas diferencias entre la programacion normal usando JAVA y la programacion con
RMI. A continuacion se pretende destacar las diferencias y similitudes entre ambos, para poder
evaluar objetivamente cuando conviene utilizar alguno de ellos:
Similitudes
- Una referencia a un objeto, puede ser pasada como argumento o retornado
como resultado de cualquier invocacion (local o remoto).
- Un objeto remoto puede ser invocado sobre cualquier set de interfaces remotas soportadas por la
implementacion, usando la sintaxis de "castear", vale decir:
InterfaceRemota irem = (InterfaceRemota) new ClaseRemota();
- El operador instanceof puede ser utilizado para testear la interface remota soportada por
el objeto remoto.
Diferencias
- Los clientes de objetos remotos interactuan con interfaces remotas, NUNCA con la
implementacion de esas interfaces.
- Argumentos no-remotos hacia, y resultados desde, una invocacion remota a un metodo son pasados
por copia en vez de por refrencia. Esto se debe a que las referencias a objetos son utiles solo
dentro de una maquina virtual individual.
- Un objeto remoto es pasado por referencia, no copiando su actual implemetacion remota.
- En RMI, el cliente debe manejar una major cantidad de Excepciones, debido a que aumentan los tipos
de fallas al invocar objetos remotos que cuando se trabaja de manera local (seguridad, red, rmiregistry, etc)
|