Sto confrontando 2 diversi approcci all'architettura dell'applicazione J2EE:
- Dividi parti indipendenti come moduli di un'unica grande app Web.
- Dividi parti indipendenti come app web diverse in esecuzione sullo stesso server.
Tra questi approcci preferisco il secondo perché consente di apportare modifiche senza ridistribuire l'intera applicazione. Immagina di voler cambiare qualcosa in app2. Nel caso di una grande app devi ridistribuire l'intera applicazione. Nel secondo caso devi solo ridistribuire app2.
Ma ho qualche dubbio sul consumo delle risorse come l'utilizzo della memoria e l'utilizzo della CPU. Personalmente ritengo che ogni applicazione J2EE, non importa quanto grande sia, ha un limite minimo di memoria che sarà necessario utilizzare. Questo limite minimo è ciò che è necessario per il caricamento del contesto, i file di configurazione del framework web, le librerie jar e altre cose. La mia ipotesi suona come "Avere molte app Web in esecuzione sullo stesso server porta a una moltiplicazione dello spreco di risorse minime predefinite." L'immagine qui sotto è corretta? Una grande applicazione mi salva dalla moltiplicazione di sovraccarico delle risorse predefinite mostrata nell'immagine?