|
|
Creareapplicazionicon Java Web Start
Creare applicazioni con Java Web Startdi DaniloDelFio Introduzione La tecnologia Java Web Start si basa essenzialmente sullÂ’idea di poter utilizzare unÂ’applicazione standalone “remota”, dando allo stesso tempo allÂ’utente la possibilità di non dover sempre passare per il browser web per poterla utilizzare. Essa consente inoltre di aggiornare in continuazione il software senza rendere necessaria una nuova installazione che molto spesso è pesante e difficoltosa. Non si può parlare di tecnologia Java Web Start senza, in ogni caso, introdurne unÂ’altra, che sta alla base delle applicazioni create con tale piattaforma. Si parla di JNLP (Java Network Launching Protocol) che, installato in un application server (Tomcat per esempio) come web application, permette alle applicazioni di essere lanciate da remoto. Sviluppare unÂ’applicazione con Java Web Start Molte volte ci si trova di fronte allÂ’esigenza di creare unÂ’applicazione per un cliente che dista diversi chilometri dalla nostra sede. Supponiamo che si voglia realizzare unÂ’interfaccia complessa, che permetta, per esempio, il monitoraggio e il billing di una rete telefonica. A tale richiesta ne viene affiancata una più stringente, ovvero che i dati, i grafici e le statistiche dovranno essere consultabili tramite web, in gran parte da utenti non tecnici. Questi dovranno essere in grado di inserire dati e creare grafici, statistiche, non dovendo per forza conoscere i linguaggi legati al Web, ovvero legati alla piattaforma sulla quale andranno a risiedere. Facendo unÂ’analisi delle tecnologie al momento disponibili (prenderemo in considerazione solo quelle legate alla piattaforma Java), potremmo utilizzare:
La soluzione, quindi, spinge allÂ’utilizzo di una tecnologia che unisca i vantaggi del download e utilizzo di applicazioni da Internet (prerogativa sempre molto utilizzata nella piattaforma Java, se si pensa alle applet), a quelli di avere unÂ’applicazione “praticamente standalone”, in modo che lÂ’utente possa accedervi analogamente a qualunque altro programma che ha installato sulla propria macchina. La tecnologia che permette queste feature è Java Web Start (presentato la prima volta a San Francisco nel JavaONE del 2000), che è stato creato come alternativa alle applet. Sviluppare unÂ’applicazione tramite Java Web Start è pressoché uguale a crearne una standalone; infatti, anche per le applicazioni basate su tale tecnologia il punto dÂ’accesso è il semplice: Listato 1 –Punto dÂ’accesso di unÂ’applicazione Web Start public static void main(String[] argv) Per permettere lÂ’installazione tramite Web, il download automatico e il lancio dellÂ’applicazione bisogna assicurare che questa possa essere eseguita nella sandbox; ci sono quindi alcune considerazioni da tenere a mente:
Nel paragrafo precedente abbiamo accennato ad un file jnlp (lÂ’estensione può essere sia .jnp che .jnlp), infatti non si può parlare di tecnologia Java Web Start prescindendo da JNLP (Java Network Launch Protocol). Parleremo più avanti della struttura di tale file. Installazione e configurazione Per installare su un application server unÂ’applicazione da distribuire tramite Web Start i passi sono molto semplici: Aggiungere un nuovo MIME-TYPE per il file JNLP: questo può essere fatto semplicemente aggiungendo nel file web.xml il seguente frammento: Listato 2 –Configurazione di Tomcat per riconoscere le applicazioni Web Start Creare un archivio JAR allÂ’interno del quale inserire tutti i file necessari allÂ’applicazione. LÂ’archivio deve essere inserito in una posiziona opportuna sul server che sarà poi specificata nel file JNLP. Per far partire lÂ’applicazione la prima volta, è necessario un link in una pagina web che ne permetta il download, ma per lanciare lÂ’applicazione dobbiamo possedere nella nostra JVM il plug-in di Web Start che, se non presente nella macchina si può scaricare dal sito della SUN (ci sono alcuni JavaScript che permettono di verificare lÂ’installazione sulla macchina remota di Java Web Start: in caso affermativo, fanno apparire sulla pagina HTML di lancio il link per lanciare lÂ’applicazione; in caso negativo, il link che apparirà sarà quello che rimanda allÂ’installazione del client Web Start). Struttura del file JNLP Per spiegare al meglio la struttura di questo file che permette, appunto, la descrizione e il lancio da remoto di unÂ’applicazione, si presenta direttamente un esempio dello stesso. Il file è in formato xml: Intestazione del file: Nel tag radice del file va inserito il server nel quale abbiamo installato lÂ’applicazione e il nome del file (con lÂ’estensione) jnlp: Per scrivere le informazioni sullÂ’applicazione e sullÂ’azienda produttrice cÂ’è il tag Possiamo settare dei livelli di sicurezza nellÂ’applicazione, nel nostro esempio non ci sono restrizioni dÂ’accesso: Tra i tag Nel tag La descrizione dellÂ’applicazione da distribuire, come abbiamo visto, è alquanto semplice, ovviamente si può “complicare quanto si vuole” aggiungendo tag che permettono di cambiare lÂ’icona che apparirà al momento del lancio dellÂ’applicazione, per esempio, descrivere jar con librerie native utili per lÂ’applicazione e così via. Un elenco dettagliato dei tag da utilizzare nel file jnlp si può trovare in (1). Conclusioni Il presente articolo ha introdotto in modo semplice lÂ’utilizzo di una tecnologia Java a molti ancora sconosciuta. Java Web Start rappresenta la soluzione a diversi problemi, soprattutto per quelle applicazioni che necessitano update continui e che devono essere usabili come un qualunque programma standalone. LÂ’unica nota negativa (se proprio ne vogliamo trovare una) è proprio la necessità di installare Web Start sulla macchina del client, che può essere comunque rimandando al sito della SUN per il download. Una cosa che rende tale tecnologia molto interessante è la possibilità di avere sulla propria macchina unÂ’icona sul desktop o una voce nel menu di avvio allÂ’applicazione remota che, a parte la prima volta che va lanciata da un browser web, le volte successive potrà essere lanciata come una qualunque applicazione che risiede in locale. Riferimenti vamphq - "Descrizione Tag" sun – “Deploying Software with JNLP and JavaTM Web Start Going Beyond the Java Plug-in” sun – “Java Web Start - Download” sun – “Java Web Start Architecture” att:20091612080125738-0-c.bat |