Quando si ha a che fare con un'applicazione web ci sono due componenti di interesse primario: il server e la rete.
Un'applicazione web java viene eseguita in un server delle applicazioni (si tratta di un'applicazione come jBoss, Weblogic o molo autosufficiente) su un server stesso (linux, windows, ecc.).
Se il server delle applicazioni non è in esecuzione, le applicazioni al suo interno non sono in esecuzione e non sarà possibile connettersi a esse. Questo è vero non importa se le applicazioni al loro interno forniscono servizi Web o pagine web più tradizionali.
Se il server stesso non funziona, le applicazioni in esecuzione sul server (il server delle applicazioni, il database e simili) non sono in esecuzione.
Se la rete tra te e il server non è attiva, beh, la rete non funziona e non è possibile connettersi alle applicazioni (indipendentemente dal fatto che siano in esecuzione o meno).
L'approccio standard alla gestione del server è inattivo è la ridondanza - mettere l'applicazione su più server in modo che se uno non riesce a connettersi tenterà di connettersi a un altro. Ciò non garantisce che funzionerà sempre (un'interruzione della rete in un'area abbastanza ampia o un problema a cascata nel cloud computing può portare via più sistemi fuori linea).
Le specifiche di quanto e quanto ridondanza sono necessarie dipendono dai requisiti di una data applicazione. Alcune persone hanno bisogno di un uptime del 99,999%, alcune richiedono solo il 99% di uptime (e aspettano che la rete o il sistema si correggano piuttosto che investire in ridondanza aggiuntiva).
Ricordare che quando si pianifica la ridondanza è probabilmente necessario che più componenti debbano essere ridondanti. Se si dispone di più applicazioni Web ridondanti che utilizzano lo stesso database e il database non funziona, si ha ancora un singolo punto di errore con il database.
Ok, quindi diciamo che la rete è andata giù dopo aver caricato la pagina. Ora sei offline.
Html 5 offre la possibilità di avere una certa quantità di elaborazione locale. Nota che questo significa che puoi lavorare solo con il codice e i dati che hai sulla macchina . Se la logica di business per l'applicazione è ospitata nel cloud, significa che quando il cloud non è disponibile, quella porzione di logica non è disponibile.
Alcune risorse per le applicazioni offline html 5:
Una ricerca google per "app web offline html5" (e relative query) fornirà più risorse.