Siamo in procinto di sviluppare un'applicazione basata su JavaEE 6 da distribuire su JBoss EAP 6.1. L'app ha 2 meccanismi di presentazione principali: una console di amministrazione Web e un'API di servizio RESTful. Sul back-end, sia la console di amministrazione che l'API di servizio RESTful si basano su una serie di EJB per l'esecuzione di logiche di transazione e servizi POJO per il recupero dei dati.EAR singolo? O più EAR?
È del tutto possibile che le prestazioni e le risorse necessarie per tutti questi diversi livelli possano essere diverse. I servizi RESTful sono piuttosto sottili e completamente privi di stato, mentre la console di amministrazione è di stato e ha più funzionalità interattive (e quindi richiede più memoria ed elaborazione). Dal momento che i nostri bean eseguono la nostra logica di business transazionale primaria, richiederebbero una maggiore potenza di elaborazione rispetto ai nostri servizi dati POJO che eseguono semplicemente query sul database.
Data tale impostazione, avrebbe più senso distribuire un singolo EAR (in più appserver in una configurazione cluster) con tutti questi componenti o suddividere i singoli componenti in EAR separati? Il mio modo di pensare con EAR separati è che potrei, ad esempio, distribuire più istanze dei servizi EJB se trovo che ci sono problemi di scalabilità con loro, anche se la console web (ad esempio) si sta adattando perfettamente.
Dato che la scalabilità di ogni livello/componente è diversa, quale approccio dovrei adottare? Il sovraccarico di dover effettuare chiamate EJB remote su EAR è troppo alto per considerare un tale modello? Qualche consiglio è GRANDE apprezzato!
Consiglio eccezionale! Grazie per questo livello di dettaglio. Questo è esattamente il tipo di informazioni di cui avevo bisogno. – Shadowman