PDA

View Full Version : [Java] Applet con librerie native


fero86
12-08-2009, 13:56
sto usando il JNLPAppletLauncher per creare un applet (da JApplet, non da Applet) che fa uso di JOGL.

il JNLPAppletLauncher ha il vantaggio di essere comodissimo: é giá pronto e funzionante e il sito mostra addirittura alcuni esempi HTML per mettere immediatamente online un applet che fa uso di JOGL e JOAL, tra l'altro non c'é neanche bisogno di portarsi appresso ne' il jar del launcher nel quelli di JOGL e JOAL perché al launcher viene fatto riferimento tramite un URL di java.net e le librerie native vengono scaricate al volo quando necessario.

gli svantaggi invece sono questi. non ho mai avuto abbastanza tempo purtroppo di studiarmi JNLP e tutto il complesso sistema di deploy di Java ma sono andato a sbirciare i sorgenti di JNLPAppletLauncher e mi hanno fatto una pessima impressione (dettata forse solo dalla mia ignoranza): quintali di sorgenti per una cosa che credo si possa fare in maniera molto piu semplice sfruttando adeguatamente il sistema di deploy.
fino all'altro ieri questa era solo un'impressione, poi ieri sera invece mi sono accorto che il mio applet non funzionava piu perché l'aggiornamento 15 di Java6 ha rotto qualcosa nel JNLPAppletLauncher e il risultato é che adesso quando carico la pagina l'applet del launcher mi mostra un messaggio di errore in cui dice che non trova i certificati; siccome in quanto a qualitá mi fido molto di piu di Java che del JNLPAppletLauncher sono giunto alla conclusione (EMPIRICISSIMA E NON GIUSTIFICATA AL 100%) che quest'ultimo fa cagare.

la domanda che rivolgo a qualche paziente esperto (PGI-Bis? :fiufiu: ) é: qual é esattamente il modo migliore, ufficiale, di mettere in una pagina web un applet che fa uso di JOGL? cosa comporta questo modo ufficiale per l'utente finale? spero che venga al piu richiesto di accettare dei certificati non miei (costano :mc: ) e che l'utente non sia costretto a modificare le policies.

grazie :D

PGI-Bis
12-08-2009, 16:33
Il metodo ufficiale è via Java web start. JWS può dispiegare sia applicazioni desktop che applet. Nella JavaDoc spiega come fare. Richiede la firma del jar dell'applet e un server in grado di gestire file jnlp.

fero86
12-08-2009, 19:31
Il metodo ufficiale è via Java web start. JWS può dispiegare sia applicazioni desktop che applet. Nella JavaDoc spiega come fare. Richiede la firma del jar dell'applet e un server in grado di gestire file jnlp. e quest'ultima condizione cosa comporta? :mc:
che tipo di controllo devo avere sul server?

poi mi potresti per favore passare il link al JavaDoc a cui ti riferisci?

PGI-Bis
12-08-2009, 20:11
ad esempio se vai sua aruba, non se per impostazione predefinita o quant'altro, puoi mettere tutti i file jnlp che vuoi tanto non funzionerà comunque. Credo abbia a che fare col fatto che il server non riconosce il file jnlp come un tipo. Ai tempi dei tempi, quando paciugavo sui server http, ricordo che c'era la possibilità di far riconoscere al server certi tipi di file aggiungendo da qualche parte nei file di configurazione una stringa tipo "text/jnlp" o una cosa così ma non saprei dirti di più.

La pagina della javadoc è:

http://java.sun.com/javase/6/docs/technotes/guides/jweb/deployment_advice.html#deployingApplets

(Sotto al titolo "Deploying using JNLP").