Newsgroup: it.comp.java
Titolo: Avete idea....

Di come progettare un'applicazione stand-alone, che al variare di un dato
nel DB aggiorni tutti i client in real time?
Avevo pensato ad un demone su server dove è presente il db che notifichi ai
client, (tipo observer ed observable), ma nn so come implementarlo.
Esiste già qualche framework?


Una soluzione che mi sentirei di sconsigliarti a priori è il cosiddetto 
"polling" sul database, ovvero eseguire determinate query ad intervalli 
di tempo. Oltre a caricare inutilmente il database infatti non hai 
nemmeno la possibilità di un tempestivo scatenamento dell'evento. Anzi, 
più vuoi che l'evento sia vicino al tempo reale, più devi caricare il db.
Un DAO intelligente, che scateni eventi nel momento stesso del 
salvataggio degli oggetti agli Observer interessati mi sembra invece la 
soluzione ottimale...
Se ti interessa puoi dare un'occhiata al sito in firma, il mio fw 
funziona proprio in questo modo.
ciao
pole
-- 
ammentos - a lightweight persistence framework for JDK5
http://www.sourceforge.net/projects/ammentos
http://ammentos.biobytes.it

 
http://ammentos.biobytes.it
CIao, grz della dritta, ci darò un occhiata.

 ha scritto nel messaggio
news:d61kv2$ohg$1...@balena.cs.interbusiness.it...


 utilizzare trigger e compagnia bella
si, ma il punto rimane sempre lo stesso, come faccio ad implementare il
demone che dovrà "sollecitare" i client collegati in rete?
Dovrei creare qualcosa tipo la classica "chat".

 ha scritto nel messaggio
news:d624ro$7jd$1...@carabinieri.cs.interbusiness.it...


 > demone che dovrà "sollecitare" i client collegati in rete?
Si, scusa non ho premesso. Il client è stand-alone sui pc ed accedono al db
mysql sul server.
L'idea era di aggiungere un daemon sul server del db che si occupasse di
"filtrare" le richieste di i/o e contemporaneamente notificare a _tutti_i
client collegati di aggiornare i frames
Non so come potrei disegnare questa cosa...

 nel DB aggiorni tutti i client in real time?
Realizzi un software server al quale tutti i client si collegano e quando si
verifica l'evento prestabilito invii un segnale a tutti i client.
In questo caso è necessario che il server faccia un polling sul mysql
periodicamente. Per ovviare a questo, potresti inviare le query non solo al
mysql, ma anche al software server da te realizzato, in modo tale da
percepire quali dati si stanno modificando.
-- 
Ciao,
 Fabrizio
=== 
http://www.negusweb.it
 ===

 percepire quali dati si stanno modificando.
Si, credo sia la migliore. Creare un daemon che "filtri" tutte le richieste
e le passi al DB, una sorta di proxy. Così da un lato si occupa di scrivere,
dall'altro notifica tutti i clients.
Mi stavo chiedendo se sto procedendo nella maniera giusta o meno. Il dubbio
amletico mi attanaglia.
Nel senso: se le applicazioni stand-alone vengono definite tali, è giusto
"forzarle" alla tecnologia client/server?
D'altro canto non posso mettere in piedi webserver/jsp/servlet perchè
l'applicazione richiede maggiore interattività di quella che offre j2ee.
Già ho eliminato il problema della distribuzione ai vari pc del software
attivando webstart su un server e funziona alla grande; i client quando si
collegano fanno il check se l'applicazione è cambiata, in questo caso
scaricano l'aggiornamento (e già mi sembra una lieve forzatura), in più ci
metto questo nuovo miniframework client/server... mi chiedo se devo cambiare
il disegno e la tecnologia o vado avanti cosi.
I dubbi sono raddopiati.