Una preguntica sobre como implementar RMI

Si por ejemplo tengo un programa de Cajero completo con archivos, pero que solo funciona en el mismo computador...
¿Puedo a partir de ese código agregarle la implementación de RMI (lógicamente para que funcione desde varias estaciones de trabajo)?, o es mejor, desde el inicio de la programación tener en cuenta que se va a aplicar la tecnología RMI...
En realidad como no tengo ni idea de como se implementa, por eso la preguntica.. Gracias...

1 respuesta

Respuesta
1
Es mejor si se sabe que el código va a ser distribuido, pero hacer distribuido un código que funciona en un sólo ordenador con RMI no debería ser complicado, pero depende de como esté diseñado e implementado.
Se deben poner todos los métodos que se quieran hacer remotos en una o varias interfaces que deben ser implementadas por clases que extiendan de java. Rmi. Server. UnicastRemoteObject.
Todos los parámetros y valores de retorno de los métodos remotos deben implementar el interface Serializable (por defecto todos los tipos básicos de Java lo implementan y las tipos de datos más utilizados - List, Map, Collection... - también).
El proceso paso a paso es un poco largo así que lo mejor es que te leas un tutorial y lo vayas siguiendo. En http://java.sun.com tienes un tutorial con ejemplos para empezar con aplicaciones RMI, pero si el inglés es un problema en esta página lo encontrarás traducido (y muchos otros más)
http://www.programacion.com/java/tutorial/rmi/
Si tienes problemas con algún paso concreto no dudes en volver a preguntarme.
Un detalle importante para cuando todo funcione es que cuando tengas varias máquinas funcionando sobre el servidor, cada petición se ejecuta en un thread diferente de forma simultánea, así que seguramente haya que modificar el código del servidor para que no haya interferencias entre las peticiones. De nuevo la dificultad de esto dependerá de como esté hecho el programa original y es otro motivo por el que es mejor saber desde el principio que la aplicación va a ser distribuida.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas