I bean remoti sono la giusta strada da percorrere?

2

Sto pensando di ristrutturare la mia attuale applicazione e non sono sicuro che questo sia l'approccio giusto.

Attualmente
Ho un'applicazione server Java Enterprise con 3 applicazioni web e una ejb-application che gestisce il database (JPA con EJB-Facades). Tutto in un singolo progetto (distribuito come file ear ). Le applicazioni web sono abbastanza indipendenti, sebbene utilizzino tutti lo stesso database e le stesse entità. Quindi, dipendono tutti dalla ejb-application .

Che cosa vorrei fare
Vorrei separare le applicazioni web, in modo che possano essere eseguite indipendentemente e non è necessario ridistribuire tutto, solo perché apporto una modifica in un'applicazione.

L'idea è di creare una sola libreria jar che contenga interfacce remote per i bean di facciata esistenti . In questo modo posso impostare jar come libreria disponibile sul server e implementare la mia ejb-application che implementerà le interfacce remote .
Le 3 applicazioni web dovrebbero solo importare la mia libreria e avere accesso completo al database.

Ora, non sono nemmeno sicuro se questo è un modo raccomandabile, dal momento che immagino che remote ejbs possa avere un grave impatto sulle prestazioni a causa della serializzazione (o non loro ? ).

E per quanto riguarda le classi di entità del database? Dal momento che ogni applicazione Web li utilizza quando accede al database, è necessario che siano inclusi anche in jar . Ma avendo un ejb-application per l'accesso al database che non contiene le effettive classi entity - che è semplicemente fuori posto.

 ————    ————    ————                
|web1|  |web2|  |web3|              
 ————    ————    ————                
       \   |   /                    
        ———————                         ———             ———
       |  JAR  |                       |EJB|——————————>|DB |
        ———————                         ———             ———
        entity classes <---import----- db-facades
        remote ejbs  <---implement---/
    
posta GameDroids 05.09.2016 - 13:37
fonte

0 risposte

Leggi altre domande sui tag