< Anterior | Siguiente >

Lección 2: Desarrollar un EJB

En esta lección va a crear un bean de sesión, va a desarrollar una interfaz local y va a desarrollar la clase de implementación para el bean. Utilice también el diálogo para gestionar exportaciones EJB para exponer EJB como servicio OSGi.

Creación de un bean de sesión

En esta sección, va a crear un bean de sesión y a especificar la interfaz local.
  1. Abra el asistente del bean de sesión. En el proyecto EJB, pulse el botón derecho del ratón en ejbModule y seleccione Nuevo > Bean de sesión (EJB 3.x).
  2. Cree el bean. Escriba los valores siguientes en el asistente:
    Proyecto
    EJB
    Paquete Java™
    com.ibm.example.impl
    Nombre de clase
    EJBConverter
    Tipo de estado
    Sin estado
    Local
    Marque el recuadro de selección Local y escriba el valor siguiente: com.ibm.example.EJBConverterLocal
    Vista Sin interfaz
    Deseleccione Vista sin interfaz
    Cree el bean de sesión EJB 3.x
    Nota: La aplicación que se ha desarrollado en esta guía de aprendizaje utiliza una interfaz local. Si desea utilizar interfaces remotas, marque el recuadro de selección Remota en el asistente y, a continuación, desarrolle la interfaz correspondiente. Las búsquedas JNDI para interfaces remotas funcionan de forma diferente. Con interfaces remotas, ajuste el código de búsqueda. En la lección siguiente encontrará un ejemplo.
  3. Pulse Finalizar. Se crea el bean de sesión y se abre la clase en el editor.

Desarrollo de la interfaz local

Cuando ha creado el bean de sesión, se ha creado la interfaz EJBConverterLocal en el proyecto EJBClient. Es esta sección, va a añadir dos métodos a la interfaz. Los métodos describen las operaciones de conversión de temperatura básicas.
  1. Abra la interfaz EJBConverterLocal. En el proyecto EJBClient, expanda la carpeta ejbModule y el paquete com.ibm.example. Efectúe una doble pulsación en la interfaz EJBConverterLocal. La interfaz se abre en el editor.
  2. Añada métodos a la interfaz. Añada los métodos siguientes a la interfaz:
    public double convertToFahrenheit(double celsius);
    public double convertToCelsius(double fahrenheit);
    El código siguiente es el resultado:
    package com.ibm.example;
    
    public interface EJBConverterLocal {
    
       public double convertToFahrenheit(double celsius);
    
       public double convertToCelsius(double fahrenheit);
    
    }
  3. Guarde los cambios. Tenga en cuenta que cuando se guarda el archivo de la interfaz, se visualizan los errores para la clase EJBConverter porque todavía no se implementan los métodos que ha añadido a la interfaz.

Desarrollo de la clase de implementación

En esta sección, va a implementar los métodos de conversión de temperatura que necesita la interfaz local.
  1. Abra la clase EJBConverter. En el proyecto EJB, expanda la carpeta ejbModule y el paquete com.ibm.example.impl. Efectúe una doble pulsación en la clase EJBConverter. La clase se abre en el editor.
  2. Elimine el constructor predeterminado.
  3. Añada las implementaciones para los dos métodos que ha añadido a la interfaz EJBConverterRemote. Añada las siguientes implementaciones método a la clase:
    public double convertToCelsius(double fahrenheit) {
       return (fahrenheit - 32) * (5 / 9d);
    }
    
    public double convertToFahrenheit(double celsius) {
       return celsius * (9 / 5d) + 32;
    }
    La clase completada tiene un aspecto similar al código siguiente. Fíjese que el código original generado por el asistente contiene una anotación @Stateless y una anotación @Local que especifica la interfaz local que ha indicado en el asistente del bean de sesión.
    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. Guarde los cambios.

Exposición de un EJB como servicio OSGi

De forma predeterminada, los EJB que añada a un proyecto OSGi que tiene soporte EJB se exponen como servicios OSGi. La exposición de los servicios OSGi se controla a través de la cabecera Export-EJB en el manifiesto de OSGi. En esta sección, va a comprobar el manifiesto y a utilizar el diálogo de gestión de exportaciones EJB para confirmar que EJBConverter se ha expuesto como servicio OSGi.
  1. Abra el manifiesto. En el proyecto EJB, efectúe una doble pulsación en Manifiesto: EJB. Se abre el manifiesto. Pulse la pestaña MANIFEST.MF para ver el archivo en formato de texto. Tenga en cuenta que hay una cabecera Export-EJB con una entrada para EJBConverter de EJB. Tenga en cuenta que puede gestionar exportaciones EJB manualmente añadiendo entradas a la cabecera Export-EJB. Los EJB se pueden añadir como una lista separada por comas.
    Nota: Hay dos casos especiales de cabecera Export-EJB a tener en cuenta:
    NONE
    Si especifica NONE como entrada para la cabecera Export-EJB, no se expondrá ningún EJB como servicio. Si especifica NONE, pero también se añade un EJB a la lista, se visualizará un aviso mediante las herramientas.
    BLANK
    Si tiene una cabecera Export-EJB en el manifiesto, pero no hay entradas, todos los EJB del proyecto se exponen de forma predeterminada como servicio.
  2. Abra el diálogo de gestión de exportaciones EJB. Pulse el botón derecho del ratón en el proyecto EJB y seleccione OSGi > Exponer EJB como servicios OSGi. Se abrirá el diálogo de gestión de exportaciones EJB. En el diálogo, confirme que se ha seleccionado la casilla junto a EJBConverter EJB y pulse Aceptar. Puede utilizar este diálogo en sus proyectos para añadir y eliminar EJB que se exponen como servicios. Si cambia los EJB seleccionados en este diálogo, cambian las entradas a la cabecera Export-EJB en el manifiesto.
    Diálogo Gestionar exportaciones EJB
    Nota: Si crea EJB nuevos para el proyecto, se exponen automáticamente como servicios OSGi. Puede utilizar el diálogo de gestión de exportaciones EJB para borrar los EJB que no desee que se expongan.
< Anterior | Siguiente >
Icono que indica el tipo de tema Tema de lección de guía de aprendizaje
Términos y condiciones para centros de información | Comentarios

Icono de indicación de fecha y hora Última actualización: 22 de abril de 2014

Nombre de archivo: osgi_ejb_2.html