PDA

View Full Version : [TomCat o GlassFish] Installazione AS e realizzazione applicazione distribuita


e-commerce84
04-05-2010, 11:17
Ciao,
per un progetto universitario stiamo realizzando una guida georeferenziata su palmare.

Molto semplicemente funziona così: gli utenti girano per Roma con un palmare. Il palmare è connesso ad Internet e si connette ad un'application server su cui gira la nostra applicazione distribuita che interroga un database contenente la lista dei POI (points of interest).
A questo punto l'applicazione distribuita riceve la lista dei POI dal DB, li incapsula in un file KML che restituisce all'utente.

Abbiamo già sviluppato il DB e le query.

Ora ci troviamo in difficoltà per quanto riguarda l'application server e lo sviluppo dell'applicazione distribuita (che deve essere fatta in Java). Inizialmente ci era stato consigliato di usare GlassFish ma da quanto vedo forse TomCat potrebbe essere l'ideale in quanto si integra direttamente con Apache e Linux...

Praticamente che dobbiamo fare? Da quello che abbiamo capito dobbiamo installare TomCat e realizzare l'applicazione come servlet o jsp...quindi praticamente l'utente si connetterebbe al server, passa le sue coordinate GPS alla pagina jsp, quella fà le richieste al DB, incapsula il risultato in un KML e lo restituisce all'utente richiedente.

Come logica può andar bene?

Ah per far comunicare il servlet o il jsp con il DB (MySql) cosa dobbiamo usare? JDBC? Se così fosse è già integrato in TomCat o và installato separatamente su Linux?

Grazie

nuovoUtente86
04-05-2010, 11:32
TomCat è un servlet container(oltre ad essere un classico web server Apache), il che ti costringe , in buona sostanza, ad accedere allo strato persistente dalla presentazione e non è per nulla una buona idea. Glassfish invece è un applicatione server con supporto a ejb 3.0, con tutti i vantaggi che ne conseguono.

khelidan1980
04-05-2010, 11:57
diciamo che si deve decidere come sviluppare il tutto, se con ejb allora glassfish oppure si possono usare spring e hibernate per restare su tomcat, eventualmente anche solo hibernate

e-commerce84
04-05-2010, 16:21
TomCat è un servlet container(oltre ad essere un classico web server Apache), il che ti costringe , in buona sostanza, ad accedere allo strato persistente dalla presentazione e non è per nulla una buona idea. Glassfish invece è un applicatione server con supporto a ejb 3.0, con tutti i vantaggi che ne conseguono.

mmm...stai parlando quasi arabo perchè stiamo ancora tentando di capirci qualcosa visto che certe cose di fatto non le abbiamo MAI viste in nessun corso.

Che differenza c'è tra un servlet contariner ed un application server?
Quì viene fatto riferimento a TomCat come un Application Server: http://server.html.it/guide/leggi/102/guida-application-server/

In particolare dice: Ad essere proprio pignoli, Tomcat è un Servlet Container ed un JSP Engine. Un motore quindi in grado di eseguire lato server applicazioni Web basate sulla tecnologia J2EE e costituite da componenti Servlet e da pagine JSP.

Da quello che ho capito la nostra applicazione distribuita dovrebbe essere una pagina JSP che riceve le coordinate GPS dell'utente ed il range di ricerca da lui scelto, fà l'interrogazione al DB, incapsula i risultati in un KML e lo reinvia all'utente richiedente...

Perchè per fare questa cosa non sarebbe adatto? Se mi riesci a dare qualche informazione in più te ne sarei molto grato

Tnx

nuovoUtente86
04-05-2010, 16:38
Devi pensare servlet e jsp come l' interfaccia tra l' utente e l' applicazione, e come tale dovrebbe limitarsi a raccogliere gli input e mostrare gli output delegando la logica di gestione ai livelli sottostanti. Questo lo puoi ottenere con un' architettura a 3 livelli sfruttando la specifica ejb 3.0 oppure dei framework/middleware esterni come spring/hibernate che offrono. attraverso il pattern MVC ad esempio la gestione dello stratto applicato e la rappresentazione ORM dei dati.

e-commerce84
05-05-2010, 14:53
Devi pensare servlet e jsp come l' interfaccia tra l' utente e l' applicazione, e come tale dovrebbe limitarsi a raccogliere gli input e mostrare gli output delegando la logica di gestione ai livelli sottostanti. Questo lo puoi ottenere con un' architettura a 3 livelli sfruttando la specifica ejb 3.0 oppure dei framework/middleware esterni come spring/hibernate che offrono. attraverso il pattern MVC ad esempio la gestione dello stratto applicato e la rappresentazione ORM dei dati.

mmm...ed in pratica secondo te cosa dovrei installare ed iniziare a studiarmi? GlassFish e cos'altro?

Tnx

nuovoUtente86
05-05-2010, 14:55
Ti consiglio il libro "EJB3 in action".