Il modo migliore per Java di scrivere / leggere file su una macchina separata?
Domanda
Abbiamo un server di applicazioni Java in esecuzione su Sun Solaris. Ora dobbiamo essere in grado di scrivere file e leggere file su / da un computer separato, che esegue WindowsXP. Queste 2 macchine sono amministrate da 2 gruppi separati all'interno dello stesso firewall. Se è più semplice, potremmo usare Java per scrivere il file su Solaris e quindi utilizzare un programma di terze parti per spostare i file sul / dal computer Windows.
Qual è il modo migliore per gestirlo?
Solo un'altra informazione: il nostro gruppo gestisce la macchina Solaris e, se necessario, potremmo aggiungere software a quella macchina. Ma provare a convincere l'altro gruppo ad aggiungere qualsiasi software al computer Windows sarebbe un grosso problema. Quindi preferirei una soluzione che non richiede l'installazione di nulla sul computer Windows.
Soluzione
Probabilmente il modo più semplice sarebbe quello di impostare una condivisione sulla macchina Windows e usare Samba per montarla sulla macchina Solaris. Quindi la tua app Java vedrebbe quella directory proprio come qualsiasi altra directory locale sul filesystem.
Altri suggerimenti
Sincronizza i datastore / filesystem (cartella) delle macchine usando uno strumento come Rsync
Installazione di ssh e rsync su una macchina Windows: approccio minimalista
Se non si desidera modificare l'applicazione, è possibile rendere disponibili i file sul sistema Windows XP sul sistema Solaris a livello di sistema operativo, in modo che l'applicazione possa funzionare con i file sul sistema XP come se fossero file locali .
Puoi farlo in due modi:
- Utilizza Windows Services for Unix per creare una condivisione NFS su il sistema Windows XP che si monta normalmente sul sistema Solaris.
- Crea una normale condivisione Windows e montala sul sistema Solaris usando Samba .
Tuttavia, entrambe queste opzioni richiedono l'installazione di software aggiuntivo su uno dei sistemi, quindi potrebbe non essere pratico.
Server / client FTP protetto e Apache Commons VFS
La mia prima scelta per spostare file tra macchine è scp
(copia file remota su SSL). Esiste una versione di Windows in PuTTY . Presumibilmente c'è una libreria Java per eseguire scp da qualche parte.