Quando si usano bean di sessione facciata, perché dovremmo comunque utilizzare anche bean di sessione business?
-
07-07-2019 - |
Domanda
Quando si utilizza il modello di progettazione della facciata per strutturare il livello EJB aziendale di un'applicazione, perché dovremmo ancora utilizzare bean di sessione per la logica aziendale effettiva? C'è un motivo specifico per non utilizzare solo le normali classi Java (se non è richiesta l'iniezione gestita dal contenitore)? In che modo le prestazioni di una semplice classe Java rispetto a un bean di sessione, ignorando i bean di sessione aziendali, non migliorerebbero le prestazioni?
Solo per riassumere le due opzioni:
- CLIENTE - > FACCIATA - > FAGIOLO DI SESSIONE
- CLIENTE - > FACCIATA - > CLASSE JAVA REGOLARE
Perché usare 1 invece di 2?
Soluzione
L'unica volta in cui riesco a pensare che l'opzione 1 avrebbe senso se si necessitasse di una transazionalità diversa dalla facciata, ad esempio se si desidera effettuare un aggiornamento al di fuori di qualsiasi transazione di cui la facciata potrebbe far parte.
Altrimenti la mia preferenza sarebbe sempre l'opzione 2, è solo meno schifo di consumare il tempo del processore, andare storto, ecc.