Enterprise Java per Linux HOWTO

Greg Wilkins gregw@mortbay.org originale di Gary Meyer gary@meyer.net

   v0.2, 2001-11-07
     __________________________________________________________________

   Come predisporre un ambiente Enterprise Java in Linux che comprenda un
   Java Development Kit ed un Web server che supporti i Java servlet, che
   acceda ad un database tramite JDBC, e che supporti l'uso degli
   Enterprise Java Beans (EJB).
     __________________________________________________________________

1. Introduzione

1.1 Generalità

   La stesura di questo documento ha avuto inizio il gennaio 1999 da parte
   di Gary Meyer ( [1]gary@meyer.net) dopo molte settimane di
   installazioni di vari prodotti Enterprise Java open source e
   proprietari per Linux. È definito "Enterprise Java" ciò che usa le API
   Java Enterprise.

   Alcuni aggiornamenti sono stati aggiunti da Greg Wilkins (
   [2]gregw@mortbay.org) nel novembre 2001 ciò nondimeno parti del
   documento sono ancora obsolete.

1.2 Pubblico

   Questo HOWTO è inidirizzato a professionisti del software che siano
   interessati a valutare, sviluppare o distribuire Enterprise Java per
   Linux. Si assume che il lettore abbia una limitata conoscenza ed
   esperienza di Linux o di Java.

1.3 Nuove versioni

   La versione più recente di questo documento può essere trovata sul sito
   del Linux Documentation Project:
   [3]http://linuxdoc.org/HOWTO/Enterprise-Java-for-Linux-HOWTO.html

1.4 Copyright e licenza

   Questo documento è un Copyright (c) 1999-2001 di Gary Meyer e Greg
   Wilkins. La copia, distribuzione e/o modifica di questo documento è
   permessa entro i termini della licenza GNU Free Documentation License,
   versione 1.1 o di una qualsiasi successiva versione pubblicata dalla
   Free Software Foundation; senza "Sezioni non modificabili", senza
   "Testi copertina", e senza "Testi di ultima di copertina". Una copia
   della licenza è disponibile all'indirizzo
   [4]http://www.gnu.org/copyleft/fdl.html

1.5 Liberatoria

   I suggerimenti contenuti in questo documento sono stati forniti per
   aiutare ad avere il più velocemente possibile un ambiente Java
   Enterprise in Linux attivo e funzionante. I suggerimenti non sono
   raccomandazioni o adesioni a particolari prodotti. Dopo aver
   familiarizzato con le scelte disponibili si potranno fare proprie
   valutazioni di prodotto e si potrà determinare quali opzioni siano
   migliori per il proprio scopo.

   Per lo scopo di questo HOWTO, "Enterprise Java" definisce l'uso delle
   API Java Enterprise. Questo HOWTO non affronta la scalabilità, la
   disponibilità, la gestibilità ed altri simili aspetti del software che
   sono spesso associati alla parola "enterprise".

1.6 Future potenziali sezioni

   Questo HOWTO è focalizzato sugli aspetti più popolari dell'Enterprise
   Java. Potrebbero essere aggiunte a questo HOWTO le seguenti sezioni.
     * Ambienti di sviluppo integrato (IDE) che consentano l'uso
       dell'Enterprise Java per Linux
     * Supporto per Java Naming and Directory Interface (JNDI)
     * Supporto per Java Mail API (JMAPI)
     * Supporto per Java Transaction Service (JTS)
     * Supporto per Java Interface Definition Language (JIDL)
     * Supporto per Java Messaging Service (JMS)
     * Supporto per Common Object Request Broker Architecture (CORBA)

   Interessati a scrivere una sezione?

   Contattare l'autore, Gary Meyer, presso ( [5]gary@meyer.net).

1.7 Altre risorse

   Il sito web di App-Serv Center all'indirizzo
   [6]http://www.app-serv.com/.

   Java Enterprise in a Nutshell di David Flanagan ed altri all'indirizzo
   [7]http://www.oreilly.com/catalog/jentnut/.

1.8 Feedback

   Si prega di sottoporre tutte le aggiunte e le correzioni all'autore,
   Gary Meyer, presso ( [8]gary@meyer.net).

2. Come predisporre il Java Development Kit

   Ci sono molti Java Development Kit disponibili per Linux. Questi
   includono:

     * [9]Blackdown JDK
     * [10]IBM Java Developer Kit
     * [11]Sun J2SE
     * [12]Kaffe

   Se si volesse provare solo un JDK, suggerirei inizialmente di provare
   il Sun J2SE, a meno che richiesto diversamente da particolare software
   in uso o che si abbia intenzione di usare. Inoltre, se si è interessati
   ad utilizzare una implementazione open source, sarà necessario
   ricorrere a Kaffe.

2.1 Blackdown JDK

  Generalità

   Blackdown JDK è un port del Sun JDK su Linux. Al tempo della scrittura
   di questo documento, il Blackdown JDK è allineato con il JDK 1.2.2
   sull'architettura Intel e con il JDK 1.1.8 su PowerPC.

   Nel Dicembre 1999, Sun ha annunciato la disponibilità della piattaforma
   Java 2, Standard Edition (J2SE) su Linux. Questo rilascio Sun ha un
   impatto significativo su Blackdown perché Blackdown è un port. In un
   comunicato stampa, Sun ha affermato, "L'annuncio di questa settimana
   non sarebbe stato possibile senza la collaborazione di Blackdown, un
   gruppo di sviluppatori ed appassionati sparsi per il mondo. Sin dalla
   sua fondazione, Blackdown è stato un fornitore di tecnologia Java per
   la piattaforma Linux. Il loro continuo sforzo per diversi anni ha
   gettato le fondamenta per il rilascio del port della piattaforma Java 2
   per Linux; in particolare il loro sforzo è stato determinante per il
   successo di questo rilascio".

   Inoltre, il comunicato stampa della Sun prosegue con, "Blackdown.org
   continua ad essere una preziosa fonte di tecnologia Java per Linux,
   compresi i rilasci di JDK 1.1.x".

  Download

   Il JDK Blackdown può essere ottenuto da [13]http://www.blackdown.org.

   Dalla pagina iniziale di Blackdown, selezionare l'opzione download ed
   un sito mirror.

   Selezionare la versione desiderata del JDK. Se il software che si vuole
   utilizzare non indica una specifica versione, suggerirei di usare la
   più recente, che al momento della stesura di questo documento è la JDK
   1.2.2.

   Selezionare l'architettura della macchina su cui si stà installando.
   Per l'architettura Intel, selezionare i386.

   Selezionare la "release candidate" desiderata. Se il software che si
   vuole utilizzare non ne indica una specifica, suggerirei di usare la
   più recente o la versione finale se disponibile.

   Per il JDK Blackdown, è probabile siano disponibili un certo numero di
   file presenti in diversi formati d'impacchettamento. Inoltre si deve
   essere sicuri di avere il supporto per la giusta libreria libc per la
   propria distribuzione Linux.

   Tra i file disponibili sono compresi:
     * jdk - Il Java Development Kit contiene tutto il necessario per
       compilare, eseguire, e fare il debug di Java. Non contiene
       convertitori per i caratteri internazionali.
     * jre - Il Java Runtime Environment, con inclusi i convertitori per i
       caratteri internazionali.
     * rt - Un Java Runtime Environment minimo che non include i
       convertitori per caratteri internazionali.
     * i18n - Le mappe dei font per l'internazionalizzazione ed un JAR
       contenente i convertitori di caratteri internazionali.
     * native - Ulteriori binari che forniscono supporto nativo per i
       thread.

   Suggerirei di scaricare solo il jdk per sviluppare Java in inglese.

   Quando si scaricano i file di Blackdown, si può scegliere tra libc5 e
   glibc e potenzialmente anche una specifica versione di glibc. Tra le
   scelte di libc sono incluse:
     * libc5 - La più vecchia, ed ancora la più comune, libc di Linux è la
       libc5.
     * glibc - La nuova libc di Linux.

   Se si sta usando una distribuzione più recente di Linux, si avrà con
   molta probabilità glibc. Io suggerisco di provare in prima istanza
   glibc.

  Installazione

   Suggerirei d'installare i file nella directory /usr/local. Dopo aver
   scaricato i file, eseguire:
