Newsgroup: it.comp.java
Titolo: Da applicazione ad applet

Se vi è capitato di leggere qualche mio vecchio post, saprete che sto
lavorando ad un'applicazione che si collega ad un server. Per il momento è
un'applicazione vera e propria ma mi hanno chiesto di verificare se è
possibile e con quali sforzi farla diventare un'applet per consentire il
suo utilizzo da una comune pagina web.
Dopo aver letto dal sito della sun
quello che si può e non si può fare con un'applet, vi elenco quelli che
secondo me potrebbero essere dei problemi:
- mi devo collegare ad un DB
(attualmente è Access, ma dovendo girare anche sotto linux dovrò migrarlo
in un altro formato) che per il momento è locale ma che a questo punto
andrà messo sul server, giusto??
- mi devo collegare ad un server che
però non credo che sia lo stesso da cui viene scaricata l'applet (purtroppo
non ho ancora avuto modo di averne la certezza)
- l'applicazione si basa
su una finestra principale e su alcune finestre figlie indipendenti tra
loro (e che gli utenti possono spostare o ridurre ad icona)
- è
utilizzato un file di configurazione locale per salvare le impostazioni
Secondo voi è possiible trasformarla in un'applet? Oltre al sito sun avete
qualche link dove è spiegato come risolvere i problemi piu' comuni nel
trasformare un'applicazione in un'applet
Grazie
Lis
--------------------------------
Inviato via 
http://usenet.iol.it


Questo sara' salvato sul server: un apposito oggetto si occupera' di fare la cosa.
Spero di esserti stato di aiuto: se hai bisogno di ulteriori info posta sul NG
Ciao,
    Bruno.
---
| Bruno Bossola
| A Java Software Engineer :-)
| 
http://digilander.iol.it/bbossola

suo utilizzo da una comune pagina web.
[CUT]
Mi limito a citare un'altra possibilità: WebStart (cerca sul sito della 
Sun).
A te l'onere di fare le dovute valutazioni ;-)
-- 
Ciao
	Fabrizio C.

 A te l'onere di fare le dovute valutazioni ;-)
Dunque, io devo accedere ad un db, salvare le impostazioni e ricevere
dati da un server e se non ho capito male anche le applicazioni lanciate
con WebStart sono sottoposte a limitazioni simili alle applet, quindi
sarei orientato per una normale applet che per l'utente imho è meno
"invasiva".
Dopo tutto però penso di rimandare questa decisione più in avanti visto
che prima di tutto devo creare lo "strato" intermedio che si frappone
tra il server vero e proprio e i vari client (che a questo punto applet
o app.webstart cambia poco, giusto?).
Lis
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

     Bruno.
Ciao


 
Scusate se insisto ma mi basterebbe sapere se sono sulla strada giusta,
in modo da non "buttare" troppo lavoro per nulla.
Intanto ho fatto le prime prove con rmi e funziona, per cui sarei pronto
per partire con lo sviluppo, però guardando ancora un pò di
documentazione ho letto che rmi su http ha svariati problemi, come
connessioni che cadono. Mi conviene allora orientarmi verso la solizione
RMI-servlet
(
http://developer.java.sun.com/developer/technicalArticles/RMI/rmi/)
??
In questo caso come si comporta come velocità?
Grazie


 In questo caso come si comporta come velocità?
Dopo altre ore di letture e ripensamenti sono arrivato ad un'altra
conclusione: perchè non usare una soluzione mista socket/rmi??
Mi spiego meglio: attualmente la comunicazione con il server avviene
direttamente tramite socket e tutto funziona bene. Quindi perchè non
mantenere il funzionamento di adesso e aggiungere l'rmi per implementare
le funzioni di accesso al database? In questo modo avrei un impatto
minore sulla mia applicazione.
Altrimenti potrei fare un generico metodo rmi "passaIlMessaggioAlServer"
in cui il middleware non fa altro che prendere il messaggio che arriva
dal client e lo trasmette pari pari al server.
Mi è venuto però un dubbio: l'applicazione adesso risponde a degli
"eventi" (implementati mentre listener) che gli vengono inviati dal
server. Se dovessi utilizzare rmi, questa tecnica funzionerebbe ancora
oppure dovrei studiare un'altra soluzione? Avete qualche idea?
Aiutatemi vi prego, non sto capendo più nulla :-////




Scusa, ma in questo periodo sono di nuovo un po' preso, e non ho tempo per rispondere al
NG. Comunque, se hai letto quell'articolo, hai anche dato un'occhiata al mio GMI? Mi
sembra esattamente quello che ti serve: dacci un'occhiata e posta se non e' chiaro. Ti
assicuro, questo thread lo sto monitorando ma il tempo e' poco :-)



Il problema e' che con RMI il sistema di collback non funzionerebbe attraverso i firewall
/ proxyes.
Fatti sentire.


 / proxyes.
Ma lo stesso problema lo avrei anche se usassi semplicemente dei socket
(com'è attualmente l'applicazione stand-alone), giusto?


     Bruno.
Ciao



Beh, il problema e' che esistono delle apposite macchine (firewall) di solito poste in
ingresso / uscita dalle reti aziendali che bloccano il traffico che non sia HTTP e che non
sia sulla porta 80. Con RMI e' possibile effettuare connessioni in "tunneling" su HTTP, ma
non dal server verso il client, solo da client a server.
Per essere sicuri quindi che il tuo traffico passi dal server al client devi tenere aperta
una connessione HTTP e farci passare sopra i dati: solo cosi' hai la garanzia che la cosa
funzioni al 99% su internet (ovviamente, c'e' sempre un qualche malfunzionamento :-D)
Se comunque accetti di sbattertene di firewall & co, puoi usare anche RMI (o TCP puro): il
problema e' che se la tua applicazione gira su internet, potra' esserci almeno un caso su
tre di non funzionamento.
Nel progetto in cui avevo partecipato io avevamo risolto scrivendo diverse implementazioni
dello strato di comunicazione, e di volta in volta il client sceglieva quello migliore per
comunicare con il server: puoi partire da una connessione TCP pura (la piu' veloce),
quindi scendere ad una HTTP con connessione sempre aperta, quindi ad una HTTP con polling.
E' sufficiente che la tua interfaccia verso il sistema di push sia sempre la stessa. 
Allora, che dici? Le info sono sufficienti o hai bisogno di chiarimenti? Come dicevo a
beppe, creare una libreria di push in java per internet e' un lavoretto veramente
"challenging": se volete possiamo creare un progetto su sourceforge, e lavorarci insieme:
io pero' posso solo dare contributi "cognitivi", per il codice ho veramente poco tempo.
Dite, dite!
Ciao,
    Bruno.
P.S.
Invio anche via e.mail il messaggio, sia a Lis che a Beppe.


 io pero' posso solo dare contributi "cognitivi", per il codice ho veramente poco tempo.
Visto che in un modo o nell'altro il problema lo devo risolvere potrebbe
anche essere un'ottima idea, perň dovete tenere conto che ho pochissima
esperienza, per cui non so quanto vi possa essere utile


 veramente poco tempo. 
penso che qualcuno ci abbia gia pensato mai sentito parlare di pushlet :), 
nemmeno io fino a qualche giorno fa , ecco il link
http://www.pushlets.com:8080/
ciao cioa 
   bEPpE

    bEPpE



Uhm... io invece ne ho sentito parlare, e come una roba parecchio bacata: state all'occhio
se decidete di usarlo, ok? In ogni caso se avete bisogno di una mano son qui.
Ciao,
    Bruno.
