JBoss
JBoss è una collezione di software scritti in Java che comprende come elementi principali un’application server chamato JBoss e una versione adattata del web server TomCat basati entrambi sull linguaggio di programmazione Java per servire risorse della tecnologia Java Enterprise Edition (Java EE).
Un application server è una raccolta di programmi che permettono l’esposzione e la fruizione da remoto di servizi o applicazioni tipicamente via web. Uno scenario molto semplificato può essere questo: l’utente fa una richiesta ad un server web remoto il quale, da intermediario, si prende carico e lo fa eseguire all’application server che restituisce il risultato.
Il cuore di JBoss è proprio l’application server al quale successivamente sono state aggiunte delle componenti come TomCat per migliorarne l’efficienza e la funzionalità.
Difatti, l’utente dello scenario presentato non fa direttamente la richiesta all’application server ma passa attraverso TomCat che come primo e ultimo anello della catena invierà risposta all’utente.
Esistono due tipi di JBoss: la versione community gratuita e scarcabile liberamente (http://sourceforge.net/projects/jboss/files/JBoss/) e una versione JBoss Enterprise con supporto da RedHat (a pagamento), la quale può essere utilizzata anche per un periodo di prova gratuito (http://www.jboss.com/downloads/).
Se si desidera provare e fare pratica JBoss, sicuramente è meglio iniziare con la versione community e successivamente si può valutare la possibilità di installare Jboss Enterprise.
Una volta scaricato il file di installazione di JBoss community ci si accorge subito che non si tratta di un classico installer per Windows o dei sorgenti di un programma per GNU/Linux, ma di un archivio jar che rende l’installer multipiattaforma ossia, in questo caso, installabile sia su Windows sia sul sistema operativo del pinguino.
JBoss può essere installato sullo stesso computer dove si scrive il codice da fare girare sull’application server, tuttavia sarebbe opportuno installare JBoss in una macchina separata o, perchè no, in una virtual machine (non java in questo caso ma proprio un ambiente virtuale con un proprio sistema operativo). Questa scelta è vantaggiosa perchè la configurazione di JBoss impatta notevolmente sul sistema operativo: consuma parecchie risorse, contribuisce ad aumentare i rischi legati alla sicurezza del computer e l’integrazione è abbastanza intrusiva.
Per chi segue questo blog ed evitare di creare confusione utilizzerò, negli articoli dedicati a Java e Application server, la locuzione ambiente virtuale per intendere una macchina virtuale per la virtualizzazione dell’hardware tipo il domU di Xen, Container di Virtuozzo mentre chiamerà JVM o Java Virtual Machine la macchina virtuale del mondo Java.
La preparazione di un ambiente virtual per ospitare JBoss e tutti gli altri componenti non è diversa dal solito, basta prestare attenzione al tipo di rete alla quale si intende collegare l’ambiente virtuale. Se si decide di renderlo accessibile dal esterno è importante abilitare nella fase di configurazione dell’ambiente virtuale il supporto per la rete.
Se serve caricare del materiale dal proprio computer sull’application server è bene fare in modo che l’ambiente virtuale possa accedere a file condivisi in rete (SAMBA, cartelle condivise…).