mkdir /usr/local/blackdown
mv jdk* /usr/local/blackdown

   Se si è scaricato il file in formato tarball, eseguire:
tar zxvf [filename].tar.gz

   Dove [filename] è il nome del file.

   Nella directory /usr/local/blackdown si dovrebbe vedere una directory
   chiamata jdk1.2.2.

   L'esempio di cui sopra mostra la versione candidata al rilascio 3 per
   l'architettura Intel del JDK 1.2.2. Sostituire il nome del file, il
   numero della versione, il numero di versione candidata per il rilascio
   e l'architettura in modo appropriato. Si dovrà aprire ogni file del
   pacchetto di distribuzione nella maniera sopra indicata.

  Predisporre l'ambiente

   Le variabi d'ambiente da impostare sono:
     * JAVA_HOME
     * PATH
     * CLASSPATH

   La variabile d'ambiente JAVA_HOME fa riferimento alla directory di base
   del JDK installato. Impostare la variabile d'ambiente JAVA_HOME con la
   directory dove è stata appena installata la versione del JDK Blackdown.
export JAVA_HOME=/usr/local/blackdown/jdk1.2.2

   La directory $JAVA_HOME/bin contiene il compilatore Java (javac) e la
   Java Virtual Machine (java), come anche altri programmi necessari per
   lo sviluppo. Aggiungere $JAVA_HOME/bin al PATH.
export PATH=$JAVA_HOME/bin:$PATH

   Notare che $JAVA_HOME/bin è stato aggiunto al principio del PATH in
   modo che venga utilizzato il JDK installato piuttosto che un qualche
   JDK che potrebbe essere già stato incluso nella distribuzione Linux in
   uso.

   Per avere conferma che il PATH sia correttamente impostato, si
   controlli quali compilatore Java e JVM siano installati.
which javac
which java

   L'output dovrebbe far riferimento a javac e java nella directory
   $JAVA_HOME/bin.

   La variabile d'ambiente CLASSPATH fa riferimento a tutti i JAR ed a
   tutte le directory che sono necessarie per la compilazione e
   l'esecuzione dei programmi Java.

   Per il JDK 1.2.2, non è necessario inizialmente aggiungere alcun JAR al
   proprio CLASSPATH. I JAR possono essere inseriti in file .jar o in file
   .zip.
export CLASSPATH=$CLASSPATH:.

  Verifica dell'installazione

   Si è ora in grado di compilare ed eseguire una semplice applicazione.
   Creare il seguente programma.
class HelloWorld {
  public static void main (String[] args) {
    System.out.println("Hello, World!");
  }
}

   Compilare il programma con il compilatore Java.
javac HelloWorld.java

   Se il compilatore produce errori si controlli la sintassi e si
   verifichino le variabili PATH e CLASSPATH.

   Eseguire il programma con la JVM.
java HelloWorld

   Se la JVM produce errori, si verifichino le variabili PATH e CLASSPATH.

   Si dovrebbe ottenere il seguente output:
Hello, World!

   Congratulazioni, si è installato, configurato e verificato un ambiente
   per il JDK Blackdown per Linux.

  Maggiori informazioni

   Per maggiori informazioni sul JDK Blackdown, si veda il sito di
   Blackdown all'indirizzo [14]http://www.blackdown.org. È disponibile
   un'eccellente FAQ.

2.2 IBM Java Developer Kit

  Generalità

   Il Java Developer Kit di IBM ed il suo ambiente di esecuzione (Runtime
   Environment) ha passato il test della Sun sulla compatibilità Java ed
   include l'ultima versione in manutenzione (dal sito di IBM).

   Al tempo della redazione di questo documento, Il Java Developer Kit IBM
   è allineato con il JDK 1.1.8 ed è disponibile solo per la piattaforma
   Intel.

  Download

   Il Java Developer Kit di IBM può essere ottenuto da
   [15]http://www.ibm.com/java/jdk/118/linux.

   Per scaricarlo è necessario registrarsi presso il sito IBM e
   acconsentire alla licenza in linea.

   I file disponibili includono:
     * ibm-jdk-l118-linux-x86.tgz - Il Java Development Kit contiene tutto
       il necessario per compilare, eseguire e debuggare Java.
     * ibm-jre-l118-linux-x86.tgz - Il Java Runtime Environment contiene
       tutto il necessario per eseguire Java.

   Considerando che si ha intenzione di fare sviluppo Java suggerirei di
   scaricare il file tarball ibm-jdk.

  Installazione

   Suggerirei di installare i file nella directory /usr/local. Dopo aver
   scaricato i file, eseguire:
mkdir /usr/local/ibm
mv ibm-jdk-l118-linux-x86.tgz /usr/local/ibm

   Si potranno quindi aprire i pacchetti di distribuzione. Per farlo
   digitare:
tar zxvf ibm-jdk-l118-linux-x86.tgz

   Nella directory /usr/local/ibm si dovrebbe poter vedere la directory
   jdk118.

   L'esempio sopra fatto mostra il JDK 1.1.8 per l'architettura Intel. Si
   sostituiscano i nomi dei file in modo appropriato.

  Predisporre l'ambiente

   Le variabili d'ambiente da impostare sono:
     * JAVA_HOME
     * PATH
     * CLASSPATH

La variabile d'ambiente JAVA_HOME fa riferimento alla directory di base del
JDK installato. Impostare la variabile d'ambiente JAVA_HOME con la directory
dove si è appena installata la versione del Java Developer Kit di IBM.

   La directory $JAVA_HOME/bin contiene il compilatore Java (javac) e la
   Java Virtual Machine (java), come anche altri programmi necessari per
   lo sviluppo. Aggiungere $JAVA_HOME/bin al PATH.
export PATH=$JAVA_HOME/bin:$PATH

   Notare che $JAVA_HOME/bin è stato aggiunto al principio del PATH in
   modo che venga utilizzato il JDK installato piuttosto che un qualche
   JDK che potrebbe essere già stato incluso nella distribuzione Linux in
   uso.

   Per confermare che il PATH sia correttamente impostato, si controlli
   quale compilatore Java e JVM siano installati.
which javac
which java

   L'output dovrebbe far riferimento a javac e java nella directory
   $JAVA_HOME/bin.

   La variabile d'ambiente CLASSPATH fa riferimento a tutti i JAR ed a
   tutte le directory che sono necessarie per la compilazione e
   l'esecuzione dei programmi Java.

   Inizialmente suggerirei di aggiungere i seguente JAR al CLASSPATH. I
   JAR possono essere inseriti in file .jar o in file .zip.

   Per esempio:
