Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-09-2010, 08:00   #1
tylerdurden83
Senior Member
 
Iscritto dal: Nov 2004
Messaggi: 691
[JAVA] Migrare applicazione Java Swing su Web

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
tylerdurden83 è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2010, 08:33   #2
nico159
Senior Member
 
Iscritto dal: Aug 2003
Città: Barletta (BA)
Messaggi: 939
Quanti utenti deve supportare questa tua web app?
__________________
In a world without fences, who needs Gates?
Power by: Fedora 8 - Mac OS X 10.4.11
nico159 è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2010, 08:40   #3
tylerdurden83
Senior Member
 
Iscritto dal: Nov 2004
Messaggi: 691
Quote:
Originariamente inviato da nico159 Guarda i messaggi
Quanti utenti deve supportare questa tua web app?
Una decina max contemporaneamente
tylerdurden83 è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2010, 10:37   #4
nico159
Senior Member
 
Iscritto dal: Aug 2003
Città: Barletta (BA)
Messaggi: 939
Quote:
Originariamente inviato da tylerdurden83 Guarda i messaggi
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
__________________
In a world without fences, who needs Gates?
Power by: Fedora 8 - Mac OS X 10.4.11

Ultima modifica di nico159 : 06-09-2010 alle 10:55.
nico159 è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2010, 11:40   #5
tylerdurden83
Senior Member
 
Iscritto dal: Nov 2004
Messaggi: 691
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
tylerdurden83 è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2010, 12:08   #6
tari80
Member
 
Iscritto dal: Nov 2003
Messaggi: 120
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
__________________
ho fatto affari con: pyp, fedelover, Kuccy, casacup(il migliore )
tari80 è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2010, 12:37   #7
nico159
Senior Member
 
Iscritto dal: Aug 2003
Città: Barletta (BA)
Messaggi: 939
Quote:
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
__________________
In a world without fences, who needs Gates?
Power by: Fedora 8 - Mac OS X 10.4.11
nico159 è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2010, 13:04   #8
tylerdurden83
Senior Member
 
Iscritto dal: Nov 2004
Messaggi: 691
Quote:
Originariamente inviato da nico159 Guarda i messaggi
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)...
tylerdurden83 è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2010, 13:20   #9
nico159
Senior Member
 
Iscritto dal: Aug 2003
Città: Barletta (BA)
Messaggi: 939
Quote:
Originariamente inviato da tylerdurden83 Guarda i messaggi
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
__________________
In a world without fences, who needs Gates?
Power by: Fedora 8 - Mac OS X 10.4.11
nico159 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Il CEO di Microsoft chiede una supervisi...
Dreame T15 Pro Heat, aspira la polvere e...
Apple rilascia iOS 27, iPadOS 27 e macOS...
DDRop, l'attacco hardware da meno di 200...
LG OLED G6 55'' a 1.368€ e LG NANO 98'' ...
OpenRGB 1.0 arriva dopo tre anni: una so...
OpenAI paga centinaia di revisori per le...
Opel scarica l'adrenalina elettrica al S...
Volkswagen Mission Efficiency: Cd di 0,1...
Dreame L10s Pro Gen 3 a 179€: ottimo pre...
I Samsung Galaxy S24 ricevono la One UI ...
Google Drive, prende il via il programma...
TempGuard: la protezione di ASRock fa ci...
La prima missione orbitale del razzo spa...
Servizi in streaming sempre più c...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:23.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v