View Full Version : [JAVA] Migrare applicazione Java Swing su Web
tylerdurden83
06-09-2010, 08:00
Ciao ragazzi. Vorrei chiedervi un parere.
Ho un'applicazione scritta in Java Swing. Per farla breve, è una JTable che viene aggiornata in real time leggendo messaggi da un Topic JMS.
L'obiettivo sarebbe quello di portarla su web, usando ajax per refreshare le entry della tabella html senza ricaricare tutta la pagina ogni volta.
Quale strada mi consigliereste?
Alcune info:
il server JMS è (attualmente) HornetQ
il sito in cui inserire il porting dell'applicazione è (attualmente) in php
...
Grazie 1000 a tutti come sempre,
Rob
Quanti utenti deve supportare questa tua web app?
tylerdurden83
06-09-2010, 08:40
Quanti utenti deve supportare questa tua web app?
Una decina max contemporaneamente
Una decina max contemporaneamente
Se sono solo una decina lato client con javascript puoi usare un timer e realizzare il classico polling per controllare gli aggiornamenti
Ogni 1s scatta il timer->Viene richiamata la tua funzione che farà:
-> GET della pagina in php
<- La pagina php risponde al GET fornendo i dati serializzati in json
-> Deserializza i dati
-> Aggiorna le parti della pagina dove necessario
Per scambiare dati dal tuo server java a php, ti consiglio di usare Redis http://code.google.com/p/redis/
E' un db che tiene tutto in ram, include elementi come liste ordinate che possono essere usati come queue.
Il tuo server Java al posto di usare un server di messaging, riempie una lista in redis serializzando i dati in json
Lato php, basta che il tuo script ad ogni richiesta controlli se ci sono elementi nella lista Redis ed invia tutto al client sempre tramite json
Ovviamente devi prima fornire al client dei dati di base su cui lavorare, l'ideale è avere un "index.php" che fornisce i dati di
"default" e un "update.php" che restituisce gli aggiornamenti in json
Puoi sempre saltare Redis, e far aggiornare ogni volta i dati contenuti in un ipotetico db relazionale dal server Java direttamente, dipende da cosa devi effettivamente fare e sopratutto di quali compiti il server java deve occuparsi
Lato client, assolutamente jquery
tylerdurden83
06-09-2010, 11:40
Grazie nico159, prenderò attentamente in esame il tuo suggerimento.
Ti dico cosa avevo in mente io, dimmi se secondo te possono andare bene come idee o è meglio non perderci tempo.
1) Cambiare il server JMS (ora hornetq) con http://activemq.apache.org/ajax.html. Mi pare di capire che quello faccia ciò che mi serve...
2) Lasciare hornetq, e scrivere una servlet + jsp, con la servlet che "legge" dal topic JMS e spara al client (sempre refresh ajax). Richiede un altro webserver tipo tomcat ovviamente.
Grazie,
Rob
ti consiglio di utilizzare IceFaces che supporta il push via ajax, è molto semplice da utilizzare e ti risolve un sacco di problemi.
ovviamente sempre con un webserver tipo tomcat dietro
Ciao:)
1) Cambiare il server JMS (ora hornetq) con http://activemq.apache.org/ajax.html. Mi pare di capire che quello faccia ciò che mi serve...
E' una ottima soluzione, potresti scalare a molti utenti e parte del codice JS for free
tylerdurden83
06-09-2010, 13:04
E' una ottima soluzione, potresti scalare a molti utenti e parte del codice JS for free
Vedi controindicazioni a usarlo via cell?(motivo principale del porting da swing a web)...
Vedi controindicazioni a usarlo via cell?(motivo principale del porting da swing a web)...
La dipende solo dal browser fornito con il cellulare
E' possibile che avresti problemi anche con un semplice timer
Sei fortunato se si parla di cell con OS moderni come Android o iPhone OS
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.