export CLASSPATH=$JAVA_HOME/lib/classes.zip
export CLASSPATH=$CLASSPATH:.

  Verifica dell'installazione

   Ora si è in grado si compilare ed eseguire una semplice applicazione.
   Creare il il seguente programma.
class HelloWorld {
  public static void main (String[] args) {
    System.out.println("Hello, World!");
  }
}

   Compilare il programma con il compilatore Java.
javac HelloWorld.java

   Se il compilatore produce errori si controlli la sintassi e si
   verifichino le variabili PATH e CLASSPATH.

   Eseguire il programma con la JVM.
java HelloWorld

   Se la JVM produce errori, si verifichino le variabili PATH e CLASSPATH.

   Si dovrebbe ottenere il seguente output:
Hello, World!

   Congratulazioni, si è installato, configurato e verificato un ambiente
   per il Java Developer Kit di IBM per Linux.

  Maggiori informazioni

   Per maggiori informazioni sul Java Developer Kit di IBM, si veda il
   sito IBM dedicato a Java all'indirizzo: [16]http://www.ibm.com/java.

2.3 Kaffe

  Generalità

   Kaffe è un'implementazione open source della Java Virtual Machine e
   delle librerie di classi sviluppate con il metodo cleanroom. Al momento
   dell'estensione di questo documento, Kaffe "è per lo più conforme al
   JDK 1.1, ad eccezione di alcune parti mancanti." Ed "alcune parti sono
   già compatibili con JDK 1.2 (Java 2)" (dal sito Kaffe).

   È probabile che Kaffe sia già contenuto nella distribuzione Linux in
   uso grazie alla sua licenza open source.

  Download ed installazione

   Prima di scaricarla da Kaffe, suggerirei inizialmente di provare la
   Kaffe che molto probabilmente è già disponile nella distribuzione Linux
   in uso.

   In alternativa, Kaffe può essere ottenuto da [17]http://www.kaffe.org.

   Dalla home page di Kaffe, selezionare il rilascio più recente. Al
   momento della redazione di questo documento, il rilascio più recente è
   1.0.5. Il numero di versione di Kaffe non ha nessun rapporto con i
   numeri di specifica di JDK.

  Predisporre l'ambiente

   Le variabi d'ambiente da impostare sono:
     * PATH
     * CLASSPATH

   Per verificare che il PATH sia correttamente impostato, si controlli
   quale compilatore Java e JVM vengano usati.
which javac
which java

   La variabile d'ambiente CLASSPATH fa riferimento a tutti i JAR ed a
   tutte le directory che sono necessarie per la compilazione e
   l'esecuzione dei programmi Java.

   Suggerirei inizialmente di aggiungere al CLASSPATH i seguenti JAR. I
   JAR possono essere inseriti in file .jar o in file .zip.

   Per esempio:
export CLASSPATH=/usr/local/share/kaffe/Klasses.zip
export CLASSPATH=$CLASSPATH:.

  Verifica dell'installazione

   Ora si è in grado di compilare ed eseguire una semplice applicazione.
   Creare il il seguente programma.
class HelloWorld {
  public static void main (String[] args) {
    System.out.println("Hello, World!");
  }
}

   Compilare il programma con il compilatore Java.
javac HelloWorld.java

   Se il compilatore produce errori si controlli la sintassi e si
   verifichino le variabili PATH e CLASSPATH.

   Eseguire il programma con la JVM.
java HelloWorld

   Se la JVM produce errori, si verifichino le variabili PATH e CLASSPATH.

   Si dovrebbe ottenere il seguente output:
Hello, World!

   Congratulazioni, si è installato, configurato e verificato un ambiente
   Kaffe per Linux.

  Maggiori informazioni

   Per maggiori informazioni su Kaffe, vedere il sito di Kaffe
   all'indirizzo [18]http://www.kaffe.org.

2.4 Sun J2SE

  Generalità

   Sun Java 2, Standard Edition (J2SE) è il rilascio per la produzione di
   Sun della piattaforma Java 2 per il sistema operativo Linux. Al momento
   dell'estensione di questo documento, J2SE è allineato con JDK 1.2.2 per
   l'architettura Intel.

  Download

   J2SE può essere ottenuto da:
   [19]http://developer.java.sun.com/developer/earlyAccess/j2sdk122.

   È necessario registrarsi presso Sun ed accettare i termini della
   licenza in linea prima di scaricare.

  Installazione

   Suggerirei d'installare i file nella directory /usr/local. Dopo aver
   scaricato i file, eseguire:
mkdir /usr/local/sun
mv jdk1_2_2rc1-linux-i386.tar.gz /usr/local/sun

   Si potranno allora aprire i pacchetti di distribuzione. Per farlo
   digitare:
tar zxvf jdk1_2_2rc1-linux-i386.tar.gz

   Sotto la directory /usr/local/sun si dovrebbe vedere la directory
   jdk1.2.2.

   L'esempio sopra fatto mostra la versione candidata al rilascio 1 del
   JDK 1.2.2 per l'architettura Intel. Si sostituiscano i nomi dei file in
   modo appropriato.

  Predisporre l'ambiente

   Le variabili d'ambiente da impostare sono:
     * JAVA_HOME
     * PATH
     * CLASSPATH

   La variabile d'ambiente JAVA_HOME fa riferimento alla directory di base
   dell'installazione del JDK. Impostare la variabile d'ambiente JAVA_HOME
   calla directory dove si è appena installata la versione di J2SE.
export JAVA_HOME=/usr/local/sun/jdk1.2.2

   La directory $JAVA_HOME/bin contiene il compilatore Java (javac) e la
   Java Virtual Machine (java), come anche altri programmi necessari per
   lo sviluppo. Aggiungere $JAVA_HOME/bin al PATH.
export PATH=$JAVA_HOME/bin:$PATH

   Notare che $JAVA_HOME/bin è stato aggiunto al principio del PATH in
   modo che venga utilizzato il JDK installato piuttosto che un qualche
   JDK che potrebbe essere già stato incluso nella distribuzione Linux in
   uso.

   Per confermare che il PATH sia correttamente impostato si controlli
   quali compilatore Java e JVM risultano installati.
which javac
which java

   L'output dovrebbe far riferimento a javac e java nella directory
   $JAVA_HOME/bin.

   La variabile d'ambiente CLASSPATH fa riferimento a tutti i JAR ed a
   tutte le directory che sono necessarie per la compilazione e
   l'esecuzione dei programmi Java.

   Per la JDK 1.2.2, inizialmente non è necessario aggiungere alcun JAR al
   CLASSPATH. I JAR possono essere pacchettizzati sia come file .jar che
   .zip.
export CLASSPATH=$CLASSPATH:.

  Verifica dell'installazione

   Si è ora in grado di compilare ed eseguire una semplice applicazione.
   Creare il seguente programma.
class HelloWorld {
  public static void main (String[] args) {
    System.out.println("Hello, World!");
  }
}

   Compilare il programma con il compilatore Java.
javac HelloWorld.java

   Se il compilatore produce errori si controlli la sintassi e si
   verifichino le variabili PATH e CLASSPATH.

   Eseguire il programma con la JVM.
