< Précédent | Suivant >

Leçon 2 : Développement d'un EJB

Au cours de cette leçon, vous créez un bean session, développez une interface locale, et développez la classe d'implémentation du bean. Vous pouvez également utiliser la boîte de dialogue de gestion des exportations EJB pour exposer l'EJB en tant que service OSGi.

Création d'un bean session EJB 3.0 à l'aide de l'assistant

Dans cette section, vous créez un bean session et spécifiez l'interface locale.
  1. Ouvrez l'assistant de bean session. Dans le projet EJB, cliquez avec le bouton droit sur ejbModule et sélectionnez Nouveau > Bean de session (EJB 3.x).
  2. Créez le bean. Entrez les valeurs suivantes dans l'assistant :
    Projet
    EJB
    Package Java™
    com.ibm.example.impl
    Nom de classe
    EJBConverter
    Type d'état
    Sans état
    Locale
    Cochez la case Local et entrez la valeur suivante : com.ibm.example.EJBConverterLocal
    Vue sans interface
    Décochez Vue sans interface
    Créer un bean session EJB 3.x
    Note: L'application développée dans ce tutoriel utilise une interface locale. Si vous souhaitez utiliser des interfaces distantes, cochez la case Distant dans l'assistant, puis développez l'interface correspondante. Les recherches JNDI d'interfaces distantes fonctionnent différemment. Avec les interfaces distantes, ajustez le code de recherche. La leçon suivante propose un exemple.
  3. Cliquez sur Terminer. Le bean session est créé et la classe s'ouvre dans l'éditeur.

Développement de l'interface locale

Lorsque vous avez créé le bean session, l'interface EJBConverterLocal a été créée dans le projet EJBClient. Dans cette section, vous ajoutez deux méthodes à l'interface. Les méthodes décrivent les opérations de conversion de température de base.
  1. Ouvrez l'interface EJBConverterLocal. Dans le projet EJBClient, développez le dossier ejbModule et le package com.ibm.example. Cliquez deux fois sur l'interface EJBConverterLocal. L'interface s'ouvre dans l'éditeur.
  2. Ajoutez des méthodes à l'interface. Ajoutez les méthodes suivantes à l'interface :
    public double convertToFahrenheit(double celsius);
    public double convertToCelsius(double fahrenheit);
    Le code suivant en résulte :
    package com.ibm.example;
    
    public interface EJBConverterLocal {
    
       public double convertToFahrenheit(double celsius);
    
       public double convertToCelsius(double fahrenheit);
    
    }
  3. Sauvegardez les modifications. Notez que lorsque vous sauvegardez le fichier d'interface, les erreurs s'affichent pour la classe EJBConverter car elle n'a pas encore implémenté les méthodes que vous avez ajoutés à l'interface.

Développement de la classe d'implémentation

Dans cette section, vous implémentez les méthodes de conversion des températures qui sont requises par l'interface locale.
  1. Ouvrez la classe EJBConverter. Dans le projet EJB, développez le dossier ejbModule et le package com.ibm.example.impl. Cliquez deux fois sur la classe EJBConverter. La classe s'ouvre dans l'éditeur.
  2. Supprimez le constructeur par défaut.
  3. Ajoutez les implémentations pour les deux méthodes vous avez ajoutées à l'interface EJBConverterRemote. Ajoutez les implémentations de méthode suivantes à la classe :
    public double convertToCelsius(double fahrenheit) {
       return (fahrenheit - 32) * (5 / 9d);
    }
    
    public double convertToFahrenheit(double celsius) {
       return celsius * (9 / 5d) + 32;
    }
    La classe terminée a l'apparence du code suivant. Notez que le code original généré par l'assistant contient une annotation, @Stateless, et une annotation, @Local, qui indique l'interface locale entrée dans l'assistant de bean session.
    package com.ibm.example.impl;
    
    import com.ibm.example.EJBConverterLocal;
    import javax.ejb.Local;
    import javax.ejb.Stateless;
    
    @Stateless
    @Local(EJBConverterLocal.class)
    public class EJBConverter implements EJBConverterLocal {
    
       public double convertToCelsius(double fahrenheit) {
          return (fahrenheit - 32) * (5 / 9d);
       }
    
       public double convertToFahrenheit(double celsius) {
          return celsius * (9 / 5d) + 32;
       }
    }
  4. Sauvegardez les modifications.

Exposition d'un EJB en service OSGi

Par défaut, les EJB que vous ajoutez à un projet OSGi avec support EJB sont automatiquement présentés comme des services OSGi. L'exposition des services OSGi est contrôlée via l'en-tête Export-EJB du manifeste OSGi. Dans cette section, vous vérifiez le manifeste et utilisez la boîte de dialogue de gestion des exportations EJB pour confirmer que EJBConverter est présenté en service OSGi.
  1. Ouvrez le manifeste. Dans le projet EJB, cliquez deux fois sur Manifest:EJB. Le manifeste s'ouvre. Cliquez sur l'onglet MANIFEST.MF pour afficher le fichier au format texte. Notez qu'il y a un en-tête Export-EJB avec une entrée pour l'EJB EJBConverter. Notez que vous pouvez gérer les exportations EJB en ajoutant manuellement les entrées à l'en-tête Export-EJB. Les EJB peuvent être ajoutés sous la forme d'une liste séparée par des virgules.
    Note: Il existe deux cas particuliers de l'en-tête Export-EJB à prendre en considération :
    AUCUNE
    Si vous spécifiez NONE en entrée pour l'en-tête Export-EJB, aucun EJB n'est exposé en services. Si vous spécifiez NONE, mais ajoutez également un EJB à la liste, un avertissement est affiché par les outils.
    BLANK
    Si vous avez un en-tête Export-EJB dans le manifeste, mais qu'il n'y a pas d'entrées, tous les EJB du projet sont présentés par défaut comme des services.
  2. Ouvrez la boîte de dialogue de gestion des exportations EJB. Cliquez avec le bouton droit sur le projet EJB et sélectionnez OSGi > Exposer les EJB comme des services OSGi. La boîte de dialogue de gestion des exportations EJB s'ouvre. Dans la boîte de dialogue, vérifiez que la case en regard d'EJBConverter est cochée, puis cliquez sur OK. Vous pouvez utiliser cette boîte de dialogue dans vos projets pour ajouter et retirer des EJB exposés en tant que services. La modification des EJB sélectionnés dans cette boîte de dialogue modifie les entrées dans l'en-tête Export-EJB du manifeste.
    Boîte de dialogue de gestion des exportations EJB
    Note: Si vous créez de nouveaux EJB dans le projet, ils sont automatiquement exposés en services OSGi. Vous pouvez utiliser la boîte de dialogue de gestion des exportations EJB pour désélectionner les EJB que vous ne souhaitez pas exposer.
< Précédent | Suivant >
Icône indiquant le type de rubrique Rubrique de leçon de tutoriel
Dispositions pour les centres de documentation | Commentaires en retour

Icône d'horodatage Dernière mise à jour: May 29, 2014 10:11

Nom de fichier : osgi_ejb_2.html