2010-05-24 9 views
5

È possibile implementare la logica di business in un remoto di App Server utilizzando pojos anziché EJB o Servlets ???. L'idea principale è applicare un modello di 3 livelli in cui i client possono essere sia browser Web sia applicazioni desktop e condividono la logica di business in un App Server.Implementare la logica di business in un app server con molla

questo sarebbe l'architettura

del browser -----> Web Server --------> | App Server (Business Logic comune) | -------> | RDBMS comuni |
App desktop (Swing ad esempio) -> | Server applicazioni (business logic comune) | -------> | RDBMS common |

risposta

5

È possibile utilizzare Spring anziché EJB. E lo consiglio!

Ma entrambe le alternative gestiranno le funzionalità aziendali come la gestione delle transazioni e la sicurezza per te in modo eccellente.

Utilizzando Spring o no, è ancora necessario un contenitore Servlet per le pagine Web. Il contenitore Servlet può avviare il contenitore Spring se si configura il file web.xml del contenitore Servlet corretto.

Una movimentazione esempio con la Primavera di transazione:

@Transactional 
public void execute(..) {..} 

E con EJB 3.x:

@TransactionAttribute 
public void execute(..) {..} 

Come si vede, entrambe le alternative consente di aggiungere impresa dispone dichiarativo.

Aggiornato dopo aver letto il commento di HenryOS:

E 'possibile avere tutte la logica di business su un server.

Una soluzione può essere l'utilizzo di servizi Web tra i client (server WEB e client Swing grassi). È una soluzione abbastanza carina e liberamente accoppiata.

Se hai bisogno di maggiore velocità, puoi prendere in considerazione l'utilizzo della tecnologia Protocol Buffer di Google o simile.

Una cosa interessante è che con Web Services o Protocol Buffer, è ancora necessario un contenitore Web come Tomcat o Jetty sul server con logica aziendale, poiché deve fornire i servizi Web per i client. Tutti i framework di servizi Web come Spring WS, CXF e Apache Axis 2 utilizzano un servlet.

Per quanto riguarda i livelli, consiglierò due livelli sul server WEB, poiché si presentano e si recuperano solo i dati prima di inviarli al server aziendale. Sul server aziendale consiglierò tre livelli. Il livello superiore per gestire i servizi Web, il livello aziendale nel mezzo e un livello di integrazione con il database e altri sistemi aziendali nella parte inferiore.

Infine, se si utilizza CXF o Spring WS insieme a JAXB, tutte le classi sul server aziendale possono essere scritte come POJO! Si applica anche a molti altri framework di servizi Web ben scritti.

Spero che questo risponda alla tua domanda!

+0

prima di tutto, grazie per la vostra risposta ... e ho capito cosa si dice, ma la mia domanda è se è possibile avere una logica di business senza servlet/JSP/EJB .. cioè solo pojos. Voglio avere i servlet/JSP (Presentation layer per browser web) nel server web, e su un altro Server (App Server) la logica di business comune (Sevice Object, Oggetto di accesso ai dati e oggetti di dominio) per essere utilizzata da Client dell'applicazione Desktop (direttamente) e browser Web (tramite servlet/jsp) – HenryOS

+0

grazie per la risposta così presto. così .. per finire .. se ho bisogno di fornire il servizio di business logic a JSP/Servlet (su server Web) o al client desktop dell'applicazione, l'UNICO MODO è implementare servizi Web significa servlet e quindi un contenitore web sul server dell'app ??? – HenryOS

Problemi correlati