java HelloWorld

   Se la JVM produce errori, si verifichino le variabili PATH e CLASSPATH.

   Si dovrebbe ottenere il seguente output:
Hello, World!

   Congratulazioni, si è installato, configurato e verificato un ambiente
   per Sun J2SE per Linux.

  Maggiori informazioni

   Per maggiori informazioni su Sun J2SE, vedere il sito Sun dedicato a
   Java all'indirizzo: [20]http://java.sun.com. Ci sono eccellenti forum
   di discussione disponibili dove si possono trovare risposte a svariate
   domande.

3. Come predisporre il server Web

   Ci sono parecchi server Web disponibili per Linux. Tra questi sono
   inclusi:
     * [21]Apache
     * [22]IBM Domino
     * [23]IBM HTTP Server
     * [24]Jetty HTTP Server

   Se si volesse provare solo un Web Server, suggerirei di provare
   inizialmente Apache, principalmente perché è presente nella maggior
   parte delle maggiori distribuzioni Linux ed è probabile sia già
   installato, e forse funzionante, nel sistema in uso.

3.1 Apache

  Generalità

   Apache è il più popolare server HTTP in Internet. Originariamente era
   basato sull'httpd NCSA ed è stato poi completamente riscritto. Ha una
   licenza Open Source (dal sito web di Apache).

  Download, installazione e predisposizione dell'ambiente

   Piuttosto che scaricarlo da Apache, suggerirei inizialmente di provare
   l'Apache che molto probabilmente sarà presente nella distribuzione
   Linux.

   In alternativa, Apache può essere ottenuto da
   [25]http://www.apache.org.

  Verifica dell'installazione

   Per avere una conferma del fatto che Apache sia installato e
   funzionante su un computer, aprire il web browser, ed inserire lo URL:
   "http://127.0.0.1". (127.0.0.1 è l'indirizzo IP per il localhost.)

   Si dovrebbe vedere una pagina web che abbia un effetto simile a
   "Funziona!"

   Se non dovesse funzionare, si può avere conferma che Apache sia
   installato digitando il seguente comando in una distribuzione Linux
   basata sul RedHat Package Manager (RPM).
rpm -q | grep apache

   Per lanciare Apache digitare:
cd /etc/rc.d/init.d
./httpd start

   Nota: lo script httpd usato al momento del boot potrebbe essere in una
   diversa posizione su altre distribuzione Linux.

   Per maggiori assistenza, suggerisco di leggere le FAQ Apache
   all'indirizzo: [26]http://www.apache.org/docs/misc/FAQ.html.

3.2 IBM Domino

   Da scrivere.

   Vedere [27]http://www.lotus.com/dominolinuxper maggiore informazioni.

3.3 IBM HTTP Server

  Generalità

   Il server HTTP di IBM è un reimpacchettamento di Apache fatto da IBM.
   Si consideri l'uso di IBM HTTP Server se si ha intenzione di lavorare
   con IBM WebSphere.

   Al momento della redazione di questo documento, la più recente versione
   è la 1.3.6.1.

  Download

   L'IBM HTTP Server può essere ottenuto da
   [28]http://www-4.ibm.com/software/webservers/httpservers/download.html.

   Cliccare su il link di download e selezionare la cifratura SSL a 56-bit
   o a 128-bit.

   Sarà necesssario registrarsi presso IBM, rispondere ad un sondaggio di
   marketing ed accettare la licenza prima di scaricarlo. L'IBM HTTP
   Server richiede la glibc nella versione 2.0 o 2.1. La glibc è la nuova
   libc di Linux. Se si è in possesso di una vecchia distribuzione che si
   basa sulla libc5, non si sarà in grado di usare l'IBM HTTP Server.

   Su una distribuzione Linux basata su RedHat Package Manager (RPM),
   eseguire:

rpm -qa | grep libc

   L'output sarà del tipo:
glibc-2.1.2-11
libc-5.3.12-31

   Questo mostrerà quali versioni di libc5 e glibc sono installate nella
   distribuzione Linux in uso. Nel precedente esempio sono installate sia
   la glibc che la libc5. La glibc è nella versione 2.1, dunque si
   dovranno installare i file per la glibc2.1.

   Considerando le loro piccole dimensioni, suggerirei di scaricare tutti
   i file tar per la versione glib presente sulla distribuzione di Linux
   in uso. Comunque, al minimo saranno necessari i file del server. Per
   RedHat 6.0 e distribuzioni derivate da Redhat 6.0 sarà anche necessario
   la redhat60only. Per distribuzioni basate su glibc2.0 sarà necessario
   pure il file libstdc.

  Installazione

   Si suggerisce d'installare i file nella directory /usr/local. Dopo aver
   scaricato i file, eseguire:
mkdir /usr/local/ibm
mv HTTPServer.linux.* /usr/local/ibm

   Si può ora aprire il pacchetto di distribuzione del file o dei file.
tar xvf [filename].tar

   Dove [filename] è il nome del file.

   Sotto la directory /usr/local/ibm, si dovrebe vedere la directory IHS.

   Usare il RedHat Package Manager (RPM) per installare i file rpm che il
   file tar produce. Se fosse necessario il file libstdc, sarà necessario
   installarlo per primo. Dopo di che installare il file RPM del server
   nel modo seguente:
cd IHS
rpm -i IBM_HTTP_Server-1.3.6-2.i386.rpm

   L'esempio qui sopra mostra la versione 1.3.6 per l'architettura Intel.
   Si sostituisca il nome del file in modo appropriato.

   Dopo l'installazione i file rpm possono essere cancellati potendoli
   ricreare facilmente partendo dai file tar.

  >Predisporre l'ambiente

   Le variabili d'ambiente da impostare sono:
     * PATH

   L'IBM HTTP Server si installa in /opt/IBMHTTPServer. È necessario
   aggiungere la sua directory bin nel PATH.
export PATH=/opt/IBMHTTPServer/bin:$PATH

   Notare che il percorso /opt/IBMHTTPServer/bin è stato aggiunto al
   principio del PATH così che verrà usato il server WEB installato
   piuttosto che un qualche server Web che potrebbe essere già stato
   incluso nella distribuzione Linux in uso.

   Per avere una conferma che il PATH sia correttamente impostato, si
   verifichi quale Apache controller viene usato. Digitare:
which apachectl

   L'output dovrebbe far riferimento a apachectl nella directory
   /opt/IBMHTTPServer/bin.

   Nota: poiché l'IBM HTTP Server è basato su Apache, usa l'Apache
   controller per partire e fermarsi. Quando si ha sia l'IBM HTTP Server
   che Apache installati su un computer, va fatta particolare attenzione
   al PATH per essere sicuri di lavorare con il server corretto.

   Può essere necessario modificare il file di configurazione di IBM HTTP
   Server. Il file di configurazione è installato in
   /opt/IBMHTTPServer/conf/httpd.conf. Le due voci più comuni da dover
   modificare sono il ServerName e il numero dalla porta d'ascolto (Listen
   port number). Ricercare le parole chiave "ServerName" e "Listen" nel
   file httpd.conf. Il ServerName dovrebbe essere impostato o con
   l'hostname o con l'indirizzo IP. Se il computer usa il DHCP per
   acquisire un indirizzo IP, l'hostname è � la scelta migliore.
   Comunque, al fine di utilizzare l'hostname del computer in uso,
   l'hostname del computer e l'indirizzo IP devono essere registrati in
   modo appropriato nel DNS.

   Inoltre se si volesse eseguire un altro server Web sarà necessario
   assegnare un'altra porta all'IBM HTTP Server in modo tale che si
   possano far funzionare entrambi i server Web simultaneamente se
   necessario.

   Segue un esempio di valori nel httpd.conf.
