Salve
sono nuovo da queste parti. Mi servivano un paio di consigli.
Per prima cosa provo a descrivervi il progetto universitario che sto facendo: devo scrivere un supporto a tempo di esecuzione per una pipeline, in modo che un programmatore possa definire la pipeline scrivendo il codice di ogni stadio, il codice che definisce in che ordine questi stadi vanno eseguiti e poi chiami un metodo "run" che
1) trovi n host (sui quali ovviamente è in esecuzione un demone che ascolta in attesa di compiti da svolgere) sui quali far andare gli stadi del pipeline
2) faccia in modo che tali host si connettano fra di loro
3) trasmettere il codice delle funzioni che compongono la pipeline e mandarlo in esecuzione
Abbiamo già scritto la libreria di comunicazione, basata su jxta, bellina bellina quindi il nostro sistema è in grado di connettere fra di loro i peer, pubblicarne i dati nella rete ed effettuare ricerche per host disponibili. Il problema è la trasmissione del codice, legata più che altro al dubbio su dove compilarlo! Compilarlo a lato client sarebbe enormemente più semplice, a quel punto il lavoro consisterebbe solo nel trasmettere il jar (precompilato dall'utente) al server che lo metterà in esecuzione. Ma ci sono dei problemi: e se il server non avesse qualche libreria necessaria all'esecuzione dello stadio della pipeline? E se lo stadio fosse compilato in locale con il compilatore per la 1.6 e venisse messo in esecuzione su una jre 1.5?
D'altra parte, compilarlo in remoto sarebbe abbastanza difficoltoso! Dovrei trasferire il codice sorgente dall'host cliente all'host servente, compilarlo con una libreria che lo "integri" con il codice necessario alla comunicazione con gli altri host...
Mi appello a chi di Java conosce più di me: qual'è la soluzione migliore secondo voi? Compilazione da client e trasmissione del jar o trasmissione del codice sorgente e compilazione da server?
Grazie a chi ha avuto voglia di seguire questo mio sproloquio programmativo... e ovviamente a chi saprà darmi una mano![]()

Rispondi quotando