24.  Java Server Faces et Eclipse 26.  Les services web et Eclipse Imprimer Sommaire Consulter avec table des matières Développons en Java avec Eclipse   v 0.80  
Copyright (C) 2003-2007 Jean-Michel DOUDOUX   

 

25. EJB et Eclipse

 

chapitre 2 5

 

Eclipse en standard ne propose aucune fonctionnalité particulière pour développer des EJB. Il est cependant possible d'utiliser un plug-in pour faciliter le développment des EJB. C'est notamment le cas du plug-in WTP.

Ce chapitre contient plusieurs sections :

 

25.1. Le développement d'EJB avec le plug-in WTP 1.5

Le plug-in WTP 1.5 propose des assistants et l'utilisation de XDoclet pour développer des EJB en version 2.1.

Cette section va mettre en oeuvre les outils suivants sous Windows :

Outil

Version

Rôle

JDK

1.5.0_7

 

Eclipse

3.2

IDE

JBoss

4.0.4.GA

conteneur EJB

 

25.1.1. La création d'un projet de type EJB

Créez un nouveau projet de type « EJB / Projet EJB »

Cliquez sur le bouton « Suivant »

Saisissez le nom du projet, cochez la case « Ajouter à un fichier EAR »  et sélectionnez l'environnement d'exécution. Si aucun n'est défini cliquez sur le bouton « Nouveau ... ».

Sélectionnez le type de serveur « JBoss / JBoss v4.0 » dans l'exemple de cette section et cliquez sur le bouton « Suivant ».

Sélectionnez le répertoire contenant le JBoss en cliquant sur le bouton « Parcourir ».

cliquez sur le bouton « Terminer »

Cliquez sur le bouton « Suivant »

Cliquez sur le bouton « Suivant »

Cliquez sur le bouton « Terminer »

Cliquez sur « Oui » pour créer les projets

 


Trois projets sont créés

Une erreur est signalée sur le projet TestEJB si XDoclet n'est pas correctement configuré. Pour la corriger, il ouvrir les Préférences d'Eclipse.

Sélectionnez le répertoire d'installation de XDoclet et sa version

Cliquez sur le bouton « OK »

 

25.1.2. La création d'un EJB de type SessionBean stateless

Créez une nouvelle entité de type EJB / EJB XDoclet

Cliquez sur le bouton « Suivant »

Si XDoclet n'est pas correctement configuré, une erreur empêche la poursuite de l'assistant. Pour réaliser cette configuration, il suffit de cliquer sur le lien « Préférences »

L'assistant permet de sélectionner le type d'EJB à créer.

Sélectionnez le type et cliquez sur le bouton « Suivant »

Saisissez le package et le nom de la classe : il est recommandé de suffixer le nom de la classe par Bean.

Cliquez sur le bouton « Suivant »

La page suivante de l'assistant permet de préciser des informations sur l'EJB, cliquez sur le bouton « Suivant ».

Cliquez sur le bouton « Terminer ».

Les fichiers de base sont générés puis les autres fichiers sont générés grâce à un script Ant qui exécute XDoclet

Ouvrez la classe MonPremierEJBBean générée

Remplacez la méthode foo par la méthode afficher en saisissant son code :

Enregistrez le fichier modifié : le script est exécuté pour permettre à XDoclet de synchroniser les différents fichiers notamment l'interface MonPremierEJB. Le projet est ainsi composé des entités suivantes :

Le projet TestEJBClient comporte une erreur car la classe MonPremierEJB ne peut être résolue.

Il suffit dans ce cas de copier l'interface MonPremierEJB du projet TestEJB dans le projet TestClient.

Sélectionnez le projet TestEJBEAR et utilisez l'option « Exécuter en tant que / Exécuter sur le serveur »

Cochez la case « Définir le serveur comme serveur par défaut du projet » et cliquez sur le bouton « Suivant »

Cliquez sur le bouton « Suivant ».

Cliquez sur le bouton « Terminer ».

Ouvrez la vue « Serveur »

Sélectionnez le serveur JBoss et cliquez sur le bouton  ou sélectionnez l'option « Démarrer » du menu contextuel

La vue console affiche les informations lors du démarrage du serveur.

 

25.1.3. La création et l'exécution d'un client de test

Créez un nouveau projet de type Java nommé TestEJBApp.

Dans les propriétés du projet, sur l'onglet « Projets », cliquez sur le bouton « Ajouter »

Sélectionnez le projet TestEJBClient et cliquez sur le bouton « OK ».

Cliquez sur l'onglet « Bibliothèques »

Cliquez sur le bouton « Ajouter une bibliothèque ... ».

Sélectionnez « Environnement d'exécution du serveur » et cliquez sur le bouton « Suivant ».

Sélectionnez JBoss v4.0 et cliquez sur le bouton « Terminer ».

Cliquez sur le bouton « OK ».

Créez une nouvelle classe Java nommée TestEJBApp et saisissez son code :

Exemple :
package com.jmdoudoux.test.ejb.app;