ServerName 192.168.0.4
Listen 3000

  Verifica dell'installazione

   Per lanciare l'IBM HTTP Server, digitare come segue:
/opt/IBMHTTPServer/bin/apachectl start

   Per verificare che l'IBM HTTP Server è installato e funzionante sul
   computer in uso, aprire il browser web e inserire lo URL:
   "http://192.168.0.4:3000" sostituendo il corretto indirizzo IP e numero
   di porta effettivamente inseriti nel httpd.conf.

   Si dovrebbe vedere una pagina web il cui effetto sia "Welcome to the
   IBM HTTP Server". Congratulazioni, si è installato, configurato e
   verificato un ambiente per l'IBM HTTP Server per Linux.

  Maggiori informazioni

   Per maggiori informazioni, si suggerisce di guardare le pagine del
   supporto per l'IBM HTTP Server all'indirizzo:
   [29]http://www-4.ibm.com/software/webservers/httpservers/support.html.

3.4 Jetty HTTP Server e contenitore Servlet

  Generalità

   Jetty è un HTTP Servlet Server open source scritto in Java al 100%. E\:
   sia un server HTTP/1.1 completo che un contenitore di Servlet. È stato
   progettato per essere leggero, molto performante, integrabile,
   estensibile e flessibile, facendone una piattaforma ideale per servire
   richieste HTTP dinamiche da qualsiasi applicazione Java.

   Jetty può essere usato come server HTTP e contenitore di servlet
   indipendente ovvero può essere usato integrato in un'altra applicazione
   Java (ed esempio il contenitore di EJB JBoss stà usando Jetty come sua
   soluzione preferita per server e contenitore).

   L'unione di server e di contenitore di servlet consente di eseguire
   entrambe queste funzioni in un singolo processo unix. Anche
   l'installazione e la configurazione è più semplice perché si tratta di
   una singola applicazione.

  Download

   Il Jetty HTTP Server e Servlet container p�ò essere scaricato via:

   [30]http://jetty.mortbay.org.

   Jetty è distribuito sotto la Artistic License, i sorgenti completi sono
   inclusi e può essere usata e distribuita commercialmente.

  Installazione

   Il pacchetto è distribuito come un file tar compresso con gzip, che può
   essere spacchettato con:
gunzip < Jetty-x.x.x.tgz | tar xf -

   Che creerà una directory Jetty-x.x.x dove x.x.x è il numero della
   versione.

   Per eseguire il server demo:
export JETTY_HOME=<jetty install directory>
export JAVA_HOME=<JRE install directory>
$JETTY_HOME/bin/jetty.sh run

   Quindi per vedere il demo ed il tutorial di Jetty far puntare il
   browser a [31]http://localhost:8080.

   Jetty può essere installato ed eseguito via JMX o come parte della
   distribuzione di JBoss. Vedere [32]http://jetty.mortbay.org o il file
   README.TXT per maggiori dettagli.

4. Come predisporre il supporto per le Servlet Java

   Ci sono parecchi plug-in per server Web e e per Application Server
   disponibili per Linux che forniscono il supporto per le servlet Java.
   Tra questi sono inclusi:
     * [33]Allaire JRun
     * [34]Apache Tomcat
     * [35]BEA WebLogic
     * [36]Enhydra
     * [37]Locomotive
     * [38]IBM Websphere
     * [39]Jetty

4.1 Allaire JRun

   Da scrivere.

   Vedere [40]http://www.allaire.com/products/jrun/per maggiori
   informazioni.

4.2 Apache Tomcat

  Generalità

   JServ è stato sostituito con Tomcat dal progetto Apache Jakarta:
   [41]http://jakarta.apache.org/. Questa sezione è ancora scritta per
   JServ e ha necessità di essere aggiornata.

   Apache JServ è un motore servlet al 100% Java, completamente conforme
   alle specifiche Java Servlet 2.0. Apache JServ è parte del progetto
   Java Apache (dal sito web Apache Java Project).

  Download

   Apache JServ può essere ottenuto da
   [42]http://java.apache.org/jserv/index.html.

   Dalla home page del progetto Apache JServ, seguire il collegamento
   Download Apache JServ.

   Attualmente sono disponibili distribuzioni in formato RPM per RedHat
   Linux. Per altre distribuzioni Linux bisogna fare il build dei
   sorgenti. Il seguente esempio descrive come installare l'RPM per RedHat
   6x.

   Al momento dell'estensione di questo documento, la versione corrente è
   la 1.1b3.

  Installazione

   Suggerirei di installare i file nella directory /usr/local. Dopo aver
   scaricato i file eseguire:
mkdir /usr/local/apachejserv
mv ApacheJServ*.rpm /usr/local/apachejserv

   Per la RedHat e le distribuzioni derivate dalla RedHat usare il RedHat
   Package Manager (RPM)per installare i file rpm con:
rpm -i ApacheJServ-1.1-b2_RH6x.i386.rpm

   L'esempio di cui sopra mostra la versione 1.1-b2 per la RedHat 6x su
   architettura Intel.

  Predisporre l'ambiente

   È necessario fermare Apache, impostare le variabili d'ambiente di Java,
   e riavviare Apache per registrare Apache JServ.

   Per fermare Apache digitare:
cd /etc/rc.d/init.d
./httpd stop

   Nota: lo script httpd usato al momento del boot può essere in una
   posizione differente su altre distribuzioni Linux.

   Per predisporre l'ambiente Java, vedere la sezione Come installare il
   JDK di questo documento specifica per il JDK effettivamente in uso. È
   necessario impostare molte proprietà nel file jserv.properties
   installato in /etc/httpd/conf/jserv. Nello specifico, cercare:
     * wrapper.bin - per far riferimento al JDK installato
     * wrapper.classpath - che al minimo deve includere
       /usr/lib/apache/ApacheJServ.jar e
       /home/httpd/classes/servlet-2.0.jar
     * bindaddress=localhost
     * port=8007

   Per riavviare Apache digitare:
cd /etc/rc.d/init.d
./httpd start

  Verifica dell'installazione

   Per verificare che Apache JServ sia installato e funzionante sul
   computer in uso, aprire il browser, e inserire lo URL:
   "http://127.0.0.1/servlet/IsItWorking" sostituendo l'indirizzo IP con
   quello corretto qualora si stesse navigando da un'altra macchina.

   Si dovrebbe vedere un'altra pagina web che abbia l'effetto di "Yes,
   It's Working!". Contratulazioni, si è installato, predisposto e
   verificato un ambiente per Apache JServ per Linux.

   Per maggiore assistenza, suggerirei di vedere il sito web di Apache
   JServ all'indirizzo:

   [43]http://java.apache.org/jserv/index.html.

   Ora, per compilare ed eseguire le proprie servlet inserire il seguente
   programma Java che fa uso di servlet.
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorldServlet extends HttpServlet {
  public void service (HttpServletRequest request,
    HttpServletResponse response) throws ServletException, IOException {
  }
}

  Maggiori informazioni

   Per maggiori informazioni, suggerirei di guardare il sito web di Java
   Apache Project all'indirizzo [44]http://java.apache.org/.

