Posso pensare a diverse opzioni:
a) tieni traccia di quale versione del software è in esecuzione ogni cliente e quando hai una nuova versione, informa il cliente di questo insieme con le istruzioni su come ottenere e applicare l'aggiornamento. Questo è un processo manuale che può essere ampiamente automatizzato.
b) se il sito dispone di connettività Internet, è possibile scrivere un modulo in-app che periodicamente controlla gli aggiornamenti e scarica l'aggiornamento sul server. Una persona autorizzata potrebbe quindi essere informata via e-mail e applicare manualmente l'aggiornamento fuori app (ad esempio, l'accesso al server e l'esecuzione di uno script) o tramite l'approvazione in-app (ad esempio l'app imposta un flag su uno script privilegiato sul il server delle app preleva e applica l'aggiornamento). Questo è un processo manuale / semiautomatico che il cliente controlla.
c) installa il tuo programma di aggiornamento sul server e fallo periodicamente telefonare a casa e controllare gli aggiornamenti. Se viene trovato un aggiornamento, scaricalo e al momento giusto, aggiorna automaticamente il server. Nel caso di un file war, è possibile eseguire uno script da cron che controlla, scarica, arresta il server dell'app, sostituisce il file war e avvia nuovamente il server dell'app. Se la connettività del sito è scarsa o l'aggiornamento è grande, considera di tenere separati il recupero e l'aggiornamento in modo da lasciare tempo sufficiente per entrambi. Questa è una soluzione automatizzata, quindi fai attenzione: assicurati che il cliente sia d'accordo e capisca le implicazioni.
d) se non ci sono connettività Internet, non è possibile automatizzare gran parte della scoperta e del recupero. Tuttavia, è possibile che sia facile per la persona responsabile applicare l'aggiornamento. Ad esempio, offrendo istruzioni chiare su come ottenere l'aggiornamento su supporti portatili come una memory stick, un CD-ROM o qualsiasi altra cosa. Aiuta molto a conoscere il loro ambiente in modo che tu possa personalizzare le istruzioni, dipende da quanto sono abili.
Se il tuo aggiornamento è impacchettato come un completo file di guerra (come hai detto), allora è un processo piuttosto semplice poiché stai semplicemente aggiornando l'intera applicazione, e non i singoli componenti. Ma entrambi possono essere fatti, anche se le patch possono essere più coinvolte. Se si dispone di uno stack standardizzato in ogni sito del cliente, è possibile scrivere qualcosa che sia automatizzato e robusto. Il diavolo è nei dettagli quindi più informazioni è possibile fornire sullo stack dell'applicazione, in particolare su quale sistema operativo e server di applicazioni si sta eseguendo e qual è la connettività con il mondo (Internet e anche i client degli utenti, ad es. è facile ottenere un file sul server da un client - ad esempio, se i client dispongono di accesso a Internet (ad esempio, e-mail, web) potrebbero salvare l'aggiornamento su una condivisione SMB sul server delle app e uno script lo preleva da lì) .
Spero che questo ti dia qualche idea.