Negli articoli relativi alle applicazioni Web, trattate fino ad oggi, si è fatto sempre uso di Apache Tomcat, uno strumento certamente noto nel settore degli Application Server.
Naturalmente, Tomcat non rappresenta l'unico middleware in grado di svolgere le funzioni di container per le Servlet e le pagine JSP. La Sun Microsystems ha creato il proprio Application Server, denominato Sun Java System Application Server, che è attualmente alla versione 9.0 Update 1.
Dove reperire il Sun Java System Application Server
Il software necessario è reperibile dalla pagina download del sito della Sun. Da tale pagina è possibile scegliere se effettuare il download unico di tutto il Java Application Platform SDK oppure scaricare i singoli componenti in maniera indipendente. Optiamo per la seconda soluzione e, in fondo alla pagina, al paragrafo contrassegnato dalla dicitura "Download Components Independently" clicchiamo sul link "Download" relativo all'Application Server (la prima voce della lista):
Nella pagina successiva verrà richiesto di selezionare il sistema operativo nel quale si desidera installare il software. Per i sistemi Windows scaricare il file exe
Installiamo l'Application Server
L'installazione è semplice ed è provvista di un wizard intuitivo che ci guida passo passo. Dopo un paio di schermate dedicate al benvenuto e all'accettazione della licenza del prodotto, viene mostrata una finestra di dialogo in cui è necessario selezionare la directory in cui installare il software:
Successivamente, verrà proposta la finestra di dialogo in cui è necessario fornire il percorso della directory in cui è installato il Software Development Kit (SDK) della Java 2 Standard Edition presente sul sistema. È importante che la versione di tale SDK non sia antecedente alla 1.5.0. Normalmente, il wizard identifica tale directory in modo automatico ma, qualora fossero presenti sulla nostra macchina più versioni della Java Virtual Machine sarà necessario verificare se confermare o meno la scelta proposta dal software di installazione:
Il passo successivo è quello relativo alla configurazione delle credenziali di Amministrazione dell'Application Server. Sarà necessario indicare una userid per l'Administrator (quella proposta di default è admin) unitamente ad una password che sia composta da almeno 8 caratteri. È, quindi, possibile decidere se far richiedere tali credenziali di accesso ogni volta che si utilizza una funzione di amministrazione (ad esempio, attraverso la Admin Console) oppure salvarle in un file apposito e bypassare la schermata di logon.
Infine, nella stessa finestra di dialogo (raffigurata qui di seguito) è possibile modificare le porte utilizzate di default dall'Application Server, rispettivamente per i servizi di Admin Console, HTTP e HTTPS:
Nella successiva schermata si consiglia di abilitare, in particolar modo, quella che prevede l'aggiunta della directory bin dell'Application Server al path di sistema, in modo da poter operare dal prompt dei comandi a prescindere dalla directory in cui ci si trovi. Per i più pigri può essere comodo anche abilitare la terza opzione (Create Desktop Shortcut to Autodeploy Directory) per facilitare le operazioni di deployment sul server:
L'ultima finestra di dialogo del wizard riassume le caratteristiche che verranno installate:
Cliccando sul pulsante "Install Now" viene iniziato il processo di installazione vero e proprio, copiando sul sistema tutti i file necessari. Se tutte le operazioni si sono svolte correttamente, al termine verrà mostrata la seguente pagina web locale:
Verifica delle variabili d'ambiente
È importante verificare, al termine dell'installazione, che le seguenti variabili d'ambiente siano correttamente impostate sul proprio sistema:
- JAVA_HOME: Contiene il path relativo alla directory in cui è stato installata la J2SE SDK. Qualora ce ne fosse bisogno, ribadiamo il concetto che è indispensabile che sia installata sul sistema una versione della J2SE e che questa sia maggiore o uguale alla versione 1.5.0
- J2EE_HOME: Contiene il path relativo alla directory in cui è installato l'Application Server
- PATH: Nella variabile PATH deve essere presente la directory bin della J2SE SDK (ad esempio: C:Javajdk1.5.0_06bin) e la directory bin dell'Application Server (ad esempio: C:JavaSunAppServerbin).
Avvio dell'Application Server (in Windows)
Dal menù di Windows è possibile eseguire l'avvio dell'Application Server attraverso il seguente percorso: Start>Programmi>Sun Microsystems>Application Server PE 9>Start Default Server
A questo punto, verrà visualizzata la seguente finestra:
che informa l'utente dell'avvio del dominio domain1. Si prema, come richiesto, un tasto qualunque per chiudere la finestra sopra raffigurata. Apriamo il browser e digitiamo la URL: http://localhost:8080. Se il nostro server è stato installato e avviato con successo sarà possibile visualizzare la seguente pagina:
Se, invece, sul browser dovesse apparire una pagina di errore con il messaggio "Page cannot be displayed", sarà bene innanzitutto verificare di avere digitato la URL correttamente, specificando la porta 8080. In secondo luogo, potrà essere utile controllare che non ci sia un altro Server attivo che stia facendo uso della stessa porta impiegata dal nostro Application Server. In ogni caso, se nessuna delle due azioni descritte dovesse risolvere il problema si consiglia di consultare la documentazione Sun dove è possibile trovare una vera e propria guida sui problemi riscontrabili con l'uso dell'Application Server di Sun.
Una semplice applicazione
Nella directoy %J2EE_HOME%samplesquickstart (dove J2EE_HOME è la variabile d'ambiente precedentemente specificata) si trova un'applicazione web già "impacchettata" in un Web Archive (WAR): hello.war.
Per effettuarne il deploy sull'Application Server abbiamo a disposizione svariati metodi. Il più semplice, probabilmente, è quello che richiede la semplice copia del file war all'interno della directory %J2EE_HOME%/domains/domain1/autodeploy/. Dopo qualche secondo, necessario al server per effettuare il deploy effettivo dell'applicazione, sarà possibile visualizzare sulla stessa cartella il file hello.war_deployed e caricare, quindi, sul browser la pagina web all'indirizzo http://localhost:8080/hello. Tale pagina si presenterà nel seguente modo:
Inserendo il proprio nome all'interno del campo di testo e cliccando sul pulsante "Submit" l'applicazione fornisce un saluto personalizzato, memorizzando la sequenza dei nomi inseriti:
Il codice dell'applicazione è quello presente sul tutorial per Java EE 5
L'Admin Console
Nella gestione dell'Application Server un ruolo fondamentale è quello svolto attraverso l'uso della Admin Console. Tra le operazioni più comunemente svolte attraverso di essa possiamo citare:
- Il deploy e l'undeploy di un'applicazione
- L'abilitazione e disabilitazione di un'applicazione
- La configurazione delle risorse utilizzate da JDBC
- La consultazione del file di log
È possibile accedere all'Admin Console attraverso la URL http://localhost:4848 oppure selezionando la voce "Admin Console" dal menù di Windows, seguendo il percorso: Start>Programmi>Sun Microsystems>Application Server PE 9>Admin Console
Sul nostro browser verrà proposta una form web di logon, come raffigurato nella figura seguente:
Per accedere alla Console basterà fornire le credenziali scelte in fase di installazione dell'Application Server e cliccare sul tasto "Log In". L'Admin Console si presenterà, quindi, nel seguente modo:
Se selezioniamo la voce "Web Applications", nel menù a sinistra, potremo vedere che, tra le applicazioni Web attive è presente l'applicazione Hello che abbiamo messo in produzione nel paragrafo precedente:
Come è facile intuire, sarà possibile agire sulla stessa applicazione agendo attraverso i pulsanti in alto alla lista e i due link sulla colonna "Actions". Sarà possibile eseguire il deploy di altre applicazioni web semplicemente cliccando sul pulsante "Deploy" e fornendo, nella successiva form web, il path del file WAR opportuno:
Ambienti di sviluppo integrati
La Sun fornisce uno strumento completo per lo sviluppo e il deployment di applicazioni J2EE sul proprio Application Server: il NetBeans. Per coloro che preferissero Eclipse sarà possibile scaricare un plugin ad hoc per poter utilizzare questo IDE con il Sun Application Server.