4.3 BEA WebLogic

   Si veda [45]BEA WegLogic di seguito.

4.4 Enhydra

   Da scrivere.

   Vedere [46]http://www.enhydra.orgper maggiori informazioni.

4.5 IBM WebSphere

   Da scrivere.

   Vedere [47]http://www-4.ibm.com/software/webservers/appserv/linux.html
   per maggiori informazioni.

4.6 Locomotive

   Da scrivere.

   Vedere [48]http://www.locomotive.org/ per maggiori informazioni.

4.7 Jetty

   Il server HTTP Jetty è un server HTTP ed un contenitore di servlet
   combinati. L'installazione del server HTTP (vedere sopra) fornisce il
   supporto alle servlet. Maggiori informazioni possono essere ottenute
   attraverso il server demo e il tutorial installato con il server HTTP.

5. Come predisporre il supporto delle Java Server Pages (JSP)

   Da scrivere.

5.1 Apache Jakarta

   Da scrivere.

   Vedere [49]http://jakarta.apache.com/ per maggiori informazioni.

5.2 Caucho Resin

   Da scrivere.

   Vedere [50]http://www.caucho.com/ per maggiori informazioni.

5.3 Jetty

   Il Jetty HTTP server viene fornito con il motore JSP Jasper.
   L'installazione del server HTTP (vedere 3.4 sopra) fornisce il supporto
   a JSP. Maggiori informazioni possono essere ottenute attraverso il
   server demo e il tutorial installato con il server HTTP.

6. Come predisporre il supporto per JDBC

   Ci sono diversi database che funzionano su Linux che supportano anche
   un'interfaccia JDBC. Tra questi sono inclusi:
     * [51]IBM DB2
     * [52]MiniSQL
     * [53]MySQL
     * [54]Oracle
     * [55]PostgreSQL
     * [56]Sybase

   Se si volesse provare solo un DBMS, suggerirei inizialmente di provare
   PostgreSQL, principalmente perché è presente nella maggior parte delle
   maggiori distribuzioni Linux ed è probabile che sia già installato, e
   forse funzionante, nel sistema in uso.

6.1 IBM DB2

   Da scrivere.

   Vedere [57]http://www-4.ibm.com/software/data/db2/linux/ per maggiori
   informazioni.

6.2 MiniSQL

   Da scrivere.

   Vedere [58]http://www.hughes.com.au/ per maggiori informazioni.

6.3 MySQL

   Da scrivere.

   See [59]http://www.mysql.org/ per maggiori informazioni.

6.4 Oracle

   Da scrivere.

   Vedere [60]http://platforms.oracle.com/linux/

6.5 PostgreSQL

  Generalità

   PostgreSQL è un sofisticato DBMS relazionale ad oggetti, ammette quasi
   tutti i costrutti SQL, inclusi subselect, transazioni, tipi e funzioni
   definite dall'utente. È il più avanzato database open-source
   disponibile. È anche disponibile il supporto commerciale di PostgreSQL,
   Inc. La versione attuale è la 6.5.3 ed è disponibile da uno qualsiasi
   dei tanti siti mirror o su CD (dal sito web di PostgreSQL).

   PostgreSQL potrebbe essere già contenuto nella distribuzione Linux in
   uso per via della sua licenza open source.

  Download ed installazione

   Piuttosto che scaricare da PostgreSQL, suggerirei inizialmente di
   provare il PostgreSQL che molto probabilmente è fornito con la
   distribuzione Linux in uso.

   In alternativa, PostgreSQL può essere ottenuto da
   [61]http://www.postgresql.org.

   Per verificare che PostgreSQL sia installato sul computer in uso
   digitare:
rpm -qa | grep postgresql

   o
which postmaster
which psql

   Per usare Java con PostgreSQL \ necessario che i pacchetti postgresql,
   postgresql-server e postgresql-java siano installati.

   Accertarsi che PostgreSQL sia in esecuzione. Digitare:
ps -f -u postgres

   Si dovrebbe vedere postmaster, il demone di PostgreSQL, attivo.

   Se postmaster non fosse attivo, ci sarà probabilmente uno script Sys V
   Init che può essere usato per avviarlo. In molte distribuzioni è
   localizzato in /etc/rc.d/init.d. Per lanciare PostgreSQL, digitare:
cd /etc/rc.d/init.d
./postgresql start

   Si può usare il comando "ps" di cui sopra per avere una conferma che
   PostgreSQL è in esecuzione.

   Nota: per usare il JDBC, PostgreSQL necessita di essere lanciato con il
   parametro '-i' che indica l'uso di connessioni TCP/IP piuttosto che
   solamente socket di dominio UNIX. Verificare che postmaster sia stato
   lanciato con il parametro '-i'.

   Creare un database di test digitando:
su - postgres
createdb javatest

   Non si dovrebbe vedere alcun messaggio di errore.

   Creare una tabella di test con una riga di test. Prima, accedere allo
   strumento interattivo PostgreSQL e collegarsi al database javatest
   appena creato digitando (come utente postgres):
