Estoy comenzando mi último año de proyecto de informática y estoy tratando de descubrir mis primeros pasos. Para más detalles, puede ir al proyecto page.Sistema distribuido Java
Antecedentes: Como tengo muy poca experiencia en sistemas distribuidos, básicamente, ¿cómo debo enfrentar este desafío? Lo que se me ocurrió es que el sistema debería funcionar de la siguiente manera:
El cliente envía un archivo, o un conjunto de archivos que contiene el código para ser procesado. Ese código implementará una interfaz de algoritmo distribuido escrito por mí, una clase específica. El servidor creará un objeto de la clase. Ese objeto será responsable de que se ejecute el algoritmo. El servidor devolverá los resultados al cliente. (De hecho, leí acerca de RMI más tarde y lo encontré muy similar).
El envío de archivos es básico: E/S de red común. El problema real es la creación de objetos y su uso como la interfaz predefinida en tiempo de ejecución.
Preguntas:
- El reto que he presentado suena como un desafío la reflexión, ¿es correcto?
- ¿Tiene algún consejo sobre cómo implementarlo?
Buscando algunos sistemas distribuidos tecnologías java Me he encontrado con RMI, TRMI, LINDA, CORBA, JINI y muchos otros. RMI suena muy atractivo porque es muy similar a lo que he reunido para ser la solución, pero también es viejo.
- ¿Qué conjunto de bibliotecas cree que me ayudarán a completar esta tarea? Recuerde que soy un estudiante de ciencias de la computación, por lo que las soluciones integrales no se quedarán con mis profesores.
- RMI es viejo, ¿hay alguna solución mejor?
- ¿algún tutorial completo sobre TRMI?
Si encuentra que mi lógica es defectuosa, corríjala.
Si tiene más consejos sobre el tema que cree que deberían discutirse, no dude en ponerse en contacto conmigo.
RMI es el valor predeterminado para la comunicación entre procesos en Java. Es "viejo" porque ha estado disponible y mejorado desde el comienzo de Java, prefiero llamarlo maduro. Dependiendo de sus requisitos/profesor, también podría intentar basar su solución en algo como [Hadoop] (http: //hadoop.apache.org /) o al menos obtener algo de inspiración de allí. –
Si es maduro que excelente. Encontré solo documentación muy antigua, así que desde mi punto de vista, pensé que no había evolucionado demasiado. ¿Tiene un enlace que describe el desarrollo de la biblioteca a lo largo del tiempo? – qballer
RMI (* invocación de método remoto *) no es una biblioteca. Es una especie de tecnología y parte de JRE/JDK. –