import java.util.Hashtable;
import javax.naming.Context;
import com.jmdoudoux.test.ejb.MonPremierEJB;
import com.jmdoudoux.test.ejb.MonPremierEJBHome;
import com.jmdoudoux.test.ejb.MonPremierEJBUtil;

public class TestEJBApp {

  public static void main(String[] args) {
    Hashtable environment = new Hashtable();
    environment.put(Context.INITIAL_CONTEXT_FACTORY,
      "org.jnp.interfaces.NamingContextFactory");
    environment.put(Context.URL_PKG_PREFIXES,
      "org.jboss.naming:org.jnp.interfaces");
    environment.put(Context.PROVIDER_URL, "jnp://127.0.0.1:1099");
    MonPremierEJB monEJB = null;

    try {
      MonPremierEJBHome home = MonPremierEJBUtil.getHome(environment);
      monEJB = home.create();
      System.out.println(monEJB.afficher("test"));
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

Exécutez la classe en tant qu'application Java

Résultat :
Bonjour test

 

25.2. Le développement d'EJB avec le plug-in Lomboz 2.1

Le plug-in Lomboz propose des fonctionnalités pour faciliter le développement d'EJB dans un projet de type « Java / Lomboz J2EE Wizard / Lomboz J2EE Project ». La configuration de Lomboz et la créatino d'un tel projet est détaillé dans le chapitre "le développement avec J2EE".

Cette section va utiliser Lomboz avec JBoss.

 

Version utilisée dans cette section

Eclipse

2.1.2

J2RE

1.4.2_02

Lomboz 2.1.2
JBoss 3.0.6

 

25.2.1. La création un EJB de type Session

Il faut créer une nouvelle entité de type « Java / Lomboz J2EE Wizards / Lomboz EJB Creation Wizard ».

Cliquez sur le bouton « Suivant »

Sur la page suivante, il faut saisir le nom du package, le nom de l'EJB, sélectionner le type « Stateless Session EJB » ou « Statefull Session EJB » selon le type d'EJB session à créer et enfin cliquer sur le bouton « Fin ».

L'assistant génère un fichier source java contenant le squelette du code de l'implémentation de l'EJB. Le nom du fichier généré est constitué du nom de l'EJB et du sufixe Bean qui est automatiquement ajouté.

Exemple :
  package com.test.lomboz2.ejb;
  
  import javax.ejb.SessionBean;

  /**
   * @ejb.bean name="MonEJBSession1"
   *     jndi-name="MonEJBSession1Bean"
   *     type="Stateless"
  **/
  public abstract class MonEJBSession1Bean implements SessionBean { 
  }

Ce code contient un tag qui sera traiter par Xdoclet pour générer ou enrichir certains fichiers (l'interface Home du Bean, le fichier descripteur de déploiement et le fichier jboss.xml).

 

25.2.2. Ajouter une méthode à un EJB

Dans la vue « Packages », il faut sélectionner la classe d'implementation du Bean précédemment générée et utiliser l'option « Add EJB Method » du menu contextuel « Lomboz J2EE » ou utiliser l'option « Autre... » du menu contextuel « Nouveau ». Avec cette dernière possibilité, il faut sélectionner la création d'une entité de type « Lomboz EJB Method Wizard »

L'assistant permet de saisir la signature complète de la méthode, le type de méthode et dans quelle interface sera générée la méthode.

L'assistant génère le code suivant :

Exemple :
/**
 * @ejb.interface-method
 *    tview-type="remote" 
**/

public String monMessage(String nom){ 
 return null; 
}

Le tag dans les commentaires sera utilisé par Xdoclet pour la génération des fichiers nécessaire à l'EJB.

Il faut saisir le code des traitements de la nouvelle méthode.

Exemple :
  /** 
   * @ejb.interface-method 
   *  tview-type="remote"  
  **/ 
  public String monMessage(String nom) { 
    return "Bonjour " + nom; 
  } 

ajout de l'EJB à un module

Dans la vue « Package », sélectionner la classe du bean et utiliser l'option « Lomboz J2EE / Add EJB to Module »    

Sélectionner le module et cliquer sur « OK ».

 

25.2.3. La génération des fichiers des EJB

Avant de pouvoir déployer un ou plusieurs EJB, il faut demander à Lomboz de générer les fichiers nécessaires aux EJB grâce à Xdoclet et aux tags utiles insérer dans le code

Dans la vue « Lomboz », il faut utiliser sur le module EJB l'option « Generate EJB files ».

L'EJB est affichée dans la vue Lomboz.

Lomboz a généré tous les fichiers nécessaires au bean

 

25.2.4. Déploiement du module EJB

Dans la vue « Lomboz », sélectionner le module EJB concerné et utiliser l'option « Deploy ».

Le fichier testlomboz2EJB.jar est créé et enregistrer dans le répertoire server/default/deploy de JBOSS.

 


  24.  Java Server Faces et Eclipse 26.  Les services web et Eclipse Imprimer Sommaire Consulter avec table des matières Développons en Java avec Eclipse   v 0.80  
Copyright (C) 2003-2007 Jean-Michel DOUDOUX