psql javatest

   Si dovrebbe vedere confermato il fatto di essere connessi al database:
   javatest.

   Poi, creare la tabella di test digitando (all'interno di psql):
create table test (col1 varchar(255));

   Si dovrebbe vedere il messaggio di conferma del comando "CREATE".

   Quindi, inserire una riga digitando (all'interno di psql):
insert into test (col1) values ('Hello, from PostgreSQL!');

   Si dovrebbe vedere il messaggio di conferma del comando "INSERT".

   Finalmente, verificare che la riga sia presente digitando (all'interno
   di psql):
select col1 from test;

   Si dovrebbe vedere la riga appena creata.

   Si può uscire da psql digitando "\q".

   Per maggiore assistenza nel lavoro con PostgreSQL, suggerirei di
   leggere a fondo il documento Database-SQL-RDBMS HOW-TO per Linux
   (PostgreSQL Object Relational Database System) all'indirizzo:
   [62]http://metalab.unc.edu/mdw/HOWTO/PostgreSQL-HOWTO.html.

   È necessario aggiungere il JAR appropriato nel CLASSPATH. I JAR di
   PostgreSQL vengono forniti con il pacchetto postgresql-jdbc.
export CLASSPATH=$CLASSPATH:/usr/lib/pgsql/jdbc6.5-1.2.jar

   Si potrebbe aver bisogno di sostituire il percorso a seconda di dove è
   stato installato PostgreSQL sul sistema in uso.

  Verifica dell'installazione

   Si è ora in grado di compilare ed eseguire una semplice applicazione
   JDBC che usi PostgreSQL. Creare il seguente programma.
import java.sql.*;

class PostgreSQLTest {
  public static void main (String[] args) {
    try {
      Driver driver = (Driver)
        Class.forName("postgresql.Driver").newInstance();
      DriverManager.registerDriver(driver);

      String     url = "jdbc:postgresql:javatest";
      Connection con = DriverManager.getConnection(url, "postgres", "");
      Statement  stm = con.createStatement();

      stm.setQueryTimeout(10);
      ResultSet  rs  = stm.executeQuery("select col1 from test");

      rs.next();

      System.out.println(rs.getString(1));

    } catch (SQLException e) {

      System.out.println("Exception!");
      System.out.println(e.toString());
  }
}

   Compilare il programma con il compilatore Java.
javac PostgreSQLTest.java

   Se il compilatore dovesse produrre errori, controllare la sintassi e
   verificare il PATH e la CLASSPATH.

   Eseguire il programma con la JVM.
java PostgreSQLTest

   Se la JVM dovesse produrre errori, verificare il PATH e la CLASSPATH.

   Si dovrebbe vedere l'output:
Hello, from PostgreSQL!

   Congratulazioni, si è installato, configurato e provato un ambiente per
   l'interfaccia JDBC verso PostgreSQL.

  Maggiori informazioni

   Per maggiori informazioni, suggerirei di esaminare a fondo il sito web
   di PostgreSQL all'indirizzo

   [63]http://www.postgresql.org/.

6.6 Sybase

  Generalità

   Sybase Adaptive Server Enterprise è un RDBMS commerciale che è
   disponibile per il sistema operativo Linux. Per quanto Sybase abbia
   recentemente rilasciato la versione 12.0, la versione disponibile per
   Linux è la 11.9.2.

   Secondo il sito web di Sybase, "Con il port di ASE su Linux, Sybase ha
   dato alla comunità di sviluppo di Linux il primo motore di database ad
   alta scalabilità ad alte prestazioni per la piattaforma. Il pacchetto
   include le caratteristiche standard dell'Adaptive Server Enterprise e
   di tutti i componenti di connettività relativi. La versione 11.9.2 è
   offerta per sviluppo LIBERO".

  Download

   Sybase ASE può essere ottenuto da
   [64]http://www.sybase.com/products/databaseservers/linux/linux1192_reg.
   html.

   Per poter effettuare il download è necessario registrarsi presso il
   sito web di Sybase ed accettare i termini della licenza online.

   Il driver JDBC di Sybase JDBC può essere ottenuto da
   [65]http://www.sybase.com/products/internet/jconnect/.

   Selezionare download jConnect 4.2/5.2.

   Se si ha accesso ad un server Sybase in rete, è sufficiente scaricare
   ed installare il solo driver JDBC.

  Installazione

   L'installazione di Sybase va oltre lo scopo di questo HOWTO. Questo
   HOWTO assume che Sybase sia stato installato e configurato
   correttamente e che si acceda a Sybase utilizzando isql.

   Accedere ad isql come sa e creare un utente di test ed un database di
   test digitando:

create database javatest
go
sp_addlogin javatest, javatest, javatest
go
use javatest
go
sp_dbowner javatest
go

   Non si dovrebbero vedere errori.

   Creare una tabella di test con una riga di test. Prima, accedere ad
   isql con l'utente di test javatest e digitare:
create table test (col1 varchar(255))
go

   Non si dovrebbe vedere alcun messaggio di errore.

   Poi, inserire una riga digitando:
insert into test (col1) values ('Hello, from Sybase!')
go

   Non si dovrebbe vedere alcun messaggio di errore.

   Alla fine, verificare che la riga sia presente digitando:
select col1 from test
go

   Si dovrebbe vedere la riga appena creata.

   Si può uscire da isql digitando "exit".

   Per maggiori informazioni su come lavorare con Sybase, esaminare la
   documentazione che può essere scaricata con Sybase.

   Potrebbe essere necessario aggiungere gli appropriati JAR al CLASSPATH.
export CLASSPATH=$CLASSPATH:/usr/local/sybase/jConnect-5_2/classes/jconn2.jar

   Potrebbe essere necessario sostituire il percorso in base a dove si è
   installato jConnect.

  Verifica dell'installazione

   Si è ora in grado di compilare ed eseguire una semplice applicazione
   JDBC che usi PostgreSQL. Creare il seguente programma.
import java.sql.*;

class SybaseTest {
  public static void main (String[] args) {
    try {
      Driver driver = (Driver)
        Class.forName("com.sybase.jdbc2.jdbc.SybDriver").newInstance();
      DriverManager.registerDriver(driver);

      String     host = "127.0.0.1";
      String     port = "4100";

      String     url = "jdbc:sybase:Tds:" + host + ":" + port;
      Connection con = DriverManager.getConnection(url, "javatest", "javatest")
;
      Statement  stm = con.createStatement();

      stm.setQueryTimeout(10);
      ResultSet  rs  = stm.executeQuery("select col1 from test");

      rs.next();

      System.out.println(rs.getString(1));

    } catch (SQLException e) {

      System.out.println("Exception!");
      System.out.println(e.toString());
  }
}

   Sarà necessario sostituire l'host e il numero della porta del server
   Sybase in modo appropriato. Vedere il contenuto di $SYBASE/interfaces e
   $DSQUERY per quali valori usare per l'host ed il numero di porta.

   Compilare il programma con il compilatore Java.
javac SybaseTest.java

   Se il compilatore dovesse produrre errori, controllare la sintassi e
   verificare il PATH e la CLASSPATH.

   Eseguire il programma con la JVM.
java SybaseTest

   Se la JVM dovesse produrre errori, verificare il PATH e la CLASSPATH.

   Si dovrebbe vedere il seguente output:
Hello, from Sybase!

   Congratulazione, si è installato, configurato e provato un ambiente per
   l'interfaccia JDBC verso Sybase.

  Maggiori informazioni

   Per maggiori informazioni, suggerirei di guardare a fondo il sito web
   dedicato a jConnect di Sybase all'indirizzo
   [66]http://www.sybase.com/products/internet/jconnect/.

7. Come predisporre il supporto degli Enterprise Java Bean (EJB)

   Da scrivere.

7.1 BEA WebLogic

   Da scrivere.

   Vedere [67]http://www.beasys.com/linux/ per maggiori informazioni.

7.2 EJBoss

  Generalità

   EJBoss è stato rinominato JBoss ed è molto progredito con rilasci
   stabili conformi a J2EE all'indirizzo [68]http://www.jboss.org/.

   Questa sezione è stata scritta quando ancora era EJBoss 0.95 e richiede
   un aggiornamento.

  Download

   JBoss può essere scaricato dal sito web di JBoss all'indirizzo
   [69]http://www.jboss.org/.

  Installazione

   Suggerirei di installare i file nella directory /usr/local. Dopo il
   download eseguire:
mkdir /usr/local/ejboss
mv ejboss* /usr/local/ejboss

   Spacchettare il file:
jar xvf ejboss095_jdk122.jar

   Si dovrebbero vedere diversi file e directory creati sotto
   /usr/local/ejboss.

   L'esempio di cui sopra mostra EJBoss 0.95 per il JDK 1.2.2. Sostituire
   i nomi dei file in modo appropriato.

  Predisposizione dell'ambiente

   Le variabili d'ambiente da impostare sono:
     * CLASSPATH

   La variabile d'ambiente CLASSPATH fa riferimento a tutti i JAR ed a
   tutte le directory che sono necessari per compilare ed eseguire i
   programmi Java.

   Includere i JAR di EJBoss e la directory beans/generated nel CLASSPATH.
export CLASSPATH=/usr/local/ejboss/lib/ejboss095_jdk122.jar:/usr/local/ejboss/b
eans/generated:$CLASSPATH

  Verifica dell'installazione

   Si � ora in grado di compilare ed eseguire una semplice applicazione
   EJB. Creare i tre seguenti file sorgenti per il server.

   Primo, l'interfaccia di business.
// EJBTest.java

import javax.ejb.*;
import java.rmi.RemoteException;

public
 interface EJBTest extends EJBObject {
  public String greet() throws
 RemoteException;

}

   Secondo, la home interface.
// EJBTestHome.java

import javax.ejb.*;
import java.rmi.RemoteException;

public
 interface EJBTestHome extends EJBHome {

  public EJBTest create() throws

   CreateException, RemoteException;
}

   Terzo, la classe che implementa il bean.
// EJBTestBean.java

import javax.ejb.*;
import java.rmi.RemoteException;

public
 interface EJBTestBean implements SessionBean {

  private SessionContext
 mContext = null;

  public void ejbPassivate() {
    System.out.println("EJBTestBean
 passivated.");
}

  public void ejbActivate() {
    System.out.println("EJBTestBean
 activated.");
}

  public void ejbCreate() {
    System.out.println("EJBTestBean
 created.");
}

  public void ejbRemove() {
    System.out.println("EJBTestBean
 removed.");
}

  public void setSessionContext() {
    System.out.println("EJBTestBean
 context set.");
    mContext = context;
}

  public String greet()
 {
    return "Hello, I'm an EJB!";
}

}

   Compilare i file sorgenti per il server con il compilatore Java:
javac EJBTest*.java

   Se il compilatore dovesse produrre errori, verificare la sintassi e
   verificare il PATH ed il CLASSPATH.

   Ora che si è scritto e compilato con successo i file sorgenti per il
   server, vanno rilasciati i bean su EJBoss. La distribuzione di un bean
   su EJBoss richiede parecchi passi che devono essere eseguiti
   esattamente.

   Primo, creare il file ejb-jar.xml.
<?xml version="1.0" encoding="Cp1252"?>



<ejb-jar ID="">

     <description></description>

     <display-name></display-name>

     <small-icon></small-icon>

     <large-icon></large-icon>

     <ejb-client-jar></ejb-client-jar>

     <enterprise-beans>

       <session>

         <description>Nextgen bean</description>

         <ejb-name>nextgen.EJBTest</ejb-name>

         <home>EJBTestHome</home>

         <remote>EJBTest</remote>

         <ejb-class>EJBTestBean</ejb-class>

         <session-type>Stateful</session-type>

         <transaction-type>Bean</transaction-type>

         <env-entry>

           <description></description>

           <env-entry-name></env-entry-name>

           <env-entry-type>java.lang.String</env-entry-type>

           <env-entry-value></env-entry-value>

         </env-entry>

         <resource-ref>

           <description></description>

           <res-ref-name></res-ref-name>

           <res-type></res-type>

           <res-auth>Container</res-auth>

         </resource-ref>

       </session>

     </enterprise-beans>

     <assembly-descriptor />

   </ejb-jar>

   Il file di cui sopra, che deve essere chiamato ejb-jar.xml, identifica
   i nomi delle classi e dell'interfaccia che si sono appena create oltre
   al nome dell'oggetto.

   Secondo, all'interno della directory dei file delle tre classi appena
   create, si crei una directory META-INF.
mkdir META-INF
mv ejb-jar.xml META-INF

   Terzo, si impacchettino tutti e quattro i file in un jar.
jar cvf EJBTest.jar EJBTest*.class META-INF/ejb-jar.xml

   Si deve fare attenzione che venga aggiunto anche il manifesto oltre che
   i tre file delle classi e il file XML che descrive la distribuzione.

   Quarto, posizionare il JAR appena creato nella directory dei beans in
   EJBoss.
mv EJBTest.jar /usr/local/ejboss/beans

   Quinto, spostare i file delle classi creati nella directory
   beans/generated di EJBoss.
mv EJBTest*.class /usr/local/ejboss/beans/generated

   (questo quinto passo è ridondante a causa di un baco in EJBoss 0.95 )

   Si è ora in grado di attivare il server EJBoss.

cd /usr/local/ejboss

sh server.sh

   Si dovrebbe poter vedere i file proxy compilati automaticamente e la
   conferma che l'EJB è stato distribuito.

   Si è ora in grado di scrivere, compilare e provare una sempice
   applicazione client.

7.3 Bullsoft JOnAS EJB

   Da scrivere.

   Vedere [70]http://www.bullsoft.com/ejb/per maggiori informazioni.

References

   1. mailto:gary@meyer.net
   2. mailto:gregw@mortbay.org
   3. http://linuxdoc.org/HOWTO/Enterprise-Java-for-Linux-HOWTO.html
   4. http://www.gnu.org/copyleft/fdl.html
   5. mailto:gary@meyer.net
   6. http://www.app-serv.com/
   7. http://www.oreilly.com/catalog/jentnut/
   8. mailto:gary@meyer.net
   9. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: blackdown
  10. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: ibmjdk
  11. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: j2se
  12. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: kaffe
  13. http://www.blackdown.org/
  14. http://www.blackdown.org/
  15. http://www.ibm.com/java/jdk/118/linux
  16. http://www.ibm.com/java
  17. http://www.kaffe.org/
  18. http://www.kaffe.org/
  19. http://developer.java.sun.com/developer/earlyAccess/j2sdk122
  20. http://java.sun.com/
  21. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: apache
  22. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: domino
  23. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: ibmhttp
  24. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: jetty
  25. http://www.apache.org/
  26. http://www.apache.org/docs/misc/FAQ.html
  27. http://www.lotus.com/dominolinux
  28. http://www-4.ibm.com/software/webservers/httpservers/download.html
  29. http://www-4.ibm.com/software/webservers/httpservers/support.html
  30. http://jetty.mortbay.org/
  31. http://localhost:8080/
  32. http://jetty.mortbay.org/
  33. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: jrun
  34. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: jserv
  35. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: weblogicservlet
  36. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: enhydra
  37. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: locomotive
  38. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: websphere
  39. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: jettyservlet
  40. http://www.allaire.com/products/jrun/
  41. http://jakarta.apache.org/
  42. http://java.apache.org/jserv/index.html
  43. http://java.apache.org/jserv/index.html
  44. http://java.apache.org/
  45. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: weblogic
  46. http://www.enhydra.org/
  47. http://www-4.ibm.com/software/webservers/appserv/linux.html
  48. http://www.locomotive.org/
  49. http://jakarta.apache.com/
  50. http://www.caucho.com/
  51. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: db2
  52. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: minisql
  53. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: mysql
  54. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: oracle
  55. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: postgresql
  56. file://localhost/home/giulio/ILDP/Enterprise-Java-for-Linux-HOWTO/Enterprise-Java-for-Linux-HOWTO.html#sec: sybase
  57. http://www-4.ibm.com/software/data/db2/linux/
  58. http://www.hughes.com.au/
  59. http://www.mysql.org/
  60. http://platforms.oracle.com/linux/
  61. http://www.postgresql.org/
  62. http://metalab.unc.edu/mdw/HOWTO/PostgreSQL-HOWTO.html
  63. http://www.postgresql.org/
  64. http://www.sybase.com/products/databaseservers/linux/linux1192_reg.html
  65. http://www.sybase.com/products/internet/jconnect/
  66. http://www.sybase.com/products/internet/jconnect/
  67. http://www.beasys.com/linux/
  68. http://www.jboss.org/
  69. http://www.jboss.org/
  70. http://www.bullsoft.com/ejb/