Avanti Indietro Indice

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

Da scrivere.

7.1 BEA WebLogic

Da scrivere.

Vedere 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 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 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:

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/beans/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 http://www.bullsoft.com/ejb/per maggiori informazioni.


Avanti Indietro Indice