Sto iniziando il mio ultimo progetto di informatica e sto cercando di capire i miei primi passi. Per maggiori dettagli si può andare al progetto page.Sistema distribuito Java
Contesto: Dato che ho pochissima esperienza in sistemi distribuiti, fondamentalmente ho pensato a come affrontare una simile sfida. Quello che è venuto fuori è che il sistema dovrebbe funzionare come segue:
Il client invia un file o un set di file che contiene codice da elaborare. Quel codice implementerà un'interfaccia algoritmo distribuito scritta da me, una classe specifica. Il server creerà un oggetto dalla classe. L'oggetto sarà responsabile dell'algoritmo da eseguire. Il server restituirà i risultati al client. (In realtà ho letto su RMI più tardi e l'ho trovato molto simile).
L'invio di file è di base - I/O di rete comune. Il vero problema è la creazione dell'oggetto e il suo utilizzo come interfaccia predefinita in fase di esecuzione.
Domande:
- La sfida che ho presentato suona come una sfida di riflessione, è corretto?
- Hai qualche primo consiglio su come implementarlo?
Alla ricerca di alcuni sistemi distribuiti di tecnologie java, ho riscontrato RMI, TRMI, LINDA, CORBA, JINI e molti altri. RMI sembra il più attraente perché è molto simile a quello che ho raccolto per essere la soluzione, ma è anche vecchio.
- Che insieme di librerie pensi che aiutarmi a completare questo compito? Ricorda che sono uno studente di informatica, quindi le soluzioni fuori dal comune non resteranno con i miei professori.
- RMI è vecchio, qualsiasi soluzione migliore là fuori?
- qualsiasi tutorial completo su TRMI?
Se trovi la mia logica come difettosa, correggila.
Se si dispone di ulteriori suggerimenti sull'argomento che si ritiene di dover discutere, non esitate a contattarmi.
RMI è l'impostazione predefinita per la comunicazione tra processi in Java. È "vecchio" perché è stato disponibile e perfezionato dall'inizio di Java - preferirei chiamarlo maturo. A seconda delle tue esigenze/professore, potresti anche provare a basare la tua soluzione su qualcosa come [Hadoop] (http: //hadoop.apache.org /) o almeno trarre ispirazione da lì. –
Se è maturo che bello. Ho trovato solo una documentazione molto antica, quindi dal mio punto di vista ho pensato che non si evolvesse molto. Hai un link che descrive lo sviluppo della biblioteca nel tempo? – qballer
RMI (* invocation metodo remoto *) non è una libreria. È una sorta di tecnologia e parte del JRE